uawdijnntqw1x1x1
IP : 216.73.216.231
Hostname : 213-108-241-110.cprapid.com
Kernel : Linux 213-108-241-110.cprapid.com 5.14.0-570.25.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 9 04:57:09 EDT 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
digilove
/
public_html
/
includes
/
..
/
41423
/
fields.tar
/
/
accesslevel.php000064400000004714152325744540007567 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_AccessLevel extends Field { public $type = 'AccessLevel'; public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $multiple = $attributes->get('multiple'); $options = $this->getOptions( (bool) $attributes->get('show_all'), (bool) $attributes->get('use_names') ); return $this->selectList($options, $name, $value, $id, $size, $multiple); } protected function getAccessLevels($use_names = false) { $value = $use_names ? 'a.title' : 'a.id'; $query = $this->db->getQuery(true) ->select($value . ' as value, a.title as text') ->from('#__viewlevels AS a') ->group('a.id') ->order('a.ordering ASC'); $this->db->setQuery($query); return $this->db->loadObjectList(); } protected function getInput() { $size = (int) $this->get('size'); $multiple = $this->get('multiple'); $show_all = $this->get('show_all'); $use_names = $this->get('use_names'); return $this->selectListAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'multiple', 'show_all', 'use_names') ); } protected function getOptions($show_all = false, $use_names = false) { $options = $this->getAccessLevels($use_names); if ($show_all) { $option = (object) []; $option->value = -1; $option->text = '- ' . JText::_('JALL') . ' -'; $option->disable = ''; array_unshift($options, $option); } return $options; } } agents.php000064400000010211152325744540006544 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Agents extends Field { public $type = 'Agents'; public function getAgents($group = 'os') { $agents = []; switch ($group) { /* Browsers */ case 'browsers': if ($this->get('simple') && $this->get('simple') !== 'false') { $agents[] = ['Chrome', 'Chrome']; $agents[] = ['Firefox', 'Firefox']; $agents[] = ['Edge', 'Edge']; $agents[] = ['Internet Explorer', 'MSIE']; $agents[] = ['Opera', 'Opera']; $agents[] = ['Safari', 'Safari']; break; } $agents[] = ['Chrome', 'Chrome']; $agents[] = ['Firefox', 'Firefox']; $agents[] = ['Microsoft Edge', 'MSIE Edge']; // missing MSIE is added to agent string in assignments/agents.php $agents[] = ['Internet Explorer', 'MSIE [0-9]']; // missing MSIE is added to agent string in assignments/agents.php $agents[] = ['Opera', 'Opera']; $agents[] = ['Safari', 'Safari']; break; /* Mobile browsers */ case 'mobile': $agents[] = [JText::_('JALL'), 'mobile']; $agents[] = ['Android', 'Android']; $agents[] = ['Android Chrome', '#Android.*Chrome#']; $agents[] = ['Blackberry', 'Blackberry']; $agents[] = ['IE Mobile', 'IEMobile']; $agents[] = ['iPad', 'iPad']; $agents[] = ['iPhone', 'iPhone']; $agents[] = ['iPod Touch', 'iPod']; $agents[] = ['NetFront', 'NetFront']; $agents[] = ['Nokia', 'NokiaBrowser']; $agents[] = ['Opera Mini', 'Opera Mini']; $agents[] = ['Opera Mobile', 'Opera Mobi']; $agents[] = ['UC Browser', 'UC Browser']; break; /* OS */ case 'os': default: $agents[] = ['Windows', 'Windows']; $agents[] = ['Mac OS', '#(Mac OS|Mac_PowerPC|Macintosh)#']; $agents[] = ['Linux', '#(Linux|X11)#']; $agents[] = ['Open BSD', 'OpenBSD']; $agents[] = ['Sun OS', 'SunOS']; $agents[] = ['QNX', 'QNX']; $agents[] = ['BeOS', 'BeOS']; $agents[] = ['OS/2', 'OS/2']; break; } $options = []; foreach ($agents as $agent) { $option = JHtml::_('select.option', $agent[1], $agent[0]); $options[] = $option; } return $options; } public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $options = $this->getAgents( $attributes->get('group') ); return $this->selectListSimple($options, $name, $value, $id, $size, true); } protected function getInput() { if ( ! is_array($this->value)) { $this->value = explode(',', $this->value); } $size = (int) $this->get('size'); $group = $this->get('group', 'os'); return $this->selectListSimpleAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'group') ); } } ajax.php000064400000012727152325744540006224 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Ajax extends Field { public $type = 'Ajax'; protected function getInput() { RL_Document::loadMainDependencies(); $class = $this->get('class', 'btn'); if ($this->get('disabled')) { return $this->getButton($class . ' disabled', 'disabled'); } $loading = 'jQuery("#' . $this->id . ' span:nth-child(1)").attr("class", "icon-refresh icon-spin");'; $success = ' jQuery("#' . $this->id . '").removeClass("btn-warning").addClass("btn-success"); jQuery("#' . $this->id . ' span:nth-child(1)").attr("class", "icon-ok"); if(data){ jQuery("#message_' . $this->id . '").addClass("alert alert-success alert-noclose alert-inline").html(data); } '; $error = ' jQuery("#' . $this->id . '").removeClass("btn-success").addClass("btn-warning"); jQuery("#' . $this->id . ' span:nth-child(1)").attr("class", "icon-warning"); if(data){ let error = data; if(data.statusText) { error = data.statusText; if(data.responseText.test(/<blockquote>/)) { error = data.responseText.replace(/^[.\\\\s\\\\S]*?<blockquote>([.\\\\s\\\\S]*?)<\\\\/blockquote>[.\\\\s\\\\S]*$/gm, "$1"); } } jQuery("#message_' . $this->id . '").addClass("alert alert-danger alert-noclose alert-inline").html(error); }'; if ($this->get('success-disabled')) { $success .= ' jQuery("#' . $this->id . '").disabled = true; jQuery("#' . $this->id . '").addClass("disabled"); jQuery("#' . $this->id . '").attr("onclick", "return false;"); '; } if ($this->get('success-text') || $this->get('error-text')) { $success_text = $this->get('success-text', $this->get('text')); $error_text = $this->get('error-text', $this->get('text')); $success .= ' jQuery("#' . $this->id . ' span:nth-child(2)").text("' . addslashes(JText::_($success_text)) . '"); '; $error .= ' jQuery("#' . $this->id . ' span:nth-child(2)").text("' . addslashes(JText::_($error_text)) . '"); '; } $query = ''; $url_query = $this->get('url-query'); if ($url_query) { $name_prefix = $this->form->getFormControl() . '\\\[' . $this->group . '\\\]'; $id_prefix = $this->form->getFormControl() . '_' . $this->group . '_'; $query_parts = []; $url_query = explode(',', $url_query); foreach ($url_query as $url_query_part) { [$key, $id] = explode(':', $url_query_part); $el_name = 'document.querySelector("input[name=' . $name_prefix . '\\\[' . $id . '\\\]]:checked")'; $el_id = 'document.querySelector("#' . $id_prefix . $id . '")'; $query_parts[] = '`&' . $key . '=`' . ' + encodeURI(' . $el_name . ' ? ' . $el_name . '.value : (' . $el_id . ' ? ' . $el_id . '.value' . ' : ""))'; } $query = '+' . implode('+', $query_parts); } $script = 'function loadAjax' . $this->id . '() { ' . $loading . ' jQuery("#message_' . $this->id . '").attr("class", "").html(""); RegularLabsScripts.loadajax( `' . addslashes($this->get('url')) . '`' . $query . ', ` if(data == "" || data.substring(0,1) == "+") { data = data.trim().replace(/^[+]/, ""); ' . $success . ' } else { data = data.trim().replace(/^[-]/, ""); ' . $error . ' }`, `' . $error . '` ); }'; $script = preg_replace('#\s*\n\s*#', ' ', $script); JFactory::getDocument()->addScriptDeclaration($script); $attributes = 'onclick="loadAjax' . $this->id . '();return false;"'; return $this->getButton($class, $attributes); } private function getButton($class = 'btn', $attributes = '') { $icon = $this->get('icon', '') ? 'icon-' . $this->get('icon', '') : ''; return '<button id="' . $this->id . '" class="' . $class . '"' . ' title="' . JText::_($this->get('description')) . '"' . ' ' . $attributes . '>' . '<span class="' . $icon . '"></span> ' . '<span>' . JText::_($this->get('text', $this->get('label'))) . '</span>' . '</button>' . '<div id="message_' . $this->id . '"></div>'; } } akeebasubs.php000064400000002405152325744540007376 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_AkeebaSubs extends FieldGroup { public $default_group = 'Levels'; public $type = 'AkeebaSubs'; public function getLevels() { $query = $this->db->getQuery(true) ->select('l.akeebasubs_level_id as id, l.title AS name, l.enabled as published') ->from('#__akeebasubs_levels AS l') ->where('l.enabled > -1') ->order('l.title, l.akeebasubs_level_id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['id']); } protected function getInput() { $error = $this->missingFilesOrTables(['levels']); return $error ?: $this->getSelectList(); } } zoo.php000064400000010754152325744540006106 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\FieldGroup; use RegularLabs\Library\Form as RL_Form; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Zoo extends FieldGroup { public $type = 'Zoo'; public function getCategories() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__zoo_category AS c') ->where('c.published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $options = []; if ($this->get('show_ignore')) { if (in_array('-1', $this->value)) { $this->value = ['-1']; } $options[] = JHtml::_('select.option', '-1', '- ' . JText::_('RL_IGNORE') . ' -'); $options[] = JHtml::_('select.option', '-', ' ', 'value', 'text', true); } $query->clear() ->select('a.id, a.name') ->from('#__zoo_application AS a') ->order('a.name, a.id'); $this->db->setQuery($query); $apps = $this->db->loadObjectList(); foreach ($apps as $i => $app) { $query->clear() ->select('c.id, c.parent AS parent_id, c.name AS title, c.published') ->from('#__zoo_category AS c') ->where('c.application_id = ' . (int) $app->id) ->where('c.published > -1') ->order('c.ordering, c.name'); $this->db->setQuery($query); $items = $this->db->loadObjectList(); if ($i) { $options[] = JHtml::_('select.option', '-', ' ', 'value', 'text', true); } // establish the hierarchy of the menu // TODO: use node model $children = []; if ($items) { // first pass - collect children foreach ($items as $v) { $pt = $v->parent_id; $list = @$children[$pt] ?: []; array_push($list, $v); $children[$pt] = $list; } } // second pass - get an indent list of the items $list = JHtml::_('menu.treerecurse', 0, '', [], $children, 9999, 0, 0); // assemble items to the array $options[] = JHtml::_('select.option', 'app' . $app->id, '[' . $app->name . ']'); foreach ($list as $item) { $item->treename = ' ' . str_replace('  - ', ' ', $item->treename); $item->treename = RL_Form::prepareSelectItem($item->treename, $item->published); $option = JHtml::_('select.option', $item->id, $item->treename); $option->level = 1; $options[] = $option; } } return $options; } public function getItems() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__zoo_item AS i') ->where('i.state > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('i.id, i.name, a.name as cat, i.state as published') ->join('LEFT', '#__zoo_application AS a ON a.id = i.application_id') ->group('i.id') ->order('i.name, i.priority, i.id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['cat', 'id']); } protected function getInput() { $error = $this->missingFilesOrTables(['applications' => 'application', 'categories' => 'category', 'items' => 'item']); if ($error) { return $error; } return $this->getSelectList(); } } assignmentselection.php000064400000010262152325744540011347 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\StringHelper as RL_String; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; /** * @deprecated 2018-10-30 Use ConditionSelection instead */ class JFormFieldRL_AssignmentSelection extends Field { public $type = 'AssignmentSelection'; protected function getInput() { require_once __DIR__ . '/toggler.php'; $toggler = new RLFieldToggler; $this->value = (int) $this->value; $label = $this->get('label'); $param_name = $this->get('name'); $use_main_toggle = $this->get('use_main_toggle', 1); $showclose = $this->get('showclose', 0); $html = []; if ( ! $label) { if ($use_main_toggle) { $html[] = $toggler->getInput(['div' => 1]); } $html[] = $toggler->getInput(['div' => 1]); return '</div>' . implode('', $html); } $label = RL_String::html_entity_decoder(JText::_($label)); $html[] = '</div>'; if ($use_main_toggle) { $html[] = $toggler->getInput(['div' => 1, 'param' => 'show_assignments|' . $param_name, 'value' => '1|1,2']); } $class = 'well well-small rl_well'; if ($this->value === 1) { $class .= ' alert-success'; } else if ($this->value === 2) { $class .= ' alert-error'; } $html[] = '<div class="' . $class . '">'; $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); if ($showclose && $user->authorise('core.admin')) { $html[] = '<button type="button" class="close rl_remove_assignment" aria-label="Close">×</button>'; } $html[] = '<div class="control-group">'; $html[] = '<div class="control-label">'; $html[] = '<label><h4 class="rl_assignmentselection-header">' . $label . '</h4></label>'; $html[] = '</div>'; $html[] = '<div class="controls">'; $html[] = '<fieldset id="' . $this->id . '" class="radio btn-group">'; $onclick = ' onclick="RegularLabsForm.setToggleTitleClass(this, 0)"'; $html[] = '<input type="radio" id="' . $this->id . '0" name="' . $this->name . '" value="0"' . (( ! $this->value) ? ' checked="checked"' : '') . $onclick . '>'; $html[] = '<label class="rl_btn-ignore" for="' . $this->id . '0">' . JText::_('RL_IGNORE') . '</label>'; $onclick = ' onclick="RegularLabsForm.setToggleTitleClass(this, 1)"'; $html[] = '<input type="radio" id="' . $this->id . '1" name="' . $this->name . '" value="1"' . (($this->value === 1) ? ' checked="checked"' : '') . $onclick . '>'; $html[] = '<label class="rl_btn-include" for="' . $this->id . '1">' . JText::_('RL_INCLUDE') . '</label>'; $onclick = ' onclick="RegularLabsForm.setToggleTitleClass(this, 2)"'; $onclick .= ' onload="RegularLabsForm.setToggleTitleClass(this, ' . $this->value . ', 7)"'; $html[] = '<input type="radio" id="' . $this->id . '2" name="' . $this->name . '" value="2"' . (($this->value === 2) ? ' checked="checked"' : '') . $onclick . '>'; $html[] = '<label class="rl_btn-exclude" for="' . $this->id . '2">' . JText::_('RL_EXCLUDE') . '</label>'; $html[] = '</fieldset>'; $html[] = '</div>'; $html[] = '</div>'; $html[] = '<div class="clearfix"> </div>'; $html[] = $toggler->getInput(['div' => 1, 'param' => $param_name, 'value' => '1,2']); $html[] = '<div><div>'; return '</div>' . implode('', $html); } protected function getLabel() { return ''; } } block.php000064400000004234152325744540006365 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Block extends Field { public $type = 'Block'; protected function getInput() { $title = $this->get('label'); $description = $this->get('description'); $class = $this->get('class'); $showclose = $this->get('showclose', 0); $nowell = $this->get('nowell', 0); $start = $this->get('start', 0); $end = $this->get('end', 0); $html = []; if ($start || ! $end) { $html[] = '</div>'; if (strpos($class, 'alert') !== false) { $class = 'alert ' . $class; } else if ( ! $nowell) { $class = 'well well-small ' . $class; } $html[] = '<div class="' . $class . '">'; $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); if ($showclose && $user->authorise('core.admin')) { $html[] = '<button type="button" class="close rl_remove_assignment" aria-label="Close">×</button>'; } if ($title) { $html[] = '<h4>' . $this->prepareText($title) . '</h4>'; } if ($description) { $html[] = '<div>' . $this->prepareText($description) . '</div>'; } $html[] = '<div><div>'; } if ( ! $start && ! $end) { $html[] = '</div>'; } return '</div>' . implode('', $html); } protected function getLabel() { return ''; } } checkbox.php000064400000005740152325744540007064 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Checkbox extends Field { public $type = 'Checkbox'; protected function getInput() { $showcheckall = $this->get('showcheckall', 0); $checkall = ($this->value == '*'); if ( ! $checkall) { if ( ! is_array($this->value)) { $this->value = explode(',', $this->value); } } $options = []; foreach ($this->element->children() as $option) { if ($option->getName() != 'option') { continue; } $text = trim((string) $option); if ( ! isset($option['value'])) { $options[] = '<label style="clear:both;"><strong>' . JText::_($text) . '</strong></label>'; continue; } $val = (string) $option['value']; $disabled = (int) $option['disabled']; $option = '<input type="checkbox" class="rl_' . $this->id . '" id="' . $this->id . $val . '" name="' . $this->name . '[]" value="' . $val . '"'; if ($checkall || in_array($val, $this->value)) { $option .= ' checked="checked"'; } if ($disabled) { $option .= ' disabled="disabled"'; } $option .= '> <label for="' . $this->id . $val . '" class="checkboxes">' . JText::_($text) . '</label>'; $options[] = $option; } $options = implode('', $options); if ($showcheckall) { $js = " jQuery(document).ready(function() { RegularLabsForm.initCheckAlls('rl_checkall_" . $this->id . "', 'rl_" . $this->id . "'); }); "; JFactory::getDocument()->addScriptDeclaration($js); $checker = '<input id="rl_checkall_' . $this->id . '" type="checkbox" onclick=" RegularLabsForm.checkAll( this, \'rl_' . $this->id . '\' );"> ' . JText::_('JALL'); $options = $checker . '<br>' . $options; } $options .= '<input type="hidden" id="' . $this->id . 'x" name="' . $this->name . '' . '[]" value="x" checked="checked">'; $html = []; $html[] = '<fieldset id="' . $this->id . '" class="checkbox">'; $html[] = $options; $html[] = '</fieldset>'; return implode('', $html); } } codeeditor.php000064400000004625152325744540007420 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Editor\Editor as JEditor; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Plugin\PluginHelper as JPluginHelper; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_CodeEditor extends Field { public $type = 'CodeEditor'; protected function getInput() { $width = $this->get('width', '100%'); $height = $this->get('height', 400); $syntax = $this->get('syntax', 'html'); $editor_plugin = JPluginHelper::getPlugin('editors', 'codemirror'); if (empty($editor_plugin)) { return '<textarea name="' . $this->name . '" style="' . 'width:' . (strpos($width, '%') ? $width : $width . 'px') . ';' . 'height:' . (strpos($height, '%') ? $height : $height . 'px') . ';' . '" id="' . $this->id . '">' . $this->value . '</textarea>'; } RL_Document::script('regularlabs/codemirror.min.js'); RL_Document::stylesheet('regularlabs/codemirror.min.css'); JFactory::getDocument()->addScriptDeclaration(" jQuery(document).ready(function($) { RegularLabsCodeMirror.init('" . $this->id . "'); }); "); JFactory::getDocument()->addStyleDeclaration(" #rl_codemirror_" . $this->id . " .CodeMirror { height: " . $height . "px; min-height: " . min($height, '100') . "px; } "); return '<div class="rl_codemirror" id="rl_codemirror_' . $this->id . '">' . JEditor::getInstance('codemirror')->display( $this->name, htmlentities($this->value), $width, $height, 80, 10, false, $this->id, null, null, ['markerGutter' => false, 'activeLine' => true, 'syntax' => $syntax] ) . '</div>'; } } color.php000064400000003654152325744540006416 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Form\FormField as JFormField; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\RegEx as RL_RegEx; jimport('joomla.form.formfield'); if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Color extends JFormField { public $type = 'Color'; protected function getInput() { if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return null; } $field = new RLFieldColor; return $field->getInput($this->name, $this->id, $this->value, $this->element->attributes()); } } class RLFieldColor { public function getInput($name, $id, $value, $params) { $this->name = $name; $this->id = $id; $this->value = $value; $this->params = $params; $class = trim('rl_color minicolors ' . $this->get('class')); $disabled = $this->get('disabled') ? ' disabled="disabled"' : ''; RL_Document::script('regularlabs/color.min.js'); RL_Document::stylesheet('regularlabs/color.min.css'); $this->value = strtolower(RL_RegEx::replace('[^a-z0-9]', '', $this->value)); return '<input type="text" name="' . $this->name . '" id="' . $this->id . '" class="' . $class . '" value="' . $this->value . '"' . $disabled . '>'; } private function get($val, $default = '') { return (isset($this->params[$val]) && (string) $this->params[$val] != '') ? (string) $this->params[$val] : $default; } } components.php000064400000010162152325744540007455 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; use RegularLabs\Library\RegEx as RL_RegEx; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Components extends Field { public $type = 'Components'; public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $options = $this->getComponents(); return $this->selectListSimple($options, $name, $value, $id, $size, true, true); } public function getComponents() { $frontend = $this->get('frontend', 1); $admin = $this->get('admin', 1); if ( ! $frontend && ! $admin) { return []; } jimport('joomla.filesystem.folder'); jimport('joomla.filesystem.file'); $query = $this->db->getQuery(true) ->select('e.name, e.element') ->from('#__extensions AS e') ->where('e.type = ' . $this->db->quote('component')) ->where('e.name != ""') ->where('e.element != ""') ->group('e.element') ->order('e.element, e.name'); $this->db->setQuery($query); $components = $this->db->loadObjectList(); $comps = []; $lang = JFactory::getLanguage(); foreach ($components as $i => $component) { if (empty($component->element)) { continue; } $component_folder = ($frontend ? JPATH_SITE : JPATH_ADMINISTRATOR) . '/components/' . $component->element; if ( ! JFolder::exists($component_folder) && $admin) { $component_folder = JPATH_ADMINISTRATOR . '/components/' . $component->element; } // return if there is no main component folder if ( ! JFolder::exists($component_folder)) { continue; } // return if there is no view(s) folder if ( ! JFolder::exists($component_folder . '/views') && ! JFolder::exists($component_folder . '/view')) { continue; } if (strpos($component->name, ' ') === false) { // Load the core file then // Load extension-local file. $lang->load($component->element . '.sys', JPATH_BASE, null, false, false) || $lang->load($component->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $component->element, null, false, false) || $lang->load($component->element . '.sys', JPATH_BASE, $lang->getDefault(), false, false) || $lang->load($component->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $component->element, $lang->getDefault(), false, false); $component->name = JText::_(strtoupper($component->name)); } $comps[RL_RegEx::replace('[^a-z0-9_]', '', $component->name . '_' . $component->element)] = $component; } ksort($comps); $options = []; foreach ($comps as $component) { $options[] = JHtml::_('select.option', $component->element, $component->name); } return $options; } protected function getInput() { $size = (int) $this->get('size'); return $this->selectListSimpleAjax( $this->type, $this->name, $this->value, $this->id, compact('size') ); } } conditionselection.php000064400000010725152325744540011171 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\ShowOn as RL_ShowOn; use RegularLabs\Library\StringHelper as RL_String; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_ConditionSelection extends Field { public $type = 'ConditionSelection'; protected function closeShowOn() { return RL_ShowOn::close(); } protected function getInput() { $this->value = (int) $this->value; $label = $this->get('label'); $param_name = $this->get('name'); $use_main_switch = $this->get('use_main_switch', 1); $showclose = $this->get('showclose', 0); $html = []; if ( ! $label) { if ($use_main_switch) { $html[] = $this->closeShowOn(); } $html[] = $this->closeShowOn(); return '</div>' . implode('', $html); } $label = RL_String::html_entity_decoder(JText::_($label)); $html[] = '</div>'; if ($use_main_switch) { $html[] = $this->openShowOn('show_conditions:1[OR]show_assignments:1[OR]' . $param_name . ':1,2'); } $class = 'well well-small rl_well'; if ($this->value === 1) { $class .= ' alert-success'; } else if ($this->value === 2) { $class .= ' alert-error'; } $html[] = '<div class="' . $class . '">'; $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); if ($showclose && $user->authorise('core.admin')) { $html[] = '<button type="button" class="close" aria-label="Close">×</button>'; } $html[] = '<div class="control-group">'; $html[] = '<div class="control-label">'; $html[] = '<label><h4>' . $label . '</h4></label>'; $html[] = '</div>'; $html[] = '<div class="controls">'; $html[] = '<fieldset id="' . $this->id . '" class="radio btn-group">'; $onclick = ' onclick="RegularLabsForm.setToggleTitleClass(this, 0)"'; $html[] = '<input type="radio" id="' . $this->id . '0" name="' . $this->name . '" value="0"' . (( ! $this->value) ? ' checked="checked"' : '') . $onclick . '>'; $html[] = '<label class="rl_btn-ignore" for="' . $this->id . '0">' . JText::_('RL_IGNORE') . '</label>'; $onclick = ' onclick="RegularLabsForm.setToggleTitleClass(this, 1)"'; $html[] = '<input type="radio" id="' . $this->id . '1" name="' . $this->name . '" value="1"' . (($this->value === 1) ? ' checked="checked"' : '') . $onclick . '>'; $html[] = '<label class="rl_btn-include" for="' . $this->id . '1">' . JText::_('RL_INCLUDE') . '</label>'; $onclick = ' onclick="RegularLabsForm.setToggleTitleClass(this, 2)"'; $onclick .= ' onload="RegularLabsForm.setToggleTitleClass(this, ' . $this->value . ', 7)"'; $html[] = '<input type="radio" id="' . $this->id . '2" name="' . $this->name . '" value="2"' . (($this->value === 2) ? ' checked="checked"' : '') . $onclick . '>'; $html[] = '<label class="rl_btn-exclude" for="' . $this->id . '2">' . JText::_('RL_EXCLUDE') . '</label>'; $html[] = '</fieldset>'; $html[] = '</div>'; $html[] = '</div>'; $html[] = '<div class="clearfix"> </div>'; $html[] = $this->openShowOn($param_name . ':1,2'); $html[] = '<div><div>'; return '</div>' . implode('', $html); } protected function getLabel() { return ''; } protected function openShowOn($condition = '') { if ( ! $condition) { return $this->closeShowon(); } $formControl = $this->get('form', $this->formControl); $formControl = $formControl == 'root' ? '' : $formControl; if ($this->group) { $formControl .= '[' . $this->group . ']'; } return RL_ShowOn::open($condition, $formControl); } } content.php000064400000006043152325744540006745 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\ArrayHelper as RL_ArrayHelper; use RegularLabs\Library\FieldGroup; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Content extends FieldGroup { public $type = 'Content'; public function getCategories() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__categories') ->where('extension = ' . $this->db->quote('com_content')) ->where('parent_id > 0') ->where('published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $this->value = RL_ArrayHelper::toArray($this->value); // assemble items to the array $options = []; if ($this->get('show_ignore')) { if (in_array('-1', $this->value)) { $this->value = ['-1']; } $options[] = JHtml::_('select.option', '-1', '- ' . JText::_('RL_IGNORE') . ' -'); $options[] = JHtml::_('select.option', '-', ' ', 'value', 'text', true); } $query->clear('select') ->select('id, title as name, level, published, language') ->order('lft'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); $options = array_merge($options, $this->getOptionsByList($list, ['language'], -1)); return $options; } public function getItems() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__content AS i') ->where('i.access > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('i.id, i.title as name, i.language, c.title as cat, i.state as published') ->join('LEFT', '#__categories AS c ON c.id = i.catid') ->order('i.title, i.ordering, i.id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); $options = $this->getOptionsByList($list, ['language', 'cat', 'id']); if ($this->get('showselect')) { array_unshift($options, JHtml::_('select.option', '-', ' ', 'value', 'text', true)); array_unshift($options, JHtml::_('select.option', '-', '- ' . JText::_('Select Item') . ' -')); } return $options; } } customfieldkey.php000064400000002766152325744550010333 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\StringHelper as RL_String; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_CustomFieldKey extends Field { public $type = 'CustomFieldKey'; protected function getInput() { return '<div style="display:none;"><div><div>'; } protected function getLabel() { $label = $this->get('label') ?: ''; $size = $this->get('size') ? 'style="width:' . $this->get('size') . 'px"' : ''; $class = 'class="' . ($this->get('class') ?: 'text_area') . '"'; $this->value = htmlspecialchars(RL_String::html_entity_decoder($this->value), ENT_QUOTES); return '<label for="' . $this->id . '" style="margin-top: -5px;">' . '<input type="text" name="' . $this->name . '" id="' . $this->id . '" value="' . $this->value . '" placeholder="' . JText::_($label) . '" title="' . JText::_($label) . '" ' . $class . ' ' . $size . '>' . '</label>'; } } customfieldvalue.php000064400000002625152325744550010651 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\StringHelper as RL_String; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_CustomFieldValue extends Field { public $type = 'CustomFieldValue'; protected function getInput() { $label = $this->get('label') ?: ''; $size = $this->get('size') ? 'style="width:' . $this->get('size') . 'px"' : ''; $class = 'class="' . ($this->get('class') ?: 'text_area') . '"'; $this->value = htmlspecialchars(RL_String::html_entity_decoder($this->value), ENT_QUOTES); return '</div></div></div>' . '<input type="text" name="' . $this->name . '" id="' . $this->id . '" value="' . $this->value . '" placeholder="' . JText::_($label) . '" title="' . JText::_($label) . '" ' . $class . ' ' . $size . '>'; } protected function getLabel() { return ''; } } datetime.php000064400000002746152325744550007076 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Date as RL_Date; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_DateTime extends Field { public $type = 'DateTime'; protected function getInput() { $label = $this->get('label'); $format = $this->get('format'); $date = JFactory::getDate(); $tz = new DateTimeZone(JFactory::getApplication()->getCfg('offset')); $date->setTimeZone($tz); if ($format) { if (strpos($format, '%') !== false) { $format = RL_Date::strftimeToDateFormat($format); } $html = $date->format($format, true); } else { $html = $date->format('', true); } if ($label) { $html = JText::sprintf($label, $html); } return '</div><div>' . $html; } protected function getLabel() { return ''; } } dependency.php000064400000005754152325744550007422 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\RegEx as RL_RegEx; jimport('joomla.form.formfield'); if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Dependency extends Field { public $type = 'Dependency'; protected function getInput() { $file = $this->get('file'); if ($file) { $label = $this->get('label', 'the main extension'); RLFieldDependency::setMessage($file, $label); return ''; } $path = ($this->get('path') == 'site') ? '' : '/administrator'; $label = $this->get('label'); $file = $this->get('alias', $label); $file = RL_RegEx::replace('[^a-z-]', '', strtolower($file)); $extension = $this->get('extension'); switch ($extension) { case 'com': $file = $path . '/components/com_' . $file . '/com_' . $file . '.xml'; break; case 'mod': $file = $path . '/modules/mod_' . $file . '/mod_' . $file . '.xml'; break; default: $file = '/plugins/' . str_replace('plg_', '', $extension) . '/' . $file . '.xml'; break; } $label = JText::_($label) . ' (' . JText::_('RL_' . strtoupper($extension)) . ')'; RLFieldDependency::setMessage($file, $label); return ''; } protected function getLabel() { return ''; } } class RLFieldDependency { static function setMessage($file, $name) { jimport('joomla.filesystem.file'); $file = str_replace('\\', '/', $file); $file = (strpos($file, '/administrator') === 0) ? str_replace('/administrator', JPATH_ADMINISTRATOR, $file) : JPATH_SITE . '/' . $file; $file = str_replace('//', '/', $file); $file_alt = RL_RegEx::replace('(com|mod)_([a-z-_]+\.)', '\2', $file); if (file_exists($file) || file_exists($file_alt)) { return; } $msg = JText::sprintf('RL_THIS_EXTENSION_NEEDS_THE_MAIN_EXTENSION_TO_FUNCTION', JText::_($name)); $messageQueue = JFactory::getApplication()->getMessageQueue(); foreach ($messageQueue as $queue_message) { if ($queue_message['type'] == 'error' && $queue_message['message'] == $msg) { return; } } JFactory::getApplication()->enqueueMessage($msg, 'error'); } } easyblog.php000064400000004657152325744550007112 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_EasyBlog extends FieldGroup { public $type = 'EasyBlog'; public function getCategories() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__easyblog_category AS c') ->where('c.published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('c.id, c.parent_id, c.title, c.published') ->order('c.ordering, c.title'); $this->db->setQuery($query); $items = $this->db->loadObjectList(); return $this->getOptionsTreeByList($items); } public function getItems() { $query = $this->db->getQuery(true) ->select('i.id, i.title as name, c.title as cat, i.published') ->from('#__easyblog_post AS i') ->join('LEFT', '#__easyblog_category AS c ON c.id = i.category_id') ->where('i.published > -1') ->order('i.title, c.title, i.id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['cat', 'id']); } public function getTags() { $query = $this->db->getQuery(true) ->select('t.alias as id, t.title as name') ->from('#__easyblog_tag AS t') ->where('t.published > -1') ->where('t.title != ' . $this->db->quote('')) ->group('t.title') ->order('t.title'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list); } protected function getInput() { $error = $this->missingFilesOrTables(['categories' => 'category', 'items' => 'post', 'tags' => 'tag']); return $error ?: $this->getSelectList(); } } editor.php000064400000002156152325744550006563 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Editor extends Field { public $type = 'Editor'; protected function getInput() { $width = $this->get('width', '100%'); $height = $this->get('height', 400); $this->value = htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'); // Get an editor object. $editor = JFactory::getEditor(); $html = $editor->display($this->name, $this->value, $width, $height, true, $this->id); return '</div><div>' . $html; } protected function getLabel() { return ''; } } field.php000064400000003625152325744550006362 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Field extends Field { public $type = 'Field'; public function getFields() { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select('DISTINCT a.id, a.name, a.type, a.title') ->from('#__fields AS a') ->where('a.state = 1') ->order('a.name'); $db->setQuery($query); $fields = $db->loadObjectList(); $options = []; $options[] = JHtml::_('select.option', '', '- ' . JText::_('RL_SELECT_FIELD') . ' -'); foreach ($fields as &$field) { // Skip our own subfields type. We won't have subfields in subfields. if ($field->type == 'subfields' || $field->type == 'repeatable') { continue; } $options[] = JHtml::_('select.option', $field->name, ($field->title . ' (' . $field->type . ')')); } if ($this->get('show_custom')) { $options[] = JHtml::_('select.option', 'custom', '- ' . JText::_('RL_CUSTOM') . ' -'); } return $options; } protected function getInput() { $options = $this->getFields(); return $this->selectListSimple($options, $this->name, $this->value, $this->id); } } filelist.php000064400000006404152325744550007110 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\RegEx as RL_RegEx; jimport('joomla.filesystem.folder'); jimport('joomla.filesystem.file'); if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; JFormHelper::loadFieldClass('list'); class JFormFieldRL_FileList extends JFormFieldList { public $type = 'FileList'; private $params = null; protected function getInput() { return parent::getInput(); } protected function getOptions() { $options = []; $path = $this->get('folder'); if ( ! is_dir($path)) { $path = JPATH_ROOT . '/' . $path; } // Prepend some default options based on field attributes. if ( ! $this->get('hidenone', 0)) { $options[] = JHtml::_('select.option', '-1', JText::alt('JOPTION_DO_NOT_USE', RL_RegEx::replace('[^a-z0-9_\-]', '_', $this->fieldname))); } if ( ! $this->get('hidedefault', 0)) { $options[] = JHtml::_('select.option', '', JText::alt('JOPTION_USE_DEFAULT', RL_RegEx::replace('[^a-z0-9_\-]', '_', $this->fieldname))); } // Get a list of files in the search path with the given filter. $files = JFolder::files($path, $this->get('filter')); // Build the options list from the list of files. if (is_array($files)) { foreach ($files as $file) { // Check to see if the file is in the exclude mask. if ($this->get('exclude')) { if (RL_RegEx::match(chr(1) . $this->get('exclude') . chr(1), $file)) { continue; } } // If the extension is to be stripped, do it. if ($this->get('stripext', 1)) { $file = JFile::stripExt($file); } $label = $file; if ($this->get('language_prefix')) { $label = JText::_($this->get('language_prefix') . strtoupper($label)); } $options[] = JHtml::_('select.option', $file, $label); } } // Merge any additional options in the XML definition. $options = array_merge(parent::getOptions(), $options); return $options; } private function get($val, $default = '') { if (isset($this->element[$val])) { return (string) $this->element[$val] != '' ? (string) $this->element[$val] : $default; } if (isset($this->params[$val])) { return (string) $this->params[$val] != '' ? (string) $this->params[$val] : $default; } return $default; } } flexicontent.php000064400000003217152325744550007776 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_FlexiContent extends FieldGroup { public $default_group = 'Tags'; public $type = 'FlexiContent'; public function getTags() { $query = $this->db->getQuery(true) ->select('t.name as id, t.name') ->from('#__flexicontent_tags AS t') ->where('t.published = 1') ->where('t.name != ' . $this->db->quote('')) ->group('t.name') ->order('t.name'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list); } public function getTypes() { $query = $this->db->getQuery(true) ->select('t.id, t.name') ->from('#__flexicontent_types AS t') ->where('t.published = 1') ->order('t.name, t.id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list); } protected function getInput() { $error = $this->missingFilesOrTables(['tags', 'types']); return $error ?: $this->getSelectList(); } } form2content.php000064400000002332152325744550007711 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Form2Content extends FieldGroup { public $default_group = 'Projects'; public $type = 'Form2Content'; public function getProjects() { $query = $this->db->getQuery(true) ->select('t.id, t.title as name') ->from('#__f2c_project AS t') ->where('t.published = 1') ->order('t.title, t.id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list); } protected function getInput() { $error = $this->missingFilesOrTables(['projects' => 'project'], '', 'f2c'); return $error ?: $this->getSelectList(); } } geo.php000064400000333136152325744550006054 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\Registry\Registry; use RegularLabs\Library\Field; use RegularLabs\Library\Form as RL_Form; use RegularLabs\Library\RegEx as RL_RegEx; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Geo extends Field { public $continents = [ 'AF' => 'Africa', 'AS' => 'Asia', 'EU' => 'Europe', 'NA' => 'North America', 'SA' => 'South America', 'OC' => 'Oceania', 'AN' => 'Antarctica', ]; public $countries = [ 'AF' => "Afghanistan", 'AX' => "Aland Islands", 'AL' => "Albania", 'DZ' => "Algeria", 'AS' => "American Samoa", 'AD' => "Andorra", 'AO' => "Angola", 'AI' => "Anguilla", 'AQ' => "Antarctica", 'AG' => "Antigua and Barbuda", 'AR' => "Argentina", 'AM' => "Armenia", 'AW' => "Aruba", 'AU' => "Australia", 'AT' => "Austria", 'AZ' => "Azerbaijan", 'BS' => "Bahamas", 'BH' => "Bahrain", 'BD' => "Bangladesh", 'BB' => "Barbados", 'BY' => "Belarus", 'BE' => "Belgium", 'BZ' => "Belize", 'BJ' => "Benin", 'BM' => "Bermuda", 'BT' => "Bhutan", 'BO' => "Bolivia", 'BA' => "Bosnia and Herzegovina", 'BW' => "Botswana", 'BV' => "Bouvet Island", 'BR' => "Brazil", 'IO' => "British Indian Ocean Territory", 'BN' => "Brunei Darussalam", 'BG' => "Bulgaria", 'BF' => "Burkina Faso", 'BI' => "Burundi", 'KH' => "Cambodia", 'CM' => "Cameroon", 'CA' => "Canada", 'CV' => "Cape Verde", 'KY' => "Cayman Islands", 'CF' => "Central African Republic", 'TD' => "Chad", 'CL' => "Chile", 'CN' => "China", 'CX' => "Christmas Island", 'CC' => "Cocos (Keeling) Islands", 'CO' => "Colombia", 'KM' => "Comoros", 'CG' => "Congo", 'CD' => "Congo, The Democratic Republic of the", 'CK' => "Cook Islands", 'CR' => "Costa Rica", 'CI' => "Cote d'Ivoire", 'HR' => "Croatia", 'CU' => "Cuba", 'CY' => "Cyprus", 'CZ' => "Czech Republic", 'DK' => "Denmark", 'DJ' => "Djibouti", 'DM' => "Dominica", 'DO' => "Dominican Republic", 'EC' => "Ecuador", 'EG' => "Egypt", 'SV' => "El Salvador", 'GQ' => "Equatorial Guinea", 'ER' => "Eritrea", 'EE' => "Estonia", 'ET' => "Ethiopia", 'FK' => "Falkland Islands (Malvinas)", 'FO' => "Faroe Islands", 'FJ' => "Fiji", 'FI' => "Finland", 'FR' => "France", 'GF' => "French Guiana", 'PF' => "French Polynesia", 'TF' => "French Southern Territories", 'GA' => "Gabon", 'GM' => "Gambia", 'GE' => "Georgia", 'DE' => "Germany", 'GH' => "Ghana", 'GI' => "Gibraltar", 'GR' => "Greece", 'GL' => "Greenland", 'GD' => "Grenada", 'GP' => "Guadeloupe", 'GU' => "Guam", 'GT' => "Guatemala", 'GG' => "Guernsey", 'GN' => "Guinea", 'GW' => "Guinea-Bissau", 'GY' => "Guyana", 'HT' => "Haiti", 'HM' => "Heard Island and McDonald Islands", 'VA' => "Holy See (Vatican City State)", 'HN' => "Honduras", 'HK' => "Hong Kong", 'HU' => "Hungary", 'IS' => "Iceland", 'IN' => "India", 'ID' => "Indonesia", 'IR' => "Iran, Islamic Republic of", 'IQ' => "Iraq", 'IE' => "Ireland", 'IM' => "Isle of Man", 'IL' => "Israel", 'IT' => "Italy", 'JM' => "Jamaica", 'JP' => "Japan", 'JE' => "Jersey", 'JO' => "Jordan", 'KZ' => "Kazakhstan", 'KE' => "Kenya", 'KI' => "Kiribati", 'KP' => "Korea, Democratic People's Republic of", 'KR' => "Korea, Republic of", 'KW' => "Kuwait", 'KG' => "Kyrgyzstan", 'LA' => "Lao People's Democratic Republic", 'LV' => "Latvia", 'LB' => "Lebanon", 'LS' => "Lesotho", 'LR' => "Liberia", 'LY' => "Libyan Arab Jamahiriya", 'LI' => "Liechtenstein", 'LT' => "Lithuania", 'LU' => "Luxembourg", 'MO' => "Macao", 'MK' => "Macedonia", 'MG' => "Madagascar", 'MW' => "Malawi", 'MY' => "Malaysia", 'MV' => "Maldives", 'ML' => "Mali", 'MT' => "Malta", 'MH' => "Marshall Islands", 'MQ' => "Martinique", 'MR' => "Mauritania", 'MU' => "Mauritius", 'YT' => "Mayotte", 'MX' => "Mexico", 'FM' => "Micronesia, Federated States of", 'MD' => "Moldova, Republic of", 'MC' => "Monaco", 'MN' => "Mongolia", 'ME' => "Montenegro", 'MS' => "Montserrat", 'MA' => "Morocco", 'MZ' => "Mozambique", 'MM' => "Myanmar", 'NA' => "Namibia", 'NR' => "Nauru", 'NP' => "Nepal", 'NL' => "Netherlands", 'AN' => "Netherlands Antilles", 'NC' => "New Caledonia", 'NZ' => "New Zealand", 'NI' => "Nicaragua", 'NE' => "Niger", 'NG' => "Nigeria", 'NU' => "Niue", 'NF' => "Norfolk Island", 'MP' => "Northern Mariana Islands", 'NO' => "Norway", 'OM' => "Oman", 'PK' => "Pakistan", 'PW' => "Palau", 'PS' => "Palestinian Territory", 'PA' => "Panama", 'PG' => "Papua New Guinea", 'PY' => "Paraguay", 'PE' => "Peru", 'PH' => "Philippines", 'PN' => "Pitcairn", 'PL' => "Poland", 'PT' => "Portugal", 'PR' => "Puerto Rico", 'QA' => "Qatar", 'RE' => "Reunion", 'RO' => "Romania", 'RU' => "Russian Federation", 'RW' => "Rwanda", 'SH' => "Saint Helena", 'KN' => "Saint Kitts and Nevis", 'LC' => "Saint Lucia", 'PM' => "Saint Pierre and Miquelon", 'VC' => "Saint Vincent and the Grenadines", 'WS' => "Samoa", 'SM' => "San Marino", 'ST' => "Sao Tome and Principe", 'SA' => "Saudi Arabia", 'SN' => "Senegal", 'RS' => "Serbia", 'SC' => "Seychelles", 'SL' => "Sierra Leone", 'SG' => "Singapore", 'SK' => "Slovakia", 'SI' => "Slovenia", 'SB' => "Solomon Islands", 'SO' => "Somalia", 'ZA' => "South Africa", 'GS' => "South Georgia and the South Sandwich Islands", 'ES' => "Spain", 'LK' => "Sri Lanka", 'SD' => "Sudan", 'SR' => "Suriname", 'SJ' => "Svalbard and Jan Mayen", 'SZ' => "Swaziland", 'SE' => "Sweden", 'CH' => "Switzerland", 'SY' => "Syrian Arab Republic", 'TW' => "Taiwan", 'TJ' => "Tajikistan", 'TZ' => "Tanzania, United Republic of", 'TH' => "Thailand", 'TL' => "Timor-Leste", 'TG' => "Togo", 'TK' => "Tokelau", 'TO' => "Tonga", 'TT' => "Trinidad and Tobago", 'TN' => "Tunisia", 'TR' => "Turkey", 'TM' => "Turkmenistan", 'TC' => "Turks and Caicos Islands", 'TV' => "Tuvalu", 'UG' => "Uganda", 'UA' => "Ukraine", 'AE' => "United Arab Emirates", 'GB' => "United Kingdom", 'US' => "United States", 'UM' => "United States Minor Outlying Islands", 'UY' => "Uruguay", 'UZ' => "Uzbekistan", 'VU' => "Vanuatu", 'VE' => "Venezuela", 'VN' => "Vietnam", 'VG' => "Virgin Islands, British", 'VI' => "Virgin Islands, U.S.", 'WF' => "Wallis and Futuna", 'EH' => "Western Sahara", 'YE' => "Yemen", 'ZM' => "Zambia", 'ZW' => "Zimbabwe", ]; public $region_countries = [ 'AU' => "Australia", 'BE' => "Belgium", 'BR' => "Brazil", 'BG' => "Bulgaria", 'CA' => "Canada", 'CN' => "China", 'CY' => "Cyprus", 'CZ' => "Czech Republic", 'DK' => "Denmark", 'EG' => "Egypt", 'FR' => "France", 'DE' => "Germany", 'GR' => "Greece", 'HK' => "Hong Kong", 'HU' => "Hungary", 'IS' => "Iceland", 'IN' => "India", 'ID' => "Indonesia", 'IE' => "Ireland", 'IL' => "Israel", 'IT' => "Italy", 'JP' => "Japan", 'MX' => "Mexico", 'MA' => "Morocco", 'NL' => "Netherlands", 'NG' => "Nigeria", 'NO' => "Norway", 'PH' => "Philippines", 'PL' => "Poland", 'PT' => "Portugal", 'RO' => "Romania", 'RU' => "Russian Federation", 'SK' => "Slovakia", 'SI' => "Slovenia", 'ZA' => "South Africa", 'ES' => "Spain", 'SE' => "Sweden", 'CH' => "Switzerland", 'TW' => "Taiwan", 'TH' => "Thailand", 'TR' => "Turkey", 'UA' => "Ukraine", 'AE' => "United Arab Emirates", 'GB' => "United Kingdom", 'US' => "United States", 'VN' => "Vietnam", ]; public $regions = [ '-AU' => "Australia", 'AU-ACT' => "Australia: Australian Capital Territory", 'AU-NSW' => "Australia: New South Wales", 'AU-NT' => "Australia: Northern Territory", 'AU-QLD' => "Australia: Queensland", 'AU-SA' => "Australia: South Australia", 'AU-TAS' => "Australia: Tasmania", 'AU-VIC' => "Australia: Victoria", 'AU-WA' => "Australia: Western Australia", '--BE' => "", '-BE' => "Belgium", 'BE-VAN' => "Belgium: Antwerpen", 'BE-WBR' => "Belgium: Brabant Wallon", 'BE-BRU' => "Belgium: Brussels-Capital Region", 'BE-WHT' => "Belgium: Hainaut", 'BE-WLG' => "Belgium: Liege", 'BE-VLI' => "Belgium: Limburg", 'BE-WLX' => "Belgium: Luxembourg, Luxemburg", 'BE-WNA' => "Belgium: Namur", 'BE-VOV' => "Belgium: Oost-Vlaanderen", 'BE-VBR' => "Belgium: Vlaams-Brabant", 'BE-VWV' => "Belgium: West-Vlaanderen", '--BR' => "", '-BR' => "Brazil", 'BR-AC' => "Brazil: Acre", 'BR-AL' => "Brazil: Alagoas", 'BR-AP' => "Brazil: Amapá", 'BR-AM' => "Brazil: Amazonas", 'BR-BA' => "Brazil: Bahia", 'BR-CE' => "Brazil: Ceará", 'BR-DF' => "Brazil: Distrito Federal", 'BR-ES' => "Brazil: Espírito Santo", 'BR-FN' => "Brazil: Fernando de Noronha", 'BR-GO' => "Brazil: Goiás", 'BR-MA' => "Brazil: Maranhão", 'BR-MT' => "Brazil: Mato Grosso", 'BR-MS' => "Brazil: Mato Grosso do Sul", 'BR-MG' => "Brazil: Minas Gerais", 'BR-PR' => "Brazil: Paraná", 'BR-PB' => "Brazil: Paraíba", 'BR-PA' => "Brazil: Pará", 'BR-PE' => "Brazil: Pernambuco", 'BR-PI' => "Brazil: Piauí", 'BR-RN' => "Brazil: Rio Grande do Norte", 'BR-RS' => "Brazil: Rio Grande do Sul", 'BR-RJ' => "Brazil: Rio de Janeiro", 'BR-RO' => "Brazil: Rondônia", 'BR-RR' => "Brazil: Roraima", 'BR-SC' => "Brazil: Santa Catarina", 'BR-SE' => "Brazil: Sergipe", 'BR-SP' => "Brazil: São Paulo", 'BR-TO' => "Brazil: Tocantins", '--BG' => "", '-BG' => "Bulgaria", 'BG-01' => "Bulgaria: Blagoevgrad", 'BG-02' => "Bulgaria: Burgas", 'BG-08' => "Bulgaria: Dobrich", 'BG-07' => "Bulgaria: Gabrovo", 'BG-26' => "Bulgaria: Haskovo", 'BG-09' => "Bulgaria: Kardzhali", 'BG-10' => "Bulgaria: Kyustendil", 'BG-11' => "Bulgaria: Lovech", 'BG-12' => "Bulgaria: Montana", 'BG-13' => "Bulgaria: Pazardzhik", 'BG-14' => "Bulgaria: Pernik", 'BG-15' => "Bulgaria: Pleven", 'BG-16' => "Bulgaria: Plovdiv", 'BG-17' => "Bulgaria: Razgrad", 'BG-18' => "Bulgaria: Ruse", 'BG-27' => "Bulgaria: Shumen", 'BG-19' => "Bulgaria: Silistra", 'BG-20' => "Bulgaria: Sliven", 'BG-21' => "Bulgaria: Smolyan", 'BG-23' => "Bulgaria: Sofia", 'BG-22' => "Bulgaria: Sofia-Grad", 'BG-24' => "Bulgaria: Stara Zagora", 'BG-25' => "Bulgaria: Targovishte", 'BG-03' => "Bulgaria: Varna", 'BG-04' => "Bulgaria: Veliko Tarnovo", 'BG-05' => "Bulgaria: Vidin", 'BG-06' => "Bulgaria: Vratsa", 'BG-28' => "Bulgaria: Yambol", '--CA' => "", '-CA' => "Canada", 'CA-AB' => "Canada: Alberta", 'CA-BC' => "Canada: British Columbia", 'CA-MB' => "Canada: Manitoba", 'CA-NB' => "Canada: New Brunswick", 'CA-NL' => "Canada: Newfoundland and Labrador", 'CA-NT' => "Canada: Northwest Territories", 'CA-NS' => "Canada: Nova Scotia", 'CA-NU' => "Canada: Nunavut", 'CA-ON' => "Canada: Ontario", 'CA-PE' => "Canada: Prince Edward Island", 'CA-QC' => "Canada: Quebec", 'CA-SK' => "Canada: Saskatchewan", 'CA-YT' => "Canada: Yukon Territory", '--CN' => "", '-CN' => "China", 'CN-34' => "China: Anhui", 'CN-92' => "China: Aomen (Macau)", 'CN-11' => "China: Beijing", 'CN-50' => "China: Chongqing", 'CN-35' => "China: Fujian", 'CN-62' => "China: Gansu", 'CN-44' => "China: Guangdong", 'CN-45' => "China: Guangxi", 'CN-52' => "China: Guizhou", 'CN-46' => "China: Hainan", 'CN-13' => "China: Hebei", 'CN-23' => "China: Heilongjiang", 'CN-41' => "China: Henan", 'CN-42' => "China: Hubei", 'CN-43' => "China: Hunan", 'CN-32' => "China: Jiangsu", 'CN-36' => "China: Jiangxi", 'CN-22' => "China: Jilin", 'CN-21' => "China: Liaoning", 'CN-15' => "China: Nei Mongol", 'CN-64' => "China: Ningxia", 'CN-63' => "China: Qinghai", 'CN-61' => "China: Shaanxi", 'CN-37' => "China: Shandong", 'CN-31' => "China: Shanghai", 'CN-14' => "China: Shanxi", 'CN-51' => "China: Sichuan", 'CN-71' => "China: Taiwan", 'CN-12' => "China: Tianjin", 'CN-91' => "China: Xianggang (Hong-Kong)", 'CN-65' => "China: Xinjiang", 'CN-54' => "China: Xizang", 'CN-53' => "China: Yunnan", 'CN-33' => "China: Zhejiang", '--CY' => "", '-CY' => "Cyprus", 'CY-04' => "Cyprus: Ammóchostos", 'CY-06' => "Cyprus: Kerýneia", 'CY-01' => "Cyprus: Lefkosía", 'CY-02' => "Cyprus: Lemesós", 'CY-03' => "Cyprus: Lárnaka", 'CY-05' => "Cyprus: Páfos", '--CZ' => "", '-CZ' => "Czech Republic", 'CZ-201' => "Czech Republic: Benešov", 'CZ-202' => "Czech Republic: Beroun", 'CZ-621' => "Czech Republic: Blansko", 'CZ-622' => "Czech Republic: Brno-město", 'CZ-623' => "Czech Republic: Brno-venkov", 'CZ-801' => "Czech Republic: Bruntál", 'CZ-624' => "Czech Republic: Břeclav", 'CZ-411' => "Czech Republic: Cheb", 'CZ-422' => "Czech Republic: Chomutov", 'CZ-531' => "Czech Republic: Chrudim", 'CZ-321' => "Czech Republic: Domažlice", 'CZ-421' => "Czech Republic: Děčín", 'CZ-802' => "Czech Republic: Frýdek Místek", 'CZ-611' => "Czech Republic: Havlíčkův Brod", 'CZ-625' => "Czech Republic: Hodonín", 'CZ-521' => "Czech Republic: Hradec Králové", 'CZ-512' => "Czech Republic: Jablonec nad Nisou", 'CZ-711' => "Czech Republic: Jeseník", 'CZ-612' => "Czech Republic: Jihlava", 'CZ-JM' => "Czech Republic: Jihomoravský kraj", 'CZ-JC' => "Czech Republic: Jihočeský kraj", 'CZ-313' => "Czech Republic: Jindřichův Hradec", 'CZ-522' => "Czech Republic: Jičín", 'CZ-KA' => "Czech Republic: Karlovarský kraj", 'CZ-412' => "Czech Republic: Karlovy Vary", 'CZ-803' => "Czech Republic: Karviná", 'CZ-203' => "Czech Republic: Kladno", 'CZ-322' => "Czech Republic: Klatovy", 'CZ-204' => "Czech Republic: Kolín", 'CZ-721' => "Czech Republic: Kromĕříž", 'CZ-KR' => "Czech Republic: Královéhradecký kraj", 'CZ-205' => "Czech Republic: Kutná Hora", 'CZ-513' => "Czech Republic: Liberec", 'CZ-LI' => "Czech Republic: Liberecký kraj", 'CZ-423' => "Czech Republic: Litoměřice", 'CZ-424' => "Czech Republic: Louny", 'CZ-207' => "Czech Republic: Mladá Boleslav", 'CZ-MO' => "Czech Republic: Moravskoslezský kraj", 'CZ-425' => "Czech Republic: Most", 'CZ-206' => "Czech Republic: Mělník", 'CZ-804' => "Czech Republic: Nový Jičín", 'CZ-208' => "Czech Republic: Nymburk", 'CZ-523' => "Czech Republic: Náchod", 'CZ-712' => "Czech Republic: Olomouc", 'CZ-OL' => "Czech Republic: Olomoucký kraj", 'CZ-805' => "Czech Republic: Opava", 'CZ-806' => "Czech Republic: Ostrava město", 'CZ-532' => "Czech Republic: Pardubice", 'CZ-PA' => "Czech Republic: Pardubický kraj", 'CZ-613' => "Czech Republic: Pelhřimov", 'CZ-324' => "Czech Republic: Plzeň jih", 'CZ-323' => "Czech Republic: Plzeň město", 'CZ-325' => "Czech Republic: Plzeň sever", 'CZ-PL' => "Czech Republic: Plzeňský kraj", 'CZ-315' => "Czech Republic: Prachatice", 'CZ-101' => "Czech Republic: Praha 1", 'CZ-10A' => "Czech Republic: Praha 10", 'CZ-10B' => "Czech Republic: Praha 11", 'CZ-10C' => "Czech Republic: Praha 12", 'CZ-10D' => "Czech Republic: Praha 13", 'CZ-10E' => "Czech Republic: Praha 14", 'CZ-10F' => "Czech Republic: Praha 15", 'CZ-102' => "Czech Republic: Praha 2", 'CZ-103' => "Czech Republic: Praha 3", 'CZ-104' => "Czech Republic: Praha 4", 'CZ-105' => "Czech Republic: Praha 5", 'CZ-106' => "Czech Republic: Praha 6", 'CZ-107' => "Czech Republic: Praha 7", 'CZ-108' => "Czech Republic: Praha 8", 'CZ-109' => "Czech Republic: Praha 9", 'CZ-209' => "Czech Republic: Praha východ", 'CZ-20A' => "Czech Republic: Praha západ", 'CZ-PR' => "Czech Republic: Praha, hlavní město", 'CZ-713' => "Czech Republic: Prostĕjov", 'CZ-314' => "Czech Republic: Písek", 'CZ-714' => "Czech Republic: Přerov", 'CZ-20B' => "Czech Republic: Příbram", 'CZ-20C' => "Czech Republic: Rakovník", 'CZ-326' => "Czech Republic: Rokycany", 'CZ-524' => "Czech Republic: Rychnov nad Kněžnou", 'CZ-514' => "Czech Republic: Semily", 'CZ-413' => "Czech Republic: Sokolov", 'CZ-316' => "Czech Republic: Strakonice", 'CZ-ST' => "Czech Republic: Středočeský kraj", 'CZ-533' => "Czech Republic: Svitavy", 'CZ-327' => "Czech Republic: Tachov", 'CZ-426' => "Czech Republic: Teplice", 'CZ-525' => "Czech Republic: Trutnov", 'CZ-317' => "Czech Republic: Tábor", 'CZ-614' => "Czech Republic: Třebíč", 'CZ-722' => "Czech Republic: Uherské Hradištĕ", 'CZ-723' => "Czech Republic: Vsetín", 'CZ-VY' => "Czech Republic: Vysočina", 'CZ-626' => "Czech Republic: Vyškov", 'CZ-724' => "Czech Republic: Zlín", 'CZ-ZL' => "Czech Republic: Zlínský kraj", 'CZ-627' => "Czech Republic: Znojmo", 'CZ-US' => "Czech Republic: Ústecký kraj", 'CZ-427' => "Czech Republic: Ústí nad Labem", 'CZ-534' => "Czech Republic: Ústí nad Orlicí", 'CZ-511' => "Czech Republic: Česká Lípa", 'CZ-311' => "Czech Republic: České Budějovice", 'CZ-312' => "Czech Republic: Český Krumlov", 'CZ-715' => "Czech Republic: Šumperk", 'CZ-615' => "Czech Republic: Žd’ár nad Sázavou", '--DK' => "", '-DK' => "Denmark", 'DK-84' => "Denmark: Hovedstaden", 'DK-82' => "Denmark: Midtjylland", 'DK-81' => "Denmark: Nordjylland", 'DK-85' => "Denmark: Sjælland", 'DK-83' => "Denmark: Syddanmark", '--EG' => "", '-EG' => "Egypt", 'EG-DK' => "Egypt: Ad Daqahlīyah", 'EG-BA' => "Egypt: Al Bahr al Ahmar", 'EG-BH' => "Egypt: Al Buhayrah", 'EG-FYM' => "Egypt: Al Fayyūm", 'EG-GH' => "Egypt: Al Gharbīyah", 'EG-ALX' => "Egypt: Al Iskandarīyah", 'EG-IS' => "Egypt: Al Ismā`īlīyah", 'EG-GZ' => "Egypt: Al Jīzah", 'EG-MN' => "Egypt: Al Minyā", 'EG-MNF' => "Egypt: Al Minūfīyah", 'EG-KB' => "Egypt: Al Qalyūbīyah", 'EG-C' => "Egypt: Al Qāhirah", 'EG-WAD' => "Egypt: Al Wādī al Jadīd", 'EG-SUZ' => "Egypt: As Suways", 'EG-SU' => "Egypt: As Sādis min Uktūbar", 'EG-SHR' => "Egypt: Ash Sharqīyah", 'EG-ASN' => "Egypt: Aswān", 'EG-AST' => "Egypt: Asyūt", 'EG-BNS' => "Egypt: Banī Suwayf", 'EG-PTS' => "Egypt: Būr Sa`īd", 'EG-DT' => "Egypt: Dumyāt", 'EG-JS' => "Egypt: Janūb Sīnā'", 'EG-KFS' => "Egypt: Kafr ash Shaykh", 'EG-MT' => "Egypt: Matrūh", 'EG-KN' => "Egypt: Qinā", 'EG-SIN' => "Egypt: Shamal Sīnā'", 'EG-SHG' => "Egypt: Sūhāj", 'EG-HU' => "Egypt: Ḩulwān", '--FR' => "", '-FR' => "France", 'FR-01' => "France: Ain", 'FR-02' => "France: Aisne", 'FR-03' => "France: Allier", 'FR-06' => "France: Alpes-Maritimes", 'FR-04' => "France: Alpes-de-Haute-Provence", 'FR-A' => "France: Alsace", 'FR-B' => "France: Aquitaine", 'FR-08' => "France: Ardennes", 'FR-07' => "France: Ardèche", 'FR-09' => "France: Ariège", 'FR-10' => "France: Aube", 'FR-11' => "France: Aude", 'FR-C' => "France: Auvergne", 'FR-12' => "France: Aveyron", 'FR-67' => "France: Bas-Rhin", 'FR-P' => "France: Basse-Normandie", 'FR-13' => "France: Bouches-du-Rhône", 'FR-D' => "France: Bourgogne", 'FR-E' => "France: Bretagne", 'FR-14' => "France: Calvados", 'FR-15' => "France: Cantal", 'FR-F' => "France: Centre", 'FR-G' => "France: Champagne-Ardenne", 'FR-16' => "France: Charente", 'FR-17' => "France: Charente-Maritime", 'FR-18' => "France: Cher", 'FR-CP' => "France: Clipperton", 'FR-19' => "France: Corrèze", 'FR-H' => "France: Corse", 'FR-2A' => "France: Corse-du-Sud", 'FR-23' => "France: Creuse", 'FR-21' => "France: Côte-d'Or", 'FR-22' => "France: Côtes-d'Armor", 'FR-79' => "France: Deux-Sèvres", 'FR-24' => "France: Dordogne", 'FR-25' => "France: Doubs", 'FR-26' => "France: Drôme", 'FR-91' => "France: Essonne", 'FR-27' => "France: Eure", 'FR-28' => "France: Eure-et-Loir", 'FR-29' => "France: Finistère", 'FR-I' => "France: Franche-Comté", 'FR-30' => "France: Gard", 'FR-32' => "France: Gers", 'FR-33' => "France: Gironde", 'FR-GP' => "France: Guadeloupe", 'FR-GF' => "France: Guyane", 'FR-68' => "France: Haut-Rhin", 'FR-2B' => "France: Haute-Corse", 'FR-31' => "France: Haute-Garonne", 'FR-43' => "France: Haute-Loire", 'FR-52' => "France: Haute-Marne", 'FR-Q' => "France: Haute-Normandie", 'FR-74' => "France: Haute-Savoie", 'FR-70' => "France: Haute-Saône", 'FR-87' => "France: Haute-Vienne", 'FR-05' => "France: Hautes-Alpes", 'FR-65' => "France: Hautes-Pyrénées", 'FR-92' => "France: Hauts-de-Seine", 'FR-34' => "France: Hérault", 'FR-35' => "France: Ille-et-Vilaine", 'FR-36' => "France: Indre", 'FR-37' => "France: Indre-et-Loire", 'FR-38' => "France: Isère", 'FR-39' => "France: Jura", 'FR-40' => "France: Landes", 'FR-K' => "France: Languedoc-Roussillon", 'FR-L' => "France: Limousin", 'FR-41' => "France: Loir-et-Cher", 'FR-42' => "France: Loire", 'FR-44' => "France: Loire-Atlantique", 'FR-45' => "France: Loiret", 'FR-M' => "France: Lorraine", 'FR-46' => "France: Lot", 'FR-47' => "France: Lot-et-Garonne", 'FR-48' => "France: Lozère", 'FR-49' => "France: Maine-et-Loire", 'FR-50' => "France: Manche", 'FR-51' => "France: Marne", 'FR-MQ' => "France: Martinique", 'FR-53' => "France: Mayenne", 'FR-YT' => "France: Mayotte", 'FR-54' => "France: Meurthe-et-Moselle", 'FR-55' => "France: Meuse", 'FR-N' => "France: Midi-Pyrénées", 'FR-56' => "France: Morbihan", 'FR-57' => "France: Moselle", 'FR-58' => "France: Nièvre", 'FR-59' => "France: Nord", 'FR-O' => "France: Nord - Pas-de-Calais", 'FR-NC' => "France: Nouvelle-Calédonie", 'FR-60' => "France: Oise", 'FR-61' => "France: Orne", 'FR-75' => "France: Paris", 'FR-62' => "France: Pas-de-Calais", 'FR-R' => "France: Pays de la Loire", 'FR-S' => "France: Picardie", 'FR-T' => "France: Poitou-Charentes", 'FR-PF' => "France: Polynésie française", 'FR-U' => "France: Provence-Alpes-Côte d'Azur", 'FR-63' => "France: Puy-de-Dôme", 'FR-64' => "France: Pyrénées-Atlantiques", 'FR-66' => "France: Pyrénées-Orientales", 'FR-69' => "France: Rhône", 'FR-V' => "France: Rhône-Alpes", 'FR-RE' => "France: Réunion", 'FR-BL' => "France: Saint-Barthélemy", 'FR-MF' => "France: Saint-Martin", 'FR-PM' => "France: Saint-Pierre-et-Miquelon", 'FR-72' => "France: Sarthe", 'FR-73' => "France: Savoie", 'FR-71' => "France: Saône-et-Loire", 'FR-76' => "France: Seine-Maritime", 'FR-93' => "France: Seine-Saint-Denis", 'FR-77' => "France: Seine-et-Marne", 'FR-80' => "France: Somme", 'FR-81' => "France: Tarn", 'FR-82' => "France: Tarn-et-Garonne", 'FR-TF' => "France: Terres australes françaises", 'FR-90' => "France: Territoire de Belfort", 'FR-95' => "France: Val d'Oise", 'FR-94' => "France: Val-de-Marne", 'FR-83' => "France: Var", 'FR-84' => "France: Vaucluse", 'FR-85' => "France: Vendée", 'FR-86' => "France: Vienne", 'FR-88' => "France: Vosges", 'FR-WF' => "France: Wallis-et-Futuna", 'FR-89' => "France: Yonne", 'FR-78' => "France: Yvelines", 'FR-J' => "France: Île-de-France", '--DE' => "", '-DE' => "Germany", 'DE-BW' => "Germany: Baden-Württemberg", 'DE-BY' => "Germany: Bayern", 'DE-BE' => "Germany: Berlin", 'DE-BB' => "Germany: Brandenburg", 'DE-HB' => "Germany: Bremen", 'DE-HH' => "Germany: Hamburg", 'DE-HE' => "Germany: Hessen", 'DE-MV' => "Germany: Mecklenburg-Vorpommern", 'DE-NI' => "Germany: Niedersachsen", 'DE-NW' => "Germany: Nordrhein-Westfalen", 'DE-RP' => "Germany: Rheinland-Pfalz", 'DE-SL' => "Germany: Saarland", 'DE-SN' => "Germany: Sachsen", 'DE-ST' => "Germany: Sachsen-Anhalt", 'DE-SH' => "Germany: Schleswig-Holstein", 'DE-TH' => "Germany: Thüringen", '--GR' => "", '-GR' => "Greece", 'GR-13' => "Greece: Achaïa", 'GR-69' => "Greece: Agio Oros", 'GR-01' => "Greece: Aitolia kai Akarnania", 'GR-A' => "Greece: Anatoliki Makedonia kai Thraki", 'GR-11' => "Greece: Argolida", 'GR-12' => "Greece: Arkadia", 'GR-31' => "Greece: Arta", 'GR-A1' => "Greece: Attiki", 'GR-64' => "Greece: Chalkidiki", 'GR-94' => "Greece: Chania", 'GR-85' => "Greece: Chios", 'GR-81' => "Greece: Dodekanisos", 'GR-52' => "Greece: Drama", 'GR-G' => "Greece: Dytiki Ellada", 'GR-C' => "Greece: Dytiki Makedonia", 'GR-71' => "Greece: Evros", 'GR-05' => "Greece: Evrytania", 'GR-04' => "Greece: Evvoias", 'GR-63' => "Greece: Florina", 'GR-07' => "Greece: Fokida", 'GR-06' => "Greece: Fthiotida", 'GR-51' => "Greece: Grevena", 'GR-14' => "Greece: Ileia", 'GR-53' => "Greece: Imathia", 'GR-33' => "Greece: Ioannina", 'GR-F' => "Greece: Ionia Nisia", 'GR-D' => "Greece: Ipeiros", 'GR-91' => "Greece: Irakleio", 'GR-41' => "Greece: Karditsa", 'GR-56' => "Greece: Kastoria", 'GR-55' => "Greece: Kavala", 'GR-23' => "Greece: Kefallonia", 'GR-B' => "Greece: Kentriki Makedonia", 'GR-22' => "Greece: Kerkyra", 'GR-57' => "Greece: Kilkis", 'GR-15' => "Greece: Korinthia", 'GR-58' => "Greece: Kozani", 'GR-M' => "Greece: Kriti", 'GR-82' => "Greece: Kyklades", 'GR-16' => "Greece: Lakonia", 'GR-42' => "Greece: Larisa", 'GR-92' => "Greece: Lasithi", 'GR-24' => "Greece: Lefkada", 'GR-83' => "Greece: Lesvos", 'GR-43' => "Greece: Magnisia", 'GR-17' => "Greece: Messinia", 'GR-L' => "Greece: Notio Aigaio", 'GR-59' => "Greece: Pella", 'GR-J' => "Greece: Peloponnisos", 'GR-61' => "Greece: Pieria", 'GR-34' => "Greece: Preveza", 'GR-93' => "Greece: Rethymno", 'GR-73' => "Greece: Rodopi", 'GR-84' => "Greece: Samos", 'GR-62' => "Greece: Serres", 'GR-H' => "Greece: Sterea Ellada", 'GR-32' => "Greece: Thesprotia", 'GR-E' => "Greece: Thessalia", 'GR-54' => "Greece: Thessaloniki", 'GR-44' => "Greece: Trikala", 'GR-03' => "Greece: Voiotia", 'GR-K' => "Greece: Voreio Aigaio", 'GR-72' => "Greece: Xanthi", 'GR-21' => "Greece: Zakynthos", '--HU' => "", '-HU' => "Hungary", 'HU-BA' => "Hungary: Baranya", 'HU-BZ' => "Hungary: Borsod-Abaúj-Zemplén", 'HU-BU' => "Hungary: Budapest", 'HU-BK' => "Hungary: Bács-Kiskun", 'HU-BE' => "Hungary: Békés", 'HU-BC' => "Hungary: Békéscsaba", 'HU-CS' => "Hungary: Csongrád", 'HU-DE' => "Hungary: Debrecen", 'HU-DU' => "Hungary: Dunaújváros", 'HU-EG' => "Hungary: Eger", 'HU-FE' => "Hungary: Fejér", 'HU-GY' => "Hungary: Győr", 'HU-GS' => "Hungary: Győr-Moson-Sopron", 'HU-HB' => "Hungary: Hajdú-Bihar", 'HU-HE' => "Hungary: Heves", 'HU-HV' => "Hungary: Hódmezővásárhely", 'HU-JN' => "Hungary: Jász-Nagykun-Szolnok", 'HU-KV' => "Hungary: Kaposvár", 'HU-KM' => "Hungary: Kecskemét", 'HU-KE' => "Hungary: Komárom-Esztergom", 'HU-MI' => "Hungary: Miskolc", 'HU-NK' => "Hungary: Nagykanizsa", 'HU-NY' => "Hungary: Nyíregyháza", 'HU-NO' => "Hungary: Nógrád", 'HU-PE' => "Hungary: Pest", 'HU-PS' => "Hungary: Pécs", 'HU-ST' => "Hungary: Salgótarján", 'HU-SO' => "Hungary: Somogy", 'HU-SN' => "Hungary: Sopron", 'HU-SZ' => "Hungary: Szabolcs-Szatmár-Bereg", 'HU-SD' => "Hungary: Szeged", 'HU-SS' => "Hungary: Szekszárd", 'HU-SK' => "Hungary: Szolnok", 'HU-SH' => "Hungary: Szombathely", 'HU-SF' => "Hungary: Székesfehérvár", 'HU-TB' => "Hungary: Tatabánya", 'HU-TO' => "Hungary: Tolna", 'HU-VA' => "Hungary: Vas", 'HU-VM' => "Hungary: Veszprém", 'HU-VE' => "Hungary: Veszprém (county)", 'HU-ZA' => "Hungary: Zala", 'HU-ZE' => "Hungary: Zalaegerszeg", 'HU-ER' => "Hungary: Érd", '--IS' => "", '-IS' => "Iceland", 'IS-7' => "Iceland: Austurland", 'IS-1' => "Iceland: Höfuðborgarsvæðið", 'IS-6' => "Iceland: Norðurland eystra", 'IS-5' => "Iceland: Norðurland vestra", 'IS-0' => "Iceland: Reykjavík", 'IS-8' => "Iceland: Suðurland", 'IS-2' => "Iceland: Suðurnes", 'IS-4' => "Iceland: Vestfirðir", 'IS-3' => "Iceland: Vesturland", '--IN' => "", '-IN' => "India", 'IN-AN' => "India: Andaman and Nicobar Islands", 'IN-AP' => "India: Andhra Pradesh", 'IN-AR' => "India: Arunāchal Pradesh", 'IN-AS' => "India: Assam", 'IN-BR' => "India: Bihār", 'IN-CH' => "India: Chandīgarh", 'IN-CT' => "India: Chhattīsgarh", 'IN-DD' => "India: Damān and Diu", 'IN-DL' => "India: Delhi", 'IN-DN' => "India: Dādra and Nagar Haveli", 'IN-GA' => "India: Goa", 'IN-GJ' => "India: Gujarāt", 'IN-HR' => "India: Haryāna", 'IN-HP' => "India: Himāchal Pradesh", 'IN-JK' => "India: Jammu and Kashmīr", 'IN-JH' => "India: Jharkhand", 'IN-KA' => "India: Karnātaka", 'IN-KL' => "India: Kerala", 'IN-LD' => "India: Lakshadweep", 'IN-MP' => "India: Madhya Pradesh", 'IN-MH' => "India: Mahārāshtra", 'IN-MN' => "India: Manipur", 'IN-ML' => "India: Meghālaya", 'IN-MZ' => "India: Mizoram", 'IN-NL' => "India: Nāgāland", 'IN-OR' => "India: Orissa", 'IN-PY' => "India: Pondicherry", 'IN-PB' => "India: Punjab", 'IN-RJ' => "India: Rājasthān", 'IN-SK' => "India: Sikkim", 'IN-TN' => "India: Tamil Nādu", 'IN-TR' => "India: Tripura", 'IN-UP' => "India: Uttar Pradesh", 'IN-UL' => "India: Uttaranchal", 'IN-WB' => "India: West Bengal", '--ID' => "", '-ID' => "Indonesia", 'ID-AC' => "Indonesia: Aceh", 'ID-BA' => "Indonesia: Bali", 'ID-BB' => "Indonesia: Bangka Belitung", 'ID-BT' => "Indonesia: Banten", 'ID-BE' => "Indonesia: Bengkulu", 'ID-GO' => "Indonesia: Gorontalo", 'ID-JK' => "Indonesia: Jakarta Raya", 'ID-JA' => "Indonesia: Jambi", 'ID-JW' => "Indonesia: Jawa", 'ID-JB' => "Indonesia: Jawa Barat", 'ID-JT' => "Indonesia: Jawa Tengah", 'ID-JI' => "Indonesia: Jawa Timur", 'ID-KA' => "Indonesia: Kalimantan", 'ID-KB' => "Indonesia: Kalimantan Barat", 'ID-KS' => "Indonesia: Kalimantan Selatan", 'ID-KT' => "Indonesia: Kalimantan Tengah", 'ID-KI' => "Indonesia: Kalimantan Timur", 'ID-KR' => "Indonesia: Kepulauan Riau", 'ID-LA' => "Indonesia: Lampung", 'ID-MA' => "Indonesia: Maluku", 'ID-MU' => "Indonesia: Maluku Utara", 'ID-NU' => "Indonesia: Nusa Tenggara", 'ID-NB' => "Indonesia: Nusa Tenggara Barat", 'ID-NT' => "Indonesia: Nusa Tenggara Timur", 'ID-PA' => "Indonesia: Papua", 'ID-PB' => "Indonesia: Papua Barat", 'ID-RI' => "Indonesia: Riau", 'ID-SL' => "Indonesia: Sulawesi", 'ID-SR' => "Indonesia: Sulawesi Barat", 'ID-SN' => "Indonesia: Sulawesi Selatan", 'ID-ST' => "Indonesia: Sulawesi Tengah", 'ID-SG' => "Indonesia: Sulawesi Tenggara", 'ID-SA' => "Indonesia: Sulawesi Utara", 'ID-SM' => "Indonesia: Sumatera", 'ID-SU' => "Indonesia: Sumatera Utara", 'ID-SB' => "Indonesia: Sumatra Barat", 'ID-SS' => "Indonesia: Sumatra Selatan", 'ID-YO' => "Indonesia: Yogyakarta", '--IE' => "", '-IE' => "Ireland", 'IE-CW' => "Ireland: Carlow", 'IE-CN' => "Ireland: Cavan", 'IE-CE' => "Ireland: Clare", 'IE-C' => "Ireland: Connacht", 'IE-CO' => "Ireland: Cork", 'IE-DL' => "Ireland: Donegal", 'IE-D' => "Ireland: Dublin", 'IE-G' => "Ireland: Galway", 'IE-KY' => "Ireland: Kerry", 'IE-KE' => "Ireland: Kildare", 'IE-KK' => "Ireland: Kilkenny", 'IE-LS' => "Ireland: Laois", 'IE-L' => "Ireland: Leinster", 'IE-LM' => "Ireland: Leitrim", 'IE-LK' => "Ireland: Limerick", 'IE-LD' => "Ireland: Longford", 'IE-LH' => "Ireland: Louth", 'IE-MO' => "Ireland: Mayo", 'IE-MH' => "Ireland: Meath", 'IE-MN' => "Ireland: Monaghan", 'IE-M' => "Ireland: Munster", 'IE-OY' => "Ireland: Offaly", 'IE-RN' => "Ireland: Roscommon", 'IE-SO' => "Ireland: Sligo", 'IE-TA' => "Ireland: Tipperary", 'IE-U' => "Ireland: Ulster", 'IE-WD' => "Ireland: Waterford", 'IE-WH' => "Ireland: Westmeath", 'IE-WX' => "Ireland: Wexford", 'IE-WW' => "Ireland: Wicklow", '--IL' => "", '-IL' => "Israel", 'IL-D' => "Israel: HaDarom", 'IL-M' => "Israel: HaMerkaz", 'IL-Z' => "Israel: HaZafon", 'IL-HA' => "Israel: Hefa", 'IL-TA' => "Israel: Tel-Aviv", 'IL-JM' => "Israel: Yerushalayim Al Quds", '--IT' => "", '-IT' => "Italy", 'IT-65' => "Italy: Abruzzo", 'IT-AG' => "Italy: Agrigento", 'IT-AL' => "Italy: Alessandria", 'IT-AN' => "Italy: Ancona", 'IT-AO' => "Italy: Aosta", 'IT-AR' => "Italy: Arezzo", 'IT-AP' => "Italy: Ascoli Piceno", 'IT-AT' => "Italy: Asti", 'IT-AV' => "Italy: Avellino", 'IT-BA' => "Italy: Bari", 'IT-BT' => "Italy: Barletta-Andria-Trani", 'IT-77' => "Italy: Basilicata", 'IT-BL' => "Italy: Belluno", 'IT-BN' => "Italy: Benevento", 'IT-BG' => "Italy: Bergamo", 'IT-BI' => "Italy: Biella", 'IT-BO' => "Italy: Bologna", 'IT-BZ' => "Italy: Bolzano", 'IT-BS' => "Italy: Brescia", 'IT-BR' => "Italy: Brindisi", 'IT-CA' => "Italy: Cagliari", 'IT-78' => "Italy: Calabria", 'IT-CL' => "Italy: Caltanissetta", 'IT-72' => "Italy: Campania", 'IT-CB' => "Italy: Campobasso", 'IT-CI' => "Italy: Carbonia-Iglesias", 'IT-CE' => "Italy: Caserta", 'IT-CT' => "Italy: Catania", 'IT-CZ' => "Italy: Catanzaro", 'IT-CH' => "Italy: Chieti", 'IT-CO' => "Italy: Como", 'IT-CS' => "Italy: Cosenza", 'IT-CR' => "Italy: Cremona", 'IT-KR' => "Italy: Crotone", 'IT-CN' => "Italy: Cuneo", 'IT-45' => "Italy: Emilia-Romagna", 'IT-EN' => "Italy: Enna", 'IT-FM' => "Italy: Fermo", 'IT-FE' => "Italy: Ferrara", 'IT-FI' => "Italy: Firenze", 'IT-FG' => "Italy: Foggia", 'IT-FC' => "Italy: Forlì-Cesena", 'IT-36' => "Italy: Friuli-Venezia Giulia", 'IT-FR' => "Italy: Frosinone", 'IT-GE' => "Italy: Genova", 'IT-GO' => "Italy: Gorizia", 'IT-GR' => "Italy: Grosseto", 'IT-IM' => "Italy: Imperia", 'IT-IS' => "Italy: Isernia", 'IT-AQ' => "Italy: L'Aquila", 'IT-SP' => "Italy: La Spezia", 'IT-LT' => "Italy: Latina", 'IT-62' => "Italy: Lazio", 'IT-LE' => "Italy: Lecce", 'IT-LC' => "Italy: Lecco", 'IT-42' => "Italy: Liguria", 'IT-LI' => "Italy: Livorno", 'IT-LO' => "Italy: Lodi", 'IT-25' => "Italy: Lombardia", 'IT-LU' => "Italy: Lucca", 'IT-MC' => "Italy: Macerata", 'IT-MN' => "Italy: Mantova", 'IT-57' => "Italy: Marche", 'IT-MS' => "Italy: Massa-Carrara", 'IT-MT' => "Italy: Matera", 'IT-VS' => "Italy: Medio Campidano", 'IT-ME' => "Italy: Messina", 'IT-MI' => "Italy: Milano", 'IT-MO' => "Italy: Modena", 'IT-67' => "Italy: Molise", 'IT-MB' => "Italy: Monza e Brianza", 'IT-NA' => "Italy: Napoli", 'IT-NO' => "Italy: Novara", 'IT-NU' => "Italy: Nuoro", 'IT-OG' => "Italy: Ogliastra", 'IT-OT' => "Italy: Olbia-Tempio", 'IT-OR' => "Italy: Oristano", 'IT-PD' => "Italy: Padova", 'IT-PA' => "Italy: Palermo", 'IT-PR' => "Italy: Parma", 'IT-PV' => "Italy: Pavia", 'IT-PG' => "Italy: Perugia", 'IT-PU' => "Italy: Pesaro e Urbino", 'IT-PE' => "Italy: Pescara", 'IT-PC' => "Italy: Piacenza", 'IT-21' => "Italy: Piemonte", 'IT-PI' => "Italy: Pisa", 'IT-PT' => "Italy: Pistoia", 'IT-PN' => "Italy: Pordenone", 'IT-PZ' => "Italy: Potenza", 'IT-PO' => "Italy: Prato", 'IT-75' => "Italy: Puglia", 'IT-RG' => "Italy: Ragusa", 'IT-RA' => "Italy: Ravenna", 'IT-RC' => "Italy: Reggio Calabria", 'IT-RE' => "Italy: Reggio Emilia", 'IT-RI' => "Italy: Rieti", 'IT-RN' => "Italy: Rimini", 'IT-RM' => "Italy: Roma", 'IT-RO' => "Italy: Rovigo", 'IT-SA' => "Italy: Salerno", 'IT-88' => "Italy: Sardegna", 'IT-SS' => "Italy: Sassari", 'IT-SV' => "Italy: Savona", 'IT-82' => "Italy: Sicilia", 'IT-SI' => "Italy: Siena", 'IT-SR' => "Italy: Siracusa", 'IT-SO' => "Italy: Sondrio", 'IT-TA' => "Italy: Taranto", 'IT-TE' => "Italy: Teramo", 'IT-TR' => "Italy: Terni", 'IT-TO' => "Italy: Torino", 'IT-52' => "Italy: Toscana", 'IT-TP' => "Italy: Trapani", 'IT-32' => "Italy: Trentino-Alto Adige", 'IT-TN' => "Italy: Trento", 'IT-TV' => "Italy: Treviso", 'IT-TS' => "Italy: Trieste", 'IT-UD' => "Italy: Udine", 'IT-55' => "Italy: Umbria", 'IT-23' => "Italy: Valle d'Aosta", 'IT-VA' => "Italy: Varese", 'IT-34' => "Italy: Veneto", 'IT-VE' => "Italy: Venezia", 'IT-VB' => "Italy: Verbano-Cusio-Ossola", 'IT-VC' => "Italy: Vercelli", 'IT-VR' => "Italy: Verona", 'IT-VV' => "Italy: Vibo Valentia", 'IT-VI' => "Italy: Vicenza", 'IT-VT' => "Italy: Viterbo", '--JP' => "", '-JP' => "Japan", 'JP-23' => "Japan: Aichi", 'JP-05' => "Japan: Akita", 'JP-02' => "Japan: Aomori", 'JP-12' => "Japan: Chiba", 'JP-38' => "Japan: Ehime", 'JP-18' => "Japan: Fukui", 'JP-40' => "Japan: Fukuoka", 'JP-07' => "Japan: Fukushima", 'JP-21' => "Japan: Gifu", 'JP-10' => "Japan: Gunma", 'JP-34' => "Japan: Hiroshima", 'JP-01' => "Japan: Hokkaido", 'JP-28' => "Japan: Hyogo", 'JP-08' => "Japan: Ibaraki", 'JP-17' => "Japan: Ishikawa", 'JP-03' => "Japan: Iwate", 'JP-37' => "Japan: Kagawa", 'JP-46' => "Japan: Kagoshima", 'JP-14' => "Japan: Kanagawa", 'JP-39' => "Japan: Kochi", 'JP-43' => "Japan: Kumamoto", 'JP-26' => "Japan: Kyoto", 'JP-24' => "Japan: Mie", 'JP-04' => "Japan: Miyagi", 'JP-45' => "Japan: Miyazaki", 'JP-20' => "Japan: Nagano", 'JP-42' => "Japan: Nagasaki", 'JP-29' => "Japan: Nara", 'JP-15' => "Japan: Niigata", 'JP-44' => "Japan: Oita", 'JP-33' => "Japan: Okayama", 'JP-47' => "Japan: Okinawa", 'JP-27' => "Japan: Osaka", 'JP-41' => "Japan: Saga", 'JP-11' => "Japan: Saitama", 'JP-25' => "Japan: Shiga", 'JP-32' => "Japan: Shimane", 'JP-22' => "Japan: Shizuoka", 'JP-09' => "Japan: Tochigi", 'JP-36' => "Japan: Tokushima", 'JP-13' => "Japan: Tokyo", 'JP-31' => "Japan: Tottori", 'JP-16' => "Japan: Toyama", 'JP-30' => "Japan: Wakayama", 'JP-06' => "Japan: Yamagata", 'JP-35' => "Japan: Yamaguchi", 'JP-19' => "Japan: Yamanashi", '--MX' => "", '-MX' => "Mexico", 'MX-AGU' => "Mexico: Aguascalientes", 'MX-BCN' => "Mexico: Baja California", 'MX-BCS' => "Mexico: Baja California Sur", 'MX-CAM' => "Mexico: Campeche", 'MX-CHP' => "Mexico: Chiapas", 'MX-CHH' => "Mexico: Chihuahua", 'MX-COA' => "Mexico: Coahuila", 'MX-COL' => "Mexico: Colima", 'MX-DIF' => "Mexico: Distrito Federal (Mexico City)", 'MX-DUR' => "Mexico: Durango", 'MX-GUA' => "Mexico: Guanajuato", 'MX-GRO' => "Mexico: Guerrero", 'MX-HID' => "Mexico: Hidalgo", 'MX-JAL' => "Mexico: Jalisco", 'MX-MIC' => "Mexico: Michoacán", 'MX-MOR' => "Mexico: Morelos", 'MX-MEX' => "Mexico: México", 'MX-NAY' => "Mexico: Nayarit", 'MX-NLE' => "Mexico: Nuevo León", 'MX-OAX' => "Mexico: Oaxaca", 'MX-PUE' => "Mexico: Puebla", 'MX-QUE' => "Mexico: Querétaro", 'MX-ROO' => "Mexico: Quintana Roo", 'MX-SLP' => "Mexico: San Luis Potosí", 'MX-SIN' => "Mexico: Sinaloa", 'MX-SON' => "Mexico: Sonora", 'MX-TAB' => "Mexico: Tabasco", 'MX-TAM' => "Mexico: Tamaulipas", 'MX-TLA' => "Mexico: Tlaxcala", 'MX-VER' => "Mexico: Veracruz", 'MX-YUC' => "Mexico: Yucatán", 'MX-ZAC' => "Mexico: Zacatecas", '--MA' => "", '-MA' => "Morocco", 'MA-AGD' => "Morocco: Agadir-Ida-Outanane", 'MA-HAO' => "Morocco: Al Haouz", 'MA-HOC' => "Morocco: Al Hoceïma", 'MA-AOU' => "Morocco: Aousserd", 'MA-ASZ' => "Morocco: Assa-Zag", 'MA-AZI' => "Morocco: Azilal", 'MA-BES' => "Morocco: Ben Slimane", 'MA-BEM' => "Morocco: Beni Mellal", 'MA-BER' => "Morocco: Berkane", 'MA-BOD' => "Morocco: Boujdour (EH)", 'MA-BOM' => "Morocco: Boulemane", 'MA-CAS' => "Morocco: Casablanca [Dar el Beïda]", 'MA-09' => "Morocco: Chaouia-Ouardigha", 'MA-CHE' => "Morocco: Chefchaouen", 'MA-CHI' => "Morocco: Chichaoua", 'MA-CHT' => "Morocco: Chtouka-Ait Baha", 'MA-10' => "Morocco: Doukhala-Abda", 'MA-HAJ' => "Morocco: El Hajeb", 'MA-JDI' => "Morocco: El Jadida", 'MA-ERR' => "Morocco: Errachidia", 'MA-ESM' => "Morocco: Es Smara (EH)", 'MA-ESI' => "Morocco: Essaouira", 'MA-FAH' => "Morocco: Fahs-Beni Makada", 'MA-FIG' => "Morocco: Figuig", 'MA-05' => "Morocco: Fès-Boulemane", 'MA-FES' => "Morocco: Fès-Dar-Dbibegh", 'MA-02' => "Morocco: Gharb-Chrarda-Beni Hssen", 'MA-08' => "Morocco: Grand Casablanca", 'MA-GUE' => "Morocco: Guelmim", 'MA-14' => "Morocco: Guelmim-Es Smara", 'MA-IFR' => "Morocco: Ifrane", 'MA-INE' => "Morocco: Inezgane-Ait Melloul", 'MA-JRA' => "Morocco: Jrada", 'MA-KES' => "Morocco: Kelaat es Sraghna", 'MA-KHE' => "Morocco: Khemisaet", 'MA-KHN' => "Morocco: Khenifra", 'MA-KHO' => "Morocco: Khouribga", 'MA-KEN' => "Morocco: Kénitra", 'MA-04' => "Morocco: L'Oriental", 'MA-LAR' => "Morocco: Larache", 'MA-LAA' => "Morocco: Laâyoune (EH)", 'MA-15' => "Morocco: Laâyoune-Boujdour-Sakia el Hamra", 'MA-MMD' => "Morocco: Marrakech-Medina", 'MA-MMN' => "Morocco: Marrakech-Menara", 'MA-11' => "Morocco: Marrakech-Tensift-Al Haouz", 'MA-MEK' => "Morocco: Meknès", 'MA-06' => "Morocco: Meknès-Tafilalet", 'MA-MOH' => "Morocco: Mohammadia", 'MA-MOU' => "Morocco: Moulay Yacoub", 'MA-MED' => "Morocco: Médiouna", 'MA-NAD' => "Morocco: Nador", 'MA-NOU' => "Morocco: Nouaceur", 'MA-OUA' => "Morocco: Ouarzazate", 'MA-OUD' => "Morocco: Oued ed Dahab (EH)", 'MA-16' => "Morocco: Oued ed Dahab-Lagouira", 'MA-OUJ' => "Morocco: Oujda-Angad", 'MA-RAB' => "Morocco: Rabat", 'MA-07' => "Morocco: Rabat-Salé-Zemmour-Zaer", 'MA-SAF' => "Morocco: Safi", 'MA-SAL' => "Morocco: Salé", 'MA-SEF' => "Morocco: Sefrou", 'MA-SET' => "Morocco: Settat", 'MA-SYB' => "Morocco: Sidi Youssef Ben Ali", 'MA-SIK' => "Morocco: Sidl Kacem", 'MA-SKH' => "Morocco: Skhirate-Témara", 'MA-13' => "Morocco: Sous-Massa-Draa", 'MA-12' => "Morocco: Tadla-Azilal", 'MA-TNT' => "Morocco: Tan-Tan", 'MA-TNG' => "Morocco: Tanger-Assilah", 'MA-01' => "Morocco: Tanger-Tétouan", 'MA-TAO' => "Morocco: Taounate", 'MA-TAI' => "Morocco: Taourirt", 'MA-TAR' => "Morocco: Taroudant", 'MA-TAT' => "Morocco: Tata", 'MA-TAZ' => "Morocco: Taza", 'MA-03' => "Morocco: Taza-Al Hoceima-Taounate", 'MA-TIZ' => "Morocco: Tiznit", 'MA-TET' => "Morocco: Tétouan", 'MA-ZAG' => "Morocco: Zagora", '--NL' => "", '-NL' => "Netherlands", 'NL-DR' => "Netherlands: Drenthe", 'NL-FL' => "Netherlands: Flevoland", 'NL-FR' => "Netherlands: Friesland", 'NL-GE' => "Netherlands: Gelderland", 'NL-GR' => "Netherlands: Groningen", 'NL-LI' => "Netherlands: Limburg", 'NL-NB' => "Netherlands: Noord-Brabant", 'NL-NH' => "Netherlands: Noord-Holland", 'NL-OV' => "Netherlands: Overijssel", 'NL-UT' => "Netherlands: Utrecht", 'NL-ZE' => "Netherlands: Zeeland", 'NL-ZH' => "Netherlands: Zuid-Holland", '--NG' => "", '-NG' => "Nigeria", 'NG-AB' => "Nigeria: Abia", 'NG-FC' => "Nigeria: Abuja Capital Territory", 'NG-AD' => "Nigeria: Adamawa", 'NG-AK' => "Nigeria: Akwa Ibom", 'NG-AN' => "Nigeria: Anambra", 'NG-BA' => "Nigeria: Bauchi", 'NG-BY' => "Nigeria: Bayelsa", 'NG-BE' => "Nigeria: Benue", 'NG-BO' => "Nigeria: Borno", 'NG-CR' => "Nigeria: Cross River", 'NG-DE' => "Nigeria: Delta", 'NG-EB' => "Nigeria: Ebonyi", 'NG-ED' => "Nigeria: Edo", 'NG-EK' => "Nigeria: Ekiti", 'NG-EN' => "Nigeria: Enugu", 'NG-GO' => "Nigeria: Gombe", 'NG-IM' => "Nigeria: Imo", 'NG-JI' => "Nigeria: Jigawa", 'NG-KD' => "Nigeria: Kaduna", 'NG-KN' => "Nigeria: Kano", 'NG-KT' => "Nigeria: Katsina", 'NG-KE' => "Nigeria: Kebbi", 'NG-KO' => "Nigeria: Kogi", 'NG-KW' => "Nigeria: Kwara", 'NG-LA' => "Nigeria: Lagos", 'NG-NA' => "Nigeria: Nassarawa", 'NG-NI' => "Nigeria: Niger, Níger", 'NG-OG' => "Nigeria: Ogun", 'NG-ON' => "Nigeria: Ondo", 'NG-OS' => "Nigeria: Osun", 'NG-OY' => "Nigeria: Oyo", 'NG-PL' => "Nigeria: Plateau", 'NG-RI' => "Nigeria: Rivers", 'NG-SO' => "Nigeria: Sokoto", 'NG-TA' => "Nigeria: Taraba", 'NG-YO' => "Nigeria: Yobe", 'NG-ZA' => "Nigeria: Zamfara", '--NO' => "", '-NO' => "Norway", 'NO-02' => "Norway: Akershus", 'NO-09' => "Norway: Aust-Agder", 'NO-06' => "Norway: Buskerud", 'NO-20' => "Norway: Finnmark", 'NO-04' => "Norway: Hedmark", 'NO-12' => "Norway: Hordaland", 'NO-22' => "Norway: Jan Mayen", 'NO-15' => "Norway: Møre og Romsdal", 'NO-17' => "Norway: Nord-Trøndelag", 'NO-18' => "Norway: Nordland", 'NO-05' => "Norway: Oppland", 'NO-03' => "Norway: Oslo", 'NO-11' => "Norway: Rogaland", 'NO-14' => "Norway: Sogn og Fjordane", 'NO-21' => "Norway: Svalbard", 'NO-16' => "Norway: Sør-Trøndelag", 'NO-08' => "Norway: Telemark", 'NO-19' => "Norway: Troms", 'NO-10' => "Norway: Vest-Agder", 'NO-07' => "Norway: Vestfold", 'NO-01' => "Norway: Østfold", '--PH' => "", '-PH' => "Philippines", 'PH-ABR' => "Philippines: Abra", 'PH-AGN' => "Philippines: Agusan del Norte", 'PH-AGS' => "Philippines: Agusan del Sur", 'PH-AKL' => "Philippines: Aklan", 'PH-ALB' => "Philippines: Albay", 'PH-ANT' => "Philippines: Antique", 'PH-APA' => "Philippines: Apayao", 'PH-AUR' => "Philippines: Aurora", 'PH-14' => "Philippines: Autonomous Region in Muslim Mindanao (ARMM)", 'PH-BAS' => "Philippines: Basilan", 'PH-BTN' => "Philippines: Batanes", 'PH-BTG' => "Philippines: Batangas", 'PH-BAN' => "Philippines: Batasn", 'PH-BEN' => "Philippines: Benguet", 'PH-05' => "Philippines: Bicol (Region V)", 'PH-BIL' => "Philippines: Biliran", 'PH-BOH' => "Philippines: Bohol", 'PH-BUK' => "Philippines: Bukidnon", 'PH-BUL' => "Philippines: Bulacan", 'PH-40' => "Philippines: CALABARZON (Region IV-A)", 'PH-CAG' => "Philippines: Cagayan", 'PH-02' => "Philippines: Cagayan Valley (Region II)", 'PH-CAN' => "Philippines: Camarines Norte", 'PH-CAS' => "Philippines: Camarines Sur", 'PH-CAM' => "Philippines: Camiguin", 'PH-CAP' => "Philippines: Capiz", 'PH-13' => "Philippines: Caraga (Region XIII)", 'PH-CAT' => "Philippines: Catanduanes", 'PH-CAV' => "Philippines: Cavite", 'PH-CEB' => "Philippines: Cebu", 'PH-03' => "Philippines: Central Luzon (Region III)", 'PH-07' => "Philippines: Central Visayas (Region VII)", 'PH-COM' => "Philippines: Compostela Valley", 'PH-15' => "Philippines: Cordillera Administrative Region (CAR)", 'PH-11' => "Philippines: Davao (Region XI)", 'PH-DAO' => "Philippines: Davao Oriental", 'PH-DAV' => "Philippines: Davao del Norte", 'PH-DAS' => "Philippines: Davao del Sur", 'PH-DIN' => "Philippines: Dinagat Islands", 'PH-EAS' => "Philippines: Eastern Samar", 'PH-08' => "Philippines: Eastern Visayas (Region VIII)", 'PH-GUI' => "Philippines: Guimaras", 'PH-IFU' => "Philippines: Ifugao", 'PH-01' => "Philippines: Ilocos (Region I)", 'PH-ILN' => "Philippines: Ilocos Norte", 'PH-ILS' => "Philippines: Ilocos Sur", 'PH-ILI' => "Philippines: Iloilo", 'PH-ISA' => "Philippines: Isabela", 'PH-KAL' => "Philippines: Kalinga-Apayso", 'PH-LUN' => "Philippines: La Union", 'PH-LAG' => "Philippines: Laguna", 'PH-LAN' => "Philippines: Lanao del Norte", 'PH-LAS' => "Philippines: Lanao del Sur", 'PH-LEY' => "Philippines: Leyte", 'PH-41' => "Philippines: MIMAROPA (Region IV-B)", 'PH-MAG' => "Philippines: Maguindanao", 'PH-MAD' => "Philippines: Marinduque", 'PH-MAS' => "Philippines: Masbate", 'PH-MDC' => "Philippines: Mindoro Occidental", 'PH-MDR' => "Philippines: Mindoro Oriental", 'PH-MSC' => "Philippines: Misamis Occidental", 'PH-MSR' => "Philippines: Misamis Oriental", 'PH-MOU' => "Philippines: Mountain Province", 'PH-00' => "Philippines: National Capital Region", 'PH-NEC' => "Philippines: Negroe Occidental", 'PH-NER' => "Philippines: Negros Oriental", 'PH-NCO' => "Philippines: North Cotabato", 'PH-10' => "Philippines: Northern Mindanao (Region X)", 'PH-NSA' => "Philippines: Northern Samar", 'PH-NUE' => "Philippines: Nueva Ecija", 'PH-NUV' => "Philippines: Nueva Vizcaya", 'PH-PLW' => "Philippines: Palawan", 'PH-PAM' => "Philippines: Pampanga", 'PH-PAN' => "Philippines: Pangasinan", 'PH-QUE' => "Philippines: Quezon", 'PH-QUI' => "Philippines: Quirino", 'PH-RIZ' => "Philippines: Rizal", 'PH-ROM' => "Philippines: Romblon", 'PH-SAR' => "Philippines: Sarangani", 'PH-SIG' => "Philippines: Siquijor", 'PH-12' => "Philippines: Soccsksargen (Region XII)", 'PH-SOR' => "Philippines: Sorsogon", 'PH-SCO' => "Philippines: South Cotabato", 'PH-SLE' => "Philippines: Southern Leyte", 'PH-SUK' => "Philippines: Sultan Kudarat", 'PH-SLU' => "Philippines: Sulu", 'PH-SUN' => "Philippines: Surigao del Norte", 'PH-SUR' => "Philippines: Surigao del Sur", 'PH-TAR' => "Philippines: Tarlac", 'PH-TAW' => "Philippines: Tawi-Tawi", 'PH-WSA' => "Philippines: Western Samar", 'PH-06' => "Philippines: Western Visayas (Region VI)", 'PH-ZMB' => "Philippines: Zambales", 'PH-09' => "Philippines: Zamboanga Peninsula (Region IX)", 'PH-ZSI' => "Philippines: Zamboanga Sibugay", 'PH-ZAN' => "Philippines: Zamboanga del Norte", 'PH-ZAS' => "Philippines: Zamboanga del Sur", '--PL' => "", '-PL' => "Poland", 'PL-DS' => "Poland: Dolnośląskie", 'PL-KP' => "Poland: Kujawsko-pomorskie", 'PL-LU' => "Poland: Lubelskie", 'PL-LB' => "Poland: Lubuskie", 'PL-MZ' => "Poland: Mazowieckie", 'PL-MA' => "Poland: Małopolskie", 'PL-OP' => "Poland: Opolskie", 'PL-PK' => "Poland: Podkarpackie", 'PL-PD' => "Poland: Podlaskie", 'PL-PM' => "Poland: Pomorskie", 'PL-WN' => "Poland: Warmińsko-mazurskie", 'PL-WP' => "Poland: Wielkopolskie", 'PL-ZP' => "Poland: Zachodniopomorskie", 'PL-LD' => "Poland: Łódzkie", 'PL-SL' => "Poland: Śląskie", 'PL-SK' => "Poland: Świętokrzyskie", '--PT' => "", '-PT' => "Portugal", 'PT-01' => "Portugal: Aveiro", 'PT-02' => "Portugal: Beja", 'PT-03' => "Portugal: Braga", 'PT-04' => "Portugal: Bragança", 'PT-05' => "Portugal: Castelo Branco", 'PT-06' => "Portugal: Coimbra", 'PT-08' => "Portugal: Faro", 'PT-09' => "Portugal: Guarda", 'PT-10' => "Portugal: Leiria", 'PT-11' => "Portugal: Lisboa", 'PT-12' => "Portugal: Portalegre", 'PT-13' => "Portugal: Porto", 'PT-30' => "Portugal: Região Autónoma da Madeira", 'PT-20' => "Portugal: Região Autónoma dos Açores", 'PT-14' => "Portugal: Santarém", 'PT-15' => "Portugal: Setúbal", 'PT-16' => "Portugal: Viana do Castelo", 'PT-17' => "Portugal: Vila Real", 'PT-18' => "Portugal: Viseu", 'PT-07' => "Portugal: Évora", '--RO' => "", '-RO' => "Romania", 'RO-AB' => "Romania: Alba", 'RO-AR' => "Romania: Arad", 'RO-AG' => "Romania: Argeș", 'RO-BC' => "Romania: Bacău", 'RO-BH' => "Romania: Bihor", 'RO-BN' => "Romania: Bistrița-Năsăud", 'RO-BT' => "Romania: Botoșani", 'RO-BV' => "Romania: Brașov", 'RO-BR' => "Romania: Brăila", 'RO-B' => "Romania: București", 'RO-BZ' => "Romania: Buzău", 'RO-CS' => "Romania: Caraș-Severin", 'RO-CJ' => "Romania: Cluj", 'RO-CT' => "Romania: Constanța", 'RO-CV' => "Romania: Covasna", 'RO-CL' => "Romania: Călărași", 'RO-DJ' => "Romania: Dolj", 'RO-DB' => "Romania: Dâmbovița", 'RO-GL' => "Romania: Galați", 'RO-GR' => "Romania: Giurgiu", 'RO-GJ' => "Romania: Gorj", 'RO-HR' => "Romania: Harghita", 'RO-HD' => "Romania: Hunedoara", 'RO-IL' => "Romania: Ialomița", 'RO-IS' => "Romania: Iași", 'RO-IF' => "Romania: Ilfov", 'RO-MM' => "Romania: Maramureș", 'RO-MH' => "Romania: Mehedinți", 'RO-MS' => "Romania: Mureș", 'RO-NT' => "Romania: Neamț", 'RO-OT' => "Romania: Olt", 'RO-PH' => "Romania: Prahova", 'RO-SM' => "Romania: Satu Mare", 'RO-SB' => "Romania: Sibiu", 'RO-SV' => "Romania: Suceava", 'RO-SJ' => "Romania: Sălaj", 'RO-TR' => "Romania: Teleorman", 'RO-TM' => "Romania: Timiș", 'RO-TL' => "Romania: Tulcea", 'RO-VS' => "Romania: Vaslui", 'RO-VN' => "Romania: Vrancea", 'RO-VL' => "Romania: Vâlcea", '--RU' => "", '-RU' => "Russian Federation", 'RU-AD' => "Russian Federation: Adygeya, Respublika", 'RU-AL' => "Russian Federation: Altay, Respublika", 'RU-ALT' => "Russian Federation: Altayskiy kray", 'RU-AMU' => "Russian Federation: Amurskaya oblast'", 'RU-ARK' => "Russian Federation: Arkhangel'skaya oblast'", 'RU-AST' => "Russian Federation: Astrakhanskaya oblast'", 'RU-BA' => "Russian Federation: Bashkortostan, Respublika", 'RU-BEL' => "Russian Federation: Belgorodskaya oblast'", 'RU-BRY' => "Russian Federation: Bryanskaya oblast'", 'RU-BU' => "Russian Federation: Buryatiya, Respublika", 'RU-CE' => "Russian Federation: Chechenskaya Respublika", 'RU-CHE' => "Russian Federation: Chelyabinskaya oblast'", 'RU-CHU' => "Russian Federation: Chukotskiy avtonomnyy okrug", 'RU-CU' => "Russian Federation: Chuvashskaya Respublika", 'RU-DA' => "Russian Federation: Dagestan, Respublika", 'RU-IRK' => "Russian Federation: Irkutiskaya oblast'", 'RU-IVA' => "Russian Federation: Ivanovskaya oblast'", 'RU-KB' => "Russian Federation: Kabardino-Balkarskaya Respublika", 'RU-KGD' => "Russian Federation: Kaliningradskaya oblast'", 'RU-KL' => "Russian Federation: Kalmykiya, Respublika", 'RU-KLU' => "Russian Federation: Kaluzhskaya oblast'", 'RU-KAM' => "Russian Federation: Kamchatskiy kray", 'RU-KC' => "Russian Federation: Karachayevo-Cherkesskaya Respublika", 'RU-KR' => "Russian Federation: Kareliya, Respublika", 'RU-KEM' => "Russian Federation: Kemerovskaya oblast'", 'RU-KHA' => "Russian Federation: Khabarovskiy kray", 'RU-KK' => "Russian Federation: Khakasiya, Respublika", 'RU-KHM' => "Russian Federation: Khanty-Mansiysky avtonomnyy okrug-Yugra", 'RU-KIR' => "Russian Federation: Kirovskaya oblast'", 'RU-KO' => "Russian Federation: Komi, Respublika", 'RU-KOS' => "Russian Federation: Kostromskaya oblast'", 'RU-KDA' => "Russian Federation: Krasnodarskiy kray", 'RU-KYA' => "Russian Federation: Krasnoyarskiy kray", 'RU-KGN' => "Russian Federation: Kurganskaya oblast'", 'RU-KRS' => "Russian Federation: Kurskaya oblast'", 'RU-LEN' => "Russian Federation: Leningradskaya oblast'", 'RU-LIP' => "Russian Federation: Lipetskaya oblast'", 'RU-MAG' => "Russian Federation: Magadanskaya oblast'", 'RU-ME' => "Russian Federation: Mariy El, Respublika", 'RU-MO' => "Russian Federation: Mordoviya, Respublika", 'RU-MOS' => "Russian Federation: Moskovskaya oblast'", 'RU-MOW' => "Russian Federation: Moskva", 'RU-MUR' => "Russian Federation: Murmanskaya oblast'", 'RU-NEN' => "Russian Federation: Nenetskiy avtonomnyy okrug", 'RU-NIZ' => "Russian Federation: Nizhegorodskaya oblast'", 'RU-NGR' => "Russian Federation: Novgorodskaya oblast'", 'RU-NVS' => "Russian Federation: Novosibirskaya oblast'", 'RU-OMS' => "Russian Federation: Omskaya oblast'", 'RU-ORE' => "Russian Federation: Orenburgskaya oblast'", 'RU-ORL' => "Russian Federation: Orlovskaya oblast'", 'RU-PNZ' => "Russian Federation: Penzenskaya oblast'", 'RU-PER' => "Russian Federation: Permskiy kray", 'RU-PRI' => "Russian Federation: Primorskiy kray", 'RU-PSK' => "Russian Federation: Pskovskaya oblast'", 'RU-IN' => "Russian Federation: Respublika Ingushetiya", 'RU-ROS' => "Russian Federation: Rostovskaya oblast'", 'RU-RYA' => "Russian Federation: Ryazanskaya oblast'", 'RU-SA' => "Russian Federation: Sakha, Respublika [Yakutiya]", 'RU-SAK' => "Russian Federation: Sakhalinskaya oblast'", 'RU-SAM' => "Russian Federation: Samaraskaya oblast'", 'RU-SPE' => "Russian Federation: Sankt-Peterburg", 'RU-SAR' => "Russian Federation: Saratovskaya oblast'", 'RU-SE' => "Russian Federation: Severnaya Osetiya-Alaniya, Respublika", 'RU-SMO' => "Russian Federation: Smolenskaya oblast'", 'RU-STA' => "Russian Federation: Stavropol'skiy kray", 'RU-SVE' => "Russian Federation: Sverdlovskaya oblast'", 'RU-TAM' => "Russian Federation: Tambovskaya oblast'", 'RU-TA' => "Russian Federation: Tatarstan, Respublika", 'RU-TOM' => "Russian Federation: Tomskaya oblast'", 'RU-TUL' => "Russian Federation: Tul'skaya oblast'", 'RU-TVE' => "Russian Federation: Tverskaya oblast'", 'RU-TYU' => "Russian Federation: Tyumenskaya oblast'", 'RU-TY' => "Russian Federation: Tyva, Respublika [Tuva]", 'RU-UD' => "Russian Federation: Udmurtskaya Respublika", 'RU-ULY' => "Russian Federation: Ul'yanovskaya oblast'", 'RU-VLA' => "Russian Federation: Vladimirskaya oblast'", 'RU-VGG' => "Russian Federation: Volgogradskaya oblast'", 'RU-VLG' => "Russian Federation: Vologodskaya oblast'", 'RU-VOR' => "Russian Federation: Voronezhskaya oblast'", 'RU-YAN' => "Russian Federation: Yamalo-Nenetskiy avtonomnyy okrug", 'RU-YAR' => "Russian Federation: Yaroslavskaya oblast'", 'RU-YEV' => "Russian Federation: Yevreyskaya avtonomnaya oblast'", 'RU-ZAB' => "Russian Federation: Zabajkal'skij kraj", '--SK' => "", '-SK' => "Slovakia", 'SK-BC' => "Slovakia: Banskobystrický kraj", 'SK-BL' => "Slovakia: Bratislavský kraj", 'SK-KI' => "Slovakia: Košický kraj", 'SK-NI' => "Slovakia: Nitriansky kraj", 'SK-PV' => "Slovakia: Prešovský kraj", 'SK-TC' => "Slovakia: Trenčiansky kraj", 'SK-TA' => "Slovakia: Trnavský kraj", 'SK-ZI' => "Slovakia: Žilinský kraj", '--SI' => "", '-SI' => "Slovenia", 'SI-001' => "Slovenia: Ajdovščina", 'SI-195' => "Slovenia: Apače", 'SI-002' => "Slovenia: Beltinci", 'SI-148' => "Slovenia: Benedikt", 'SI-149' => "Slovenia: Bistrica ob Sotli", 'SI-003' => "Slovenia: Bled", 'SI-150' => "Slovenia: Bloke", 'SI-004' => "Slovenia: Bohinj", 'SI-005' => "Slovenia: Borovnica", 'SI-006' => "Slovenia: Bovec", 'SI-151' => "Slovenia: Braslovče", 'SI-007' => "Slovenia: Brda", 'SI-008' => "Slovenia: Brezovica", 'SI-009' => "Slovenia: Brežice", 'SI-152' => "Slovenia: Cankova", 'SI-011' => "Slovenia: Celje", 'SI-012' => "Slovenia: Cerklje na Gorenjskem", 'SI-013' => "Slovenia: Cerknica", 'SI-014' => "Slovenia: Cerkno", 'SI-153' => "Slovenia: Cerkvenjak", 'SI-196' => "Slovenia: Cirkulane", 'SI-018' => "Slovenia: Destrnik", 'SI-019' => "Slovenia: Divača", 'SI-154' => "Slovenia: Dobje", 'SI-020' => "Slovenia: Dobrepolje", 'SI-155' => "Slovenia: Dobrna", 'SI-021' => "Slovenia: Dobrova-Polhov Gradec", 'SI-156' => "Slovenia: Dobrovnik/Dobronak", 'SI-022' => "Slovenia: Dol pri Ljubljani", 'SI-157' => "Slovenia: Dolenjske Toplice", 'SI-023' => "Slovenia: Domžale", 'SI-024' => "Slovenia: Dornava", 'SI-025' => "Slovenia: Dravograd", 'SI-026' => "Slovenia: Duplek", 'SI-027' => "Slovenia: Gorenja vas-Poljane", 'SI-028' => "Slovenia: Gorišnica", 'SI-207' => "Slovenia: Gorje", 'SI-029' => "Slovenia: Gornja Radgona", 'SI-030' => "Slovenia: Gornji Grad", 'SI-031' => "Slovenia: Gornji Petrovci", 'SI-158' => "Slovenia: Grad", 'SI-032' => "Slovenia: Grosuplje", 'SI-159' => "Slovenia: Hajdina", 'SI-161' => "Slovenia: Hodoš/Hodos", 'SI-162' => "Slovenia: Horjul", 'SI-160' => "Slovenia: Hoče-Slivnica", 'SI-034' => "Slovenia: Hrastnik", 'SI-035' => "Slovenia: Hrpelje-Kozina", 'SI-036' => "Slovenia: Idrija", 'SI-037' => "Slovenia: Ig", 'SI-038' => "Slovenia: Ilirska Bistrica", 'SI-039' => "Slovenia: Ivančna Gorica", 'SI-040' => "Slovenia: Izola/Isola", 'SI-041' => "Slovenia: Jesenice", 'SI-163' => "Slovenia: Jezersko", 'SI-042' => "Slovenia: Juršinci", 'SI-043' => "Slovenia: Kamnik", 'SI-044' => "Slovenia: Kanal", 'SI-045' => "Slovenia: Kidričevo", 'SI-046' => "Slovenia: Kobarid", 'SI-047' => "Slovenia: Kobilje", 'SI-049' => "Slovenia: Komen", 'SI-164' => "Slovenia: Komenda", 'SI-050' => "Slovenia: Koper/Capodistria", 'SI-197' => "Slovenia: Kosanjevica na Krki", 'SI-165' => "Slovenia: Kostel", 'SI-051' => "Slovenia: Kozje", 'SI-048' => "Slovenia: Kočevje", 'SI-052' => "Slovenia: Kranj", 'SI-053' => "Slovenia: Kranjska Gora", 'SI-166' => "Slovenia: Križevci", 'SI-054' => "Slovenia: Krško", 'SI-055' => "Slovenia: Kungota", 'SI-056' => "Slovenia: Kuzma", 'SI-057' => "Slovenia: Laško", 'SI-058' => "Slovenia: Lenart", 'SI-059' => "Slovenia: Lendava/Lendva", 'SI-060' => "Slovenia: Litija", 'SI-061' => "Slovenia: Ljubljana", 'SI-062' => "Slovenia: Ljubno", 'SI-063' => "Slovenia: Ljutomer", 'SI-208' => "Slovenia: Log-Dragomer", 'SI-064' => "Slovenia: Logatec", 'SI-167' => "Slovenia: Lovrenc na Pohorju", 'SI-065' => "Slovenia: Loška dolina", 'SI-066' => "Slovenia: Loški Potok", 'SI-068' => "Slovenia: Lukovica", 'SI-067' => "Slovenia: Luče", 'SI-069' => "Slovenia: Majšperk", 'SI-198' => "Slovenia: Makole", 'SI-070' => "Slovenia: Maribor", 'SI-168' => "Slovenia: Markovci", 'SI-071' => "Slovenia: Medvode", 'SI-072' => "Slovenia: Mengeš", 'SI-073' => "Slovenia: Metlika", 'SI-074' => "Slovenia: Mežica", 'SI-169' => "Slovenia: Miklavž na Dravskem polju", 'SI-075' => "Slovenia: Miren-Kostanjevica", 'SI-170' => "Slovenia: Mirna Peč", 'SI-076' => "Slovenia: Mislinja", 'SI-199' => "Slovenia: Mokronog-Trebelno", 'SI-078' => "Slovenia: Moravske Toplice", 'SI-077' => "Slovenia: Moravče", 'SI-079' => "Slovenia: Mozirje", 'SI-080' => "Slovenia: Murska Sobota", 'SI-081' => "Slovenia: Muta", 'SI-082' => "Slovenia: Naklo", 'SI-083' => "Slovenia: Nazarje", 'SI-084' => "Slovenia: Nova Gorica", 'SI-085' => "Slovenia: Novo mesto", 'SI-086' => "Slovenia: Odranci", 'SI-171' => "Slovenia: Oplotnica", 'SI-087' => "Slovenia: Ormož", 'SI-088' => "Slovenia: Osilnica", 'SI-089' => "Slovenia: Pesnica", 'SI-090' => "Slovenia: Piran/Pirano", 'SI-091' => "Slovenia: Pivka", 'SI-172' => "Slovenia: Podlehnik", 'SI-093' => "Slovenia: Podvelka", 'SI-092' => "Slovenia: Podčetrtek", 'SI-200' => "Slovenia: Poljčane", 'SI-173' => "Slovenia: Polzela", 'SI-094' => "Slovenia: Postojna", 'SI-174' => "Slovenia: Prebold", 'SI-095' => "Slovenia: Preddvor", 'SI-175' => "Slovenia: Prevalje", 'SI-096' => "Slovenia: Ptuj", 'SI-097' => "Slovenia: Puconci", 'SI-100' => "Slovenia: Radenci", 'SI-099' => "Slovenia: Radeče", 'SI-101' => "Slovenia: Radlje ob Dravi", 'SI-102' => "Slovenia: Radovljica", 'SI-103' => "Slovenia: Ravne na Koroškem", 'SI-176' => "Slovenia: Razkrižje", 'SI-098' => "Slovenia: Rače-Fram", 'SI-201' => "Slovenia: Renče-Vogrsko", 'SI-209' => "Slovenia: Rečica ob Savinji", 'SI-104' => "Slovenia: Ribnica", 'SI-177' => "Slovenia: Ribnica na Pohorju", 'SI-107' => "Slovenia: Rogatec", 'SI-106' => "Slovenia: Rogaška Slatina", 'SI-105' => "Slovenia: Rogašovci", 'SI-108' => "Slovenia: Ruše", 'SI-178' => "Slovenia: Selnica ob Dravi", 'SI-109' => "Slovenia: Semič", 'SI-110' => "Slovenia: Sevnica", 'SI-111' => "Slovenia: Sežana", 'SI-112' => "Slovenia: Slovenj Gradec", 'SI-113' => "Slovenia: Slovenska Bistrica", 'SI-114' => "Slovenia: Slovenske Konjice", 'SI-179' => "Slovenia: Sodražica", 'SI-180' => "Slovenia: Solčava", 'SI-202' => "Slovenia: Središče ob Dravi", 'SI-115' => "Slovenia: Starče", 'SI-203' => "Slovenia: Straža", 'SI-181' => "Slovenia: Sveta Ana", 'SI-182' => "Slovenia: Sveta Andraž v Slovenskih Goricah", 'SI-204' => "Slovenia: Sveta Trojica v Slovenskih Goricah", 'SI-116' => "Slovenia: Sveti Jurij", 'SI-210' => "Slovenia: Sveti Jurij v Slovenskih Goricah", 'SI-205' => "Slovenia: Sveti Tomaž", 'SI-184' => "Slovenia: Tabor", 'SI-010' => "Slovenia: Tišina", 'SI-128' => "Slovenia: Tolmin", 'SI-129' => "Slovenia: Trbovlje", 'SI-130' => "Slovenia: Trebnje", 'SI-185' => "Slovenia: Trnovska vas", 'SI-186' => "Slovenia: Trzin", 'SI-131' => "Slovenia: Tržič", 'SI-132' => "Slovenia: Turnišče", 'SI-133' => "Slovenia: Velenje", 'SI-187' => "Slovenia: Velika Polana", 'SI-134' => "Slovenia: Velike Lašče", 'SI-188' => "Slovenia: Veržej", 'SI-135' => "Slovenia: Videm", 'SI-136' => "Slovenia: Vipava", 'SI-137' => "Slovenia: Vitanje", 'SI-138' => "Slovenia: Vodice", 'SI-139' => "Slovenia: Vojnik", 'SI-189' => "Slovenia: Vransko", 'SI-140' => "Slovenia: Vrhnika", 'SI-141' => "Slovenia: Vuzenica", 'SI-142' => "Slovenia: Zagorje ob Savi", 'SI-143' => "Slovenia: Zavrč", 'SI-144' => "Slovenia: Zreče", 'SI-015' => "Slovenia: Črenšovci", 'SI-016' => "Slovenia: Črna na Koroškem", 'SI-017' => "Slovenia: Črnomelj", 'SI-033' => "Slovenia: Šalovci", 'SI-183' => "Slovenia: Šempeter-Vrtojba", 'SI-118' => "Slovenia: Šentilj", 'SI-119' => "Slovenia: Šentjernej", 'SI-120' => "Slovenia: Šentjur", 'SI-211' => "Slovenia: Šentrupert", 'SI-117' => "Slovenia: Šenčur", 'SI-121' => "Slovenia: Škocjan", 'SI-122' => "Slovenia: Škofja Loka", 'SI-123' => "Slovenia: Škofljica", 'SI-124' => "Slovenia: Šmarje pri Jelšah", 'SI-206' => "Slovenia: Šmarjeske Topliče", 'SI-125' => "Slovenia: Šmartno ob Paki", 'SI-194' => "Slovenia: Šmartno pri Litiji", 'SI-126' => "Slovenia: Šoštanj", 'SI-127' => "Slovenia: Štore", 'SI-190' => "Slovenia: Žalec", 'SI-146' => "Slovenia: Železniki", 'SI-191' => "Slovenia: Žetale", 'SI-147' => "Slovenia: Žiri", 'SI-192' => "Slovenia: Žirovnica", 'SI-193' => "Slovenia: Žužemberk", '--ZA' => "", '-ZA' => "South Africa", 'ZA-EC' => "South Africa: Eastern Cape", 'ZA-FS' => "South Africa: Free State", 'ZA-GT' => "South Africa: Gauteng", 'ZA-NL' => "South Africa: Kwazulu-Natal", 'ZA-LP' => "South Africa: Limpopo", 'ZA-MP' => "South Africa: Mpumalanga", 'ZA-NW' => "South Africa: North-West (South Africa)", 'ZA-NC' => "South Africa: Northern Cape", 'ZA-WC' => "South Africa: Western Cape", '--ES' => "", '-ES' => "Spain", 'ES-C' => "Spain: A Coruña", 'ES-AB' => "Spain: Albacete", 'ES-A' => "Spain: Alicante", 'ES-AL' => "Spain: Almería", 'ES-AN' => "Spain: Andalucía", 'ES-AR' => "Spain: Aragón", 'ES-O' => "Spain: Asturias", 'ES-AS' => "Spain: Asturias, Principado de", 'ES-BA' => "Spain: Badajoz", 'ES-PM' => "Spain: Balears", 'ES-B' => "Spain: Barcelona", 'ES-BU' => "Spain: Burgos", 'ES-CN' => "Spain: Canarias", 'ES-S' => "Spain: Cantabria", 'ES-CS' => "Spain: Castellón", 'ES-CL' => "Spain: Castilla y León", 'ES-CM' => "Spain: Castilla-La Mancha", 'ES-CT' => "Spain: Catalunya", 'ES-CE' => "Spain: Ceuta", 'ES-CR' => "Spain: Ciudad Real", 'ES-CU' => "Spain: Cuenca", 'ES-CC' => "Spain: Cáceres", 'ES-CA' => "Spain: Cádiz", 'ES-CO' => "Spain: Córdoba", 'ES-EX' => "Spain: Extremadura", 'ES-GA' => "Spain: Galicia", 'ES-GI' => "Spain: Girona", 'ES-GR' => "Spain: Granada", 'ES-GU' => "Spain: Guadalajara", 'ES-SS' => "Spain: Guipúzcoa / Gipuzkoa", 'ES-H' => "Spain: Huelva", 'ES-HU' => "Spain: Huesca", 'ES-IB' => "Spain: Illes Balears", 'ES-J' => "Spain: Jaén", 'ES-LO' => "Spain: La Rioja", 'ES-GC' => "Spain: Las Palmas", 'ES-LE' => "Spain: León", 'ES-L' => "Spain: Lleida", 'ES-LU' => "Spain: Lugo", 'ES-M' => "Spain: Madrid", 'ES-MD' => "Spain: Madrid, Comunidad de", 'ES-ML' => "Spain: Melilla", 'ES-MU' => "Spain: Murcia", 'ES-MC' => "Spain: Murcia, Región de", 'ES-MA' => "Spain: Málaga", 'ES-NA' => "Spain: Navarra / Nafarroa", 'ES-NC' => "Spain: Navarra, Comunidad Foral de / Nafarroako Foru Komunitatea", 'ES-OR' => "Spain: Ourense", 'ES-P' => "Spain: Palencia", 'ES-PV' => "Spain: País Vasco / Euskal Herria", 'ES-PO' => "Spain: Pontevedra", 'ES-SA' => "Spain: Salamanca", 'ES-TF' => "Spain: Santa Cruz de Tenerife", 'ES-SG' => "Spain: Segovia", 'ES-SE' => "Spain: Sevilla", 'ES-SO' => "Spain: Soria", 'ES-T' => "Spain: Tarragona", 'ES-TE' => "Spain: Teruel", 'ES-TO' => "Spain: Toledo", 'ES-V' => "Spain: Valencia / València", 'ES-VC' => "Spain: Valenciana, Comunidad / Valenciana, Comunitat", 'ES-VA' => "Spain: Valladolid", 'ES-BI' => "Spain: Vizcayaa / Bizkaia", 'ES-ZA' => "Spain: Zamora", 'ES-Z' => "Spain: Zaragoza", 'ES-VI' => "Spain: Álava", 'ES-AV' => "Spain: Ávila", '--SE' => "", '-SE' => "Sweden", 'SE-K' => "Sweden: Blekinge län", 'SE-W' => "Sweden: Dalarnas län", 'SE-I' => "Sweden: Gotlands län", 'SE-X' => "Sweden: Gävleborgs län", 'SE-N' => "Sweden: Hallands län", 'SE-Z' => "Sweden: Jämtlande län", 'SE-F' => "Sweden: Jönköpings län", 'SE-H' => "Sweden: Kalmar län", 'SE-G' => "Sweden: Kronobergs län", 'SE-BD' => "Sweden: Norrbottens län", 'SE-M' => "Sweden: Skåne län", 'SE-AB' => "Sweden: Stockholms län", 'SE-D' => "Sweden: Södermanlands län", 'SE-C' => "Sweden: Uppsala län", 'SE-S' => "Sweden: Värmlands län", 'SE-AC' => "Sweden: Västerbottens län", 'SE-Y' => "Sweden: Västernorrlands län", 'SE-U' => "Sweden: Västmanlands län", 'SE-O' => "Sweden: Västra Götalands län", 'SE-T' => "Sweden: Örebro län", 'SE-E' => "Sweden: Östergötlands län", '--CH' => "", '-CH' => "Switzerland", 'CH-AG' => "Switzerland: Aargau", 'CH-AR' => "Switzerland: Appenzell Ausserrhoden", 'CH-AI' => "Switzerland: Appenzell Innerrhoden", 'CH-BL' => "Switzerland: Basel-Landschaft", 'CH-BS' => "Switzerland: Basel-Stadt", 'CH-BE' => "Switzerland: Bern", 'CH-FR' => "Switzerland: Fribourg", 'CH-GE' => "Switzerland: Genève", 'CH-GL' => "Switzerland: Glarus", 'CH-GR' => "Switzerland: Graubünden", 'CH-JU' => "Switzerland: Jura", 'CH-LU' => "Switzerland: Luzern", 'CH-NE' => "Switzerland: Neuchâtel", 'CH-NW' => "Switzerland: Nidwalden", 'CH-OW' => "Switzerland: Obwalden", 'CH-SG' => "Switzerland: Sankt Gallen", 'CH-SH' => "Switzerland: Schaffhausen", 'CH-SZ' => "Switzerland: Schwyz", 'CH-SO' => "Switzerland: Solothurn", 'CH-TG' => "Switzerland: Thurgau", 'CH-TI' => "Switzerland: Ticino", 'CH-UR' => "Switzerland: Uri", 'CH-VS' => "Switzerland: Valais", 'CH-VD' => "Switzerland: Vaud", 'CH-ZG' => "Switzerland: Zug", 'CH-ZH' => "Switzerland: Zürich", '--TW' => "", '-TW' => "Taiwan", 'TW-CHA' => "Taiwan: Changhua", 'TW-CYI' => "Taiwan: Chiay City", 'TW-CYQ' => "Taiwan: Chiayi", 'TW-HSQ' => "Taiwan: Hsinchu", 'TW-HSZ' => "Taiwan: Hsinchui City", 'TW-HUA' => "Taiwan: Hualien", 'TW-ILA' => "Taiwan: Ilan", 'TW-KHQ' => "Taiwan: Kaohsiung", 'TW-KHH' => "Taiwan: Kaohsiung City", 'TW-KEE' => "Taiwan: Keelung City", 'TW-MIA' => "Taiwan: Miaoli", 'TW-NAN' => "Taiwan: Nantou", 'TW-PEN' => "Taiwan: Penghu", 'TW-PIF' => "Taiwan: Pingtung", 'TW-TXQ' => "Taiwan: Taichung", 'TW-TXG' => "Taiwan: Taichung City", 'TW-TNQ' => "Taiwan: Tainan", 'TW-TNN' => "Taiwan: Tainan City", 'TW-TPQ' => "Taiwan: Taipei", 'TW-TPE' => "Taiwan: Taipei City", 'TW-TTT' => "Taiwan: Taitung", 'TW-TAO' => "Taiwan: Taoyuan", 'TW-YUN' => "Taiwan: Yunlin", '--TH' => "", '-TH' => "Thailand", 'TH-37' => "Thailand: Amnat Charoen", 'TH-15' => "Thailand: Ang Thong", 'TH-31' => "Thailand: Buri Ram", 'TH-24' => "Thailand: Chachoengsao", 'TH-18' => "Thailand: Chai Nat", 'TH-36' => "Thailand: Chaiyaphum", 'TH-22' => "Thailand: Chanthaburi", 'TH-50' => "Thailand: Chiang Mai", 'TH-57' => "Thailand: Chiang Rai", 'TH-20' => "Thailand: Chon Buri", 'TH-86' => "Thailand: Chumphon", 'TH-46' => "Thailand: Kalasin", 'TH-62' => "Thailand: Kamphaeng Phet", 'TH-71' => "Thailand: Kanchanaburi", 'TH-40' => "Thailand: Khon Kaen", 'TH-81' => "Thailand: Krabi", 'TH-10' => "Thailand: Krung Thep Maha Nakhon Bangkok", 'TH-52' => "Thailand: Lampang", 'TH-51' => "Thailand: Lamphun", 'TH-42' => "Thailand: Loei", 'TH-16' => "Thailand: Lop Buri", 'TH-58' => "Thailand: Mae Hong Son", 'TH-44' => "Thailand: Maha Sarakham", 'TH-49' => "Thailand: Mukdahan", 'TH-26' => "Thailand: Nakhon Nayok", 'TH-73' => "Thailand: Nakhon Pathom", 'TH-48' => "Thailand: Nakhon Phanom", 'TH-30' => "Thailand: Nakhon Ratchasima", 'TH-60' => "Thailand: Nakhon Sawan", 'TH-80' => "Thailand: Nakhon Si Thammarat", 'TH-55' => "Thailand: Nan", 'TH-96' => "Thailand: Narathiwat", 'TH-39' => "Thailand: Nong Bua Lam Phu", 'TH-43' => "Thailand: Nong Khai", 'TH-12' => "Thailand: Nonthaburi", 'TH-13' => "Thailand: Pathum Thani", 'TH-94' => "Thailand: Pattani", 'TH-82' => "Thailand: Phangnga", 'TH-93' => "Thailand: Phatthalung", 'TH-S' => "Thailand: Phatthaya", 'TH-56' => "Thailand: Phayao", 'TH-67' => "Thailand: Phetchabun", 'TH-76' => "Thailand: Phetchaburi", 'TH-66' => "Thailand: Phichit", 'TH-65' => "Thailand: Phitsanulok", 'TH-14' => "Thailand: Phra Nakhon Si Ayutthaya", 'TH-54' => "Thailand: Phrae", 'TH-83' => "Thailand: Phuket", 'TH-25' => "Thailand: Prachin Buri", 'TH-77' => "Thailand: Prachuap Khiri Khan", 'TH-85' => "Thailand: Ranong", 'TH-70' => "Thailand: Ratchaburi", 'TH-21' => "Thailand: Rayong", 'TH-45' => "Thailand: Roi Et", 'TH-27' => "Thailand: Sa Kaeo", 'TH-47' => "Thailand: Sakon Nakhon", 'TH-11' => "Thailand: Samut Prakan", 'TH-74' => "Thailand: Samut Sakhon", 'TH-75' => "Thailand: Samut Songkhram", 'TH-19' => "Thailand: Saraburi", 'TH-91' => "Thailand: Satun", 'TH-33' => "Thailand: Si Sa Ket", 'TH-17' => "Thailand: Sing Buri", 'TH-90' => "Thailand: Songkhla", 'TH-64' => "Thailand: Sukhothai", 'TH-72' => "Thailand: Suphan Buri", 'TH-84' => "Thailand: Surat Thani", 'TH-32' => "Thailand: Surin", 'TH-63' => "Thailand: Tak", 'TH-92' => "Thailand: Trang", 'TH-23' => "Thailand: Trat", 'TH-34' => "Thailand: Ubon Ratchathani", 'TH-41' => "Thailand: Udon Thani", 'TH-61' => "Thailand: Uthai Thani", 'TH-53' => "Thailand: Uttaradit", 'TH-95' => "Thailand: Yala", 'TH-35' => "Thailand: Yasothon", '--TR' => "", '-TR' => "Turkey", 'TR-01' => "Turkey: Adana", 'TR-02' => "Turkey: Adıyaman", 'TR-03' => "Turkey: Afyon", 'TR-68' => "Turkey: Aksaray", 'TR-05' => "Turkey: Amasya", 'TR-06' => "Turkey: Ankara", 'TR-07' => "Turkey: Antalya", 'TR-75' => "Turkey: Ardahan", 'TR-08' => "Turkey: Artvin", 'TR-09' => "Turkey: Aydın", 'TR-04' => "Turkey: Ağrı", 'TR-10' => "Turkey: Balıkesir", 'TR-74' => "Turkey: Bartın", 'TR-72' => "Turkey: Batman", 'TR-69' => "Turkey: Bayburt", 'TR-11' => "Turkey: Bilecik", 'TR-12' => "Turkey: Bingöl", 'TR-13' => "Turkey: Bitlis", 'TR-14' => "Turkey: Bolu", 'TR-15' => "Turkey: Burdur", 'TR-16' => "Turkey: Bursa", 'TR-20' => "Turkey: Denizli", 'TR-21' => "Turkey: Diyarbakır", 'TR-81' => "Turkey: Düzce", 'TR-22' => "Turkey: Edirne", 'TR-23' => "Turkey: Elazığ", 'TR-24' => "Turkey: Erzincan", 'TR-25' => "Turkey: Erzurum", 'TR-26' => "Turkey: Eskişehir", 'TR-27' => "Turkey: Gaziantep", 'TR-28' => "Turkey: Giresun", 'TR-29' => "Turkey: Gümüşhane", 'TR-30' => "Turkey: Hakkâri", 'TR-31' => "Turkey: Hatay", 'TR-32' => "Turkey: Isparta", 'TR-76' => "Turkey: Iğdır", 'TR-46' => "Turkey: Kahramanmaraş", 'TR-78' => "Turkey: Karabük", 'TR-70' => "Turkey: Karaman", 'TR-36' => "Turkey: Kars", 'TR-37' => "Turkey: Kastamonu", 'TR-38' => "Turkey: Kayseri", 'TR-79' => "Turkey: Kilis", 'TR-41' => "Turkey: Kocaeli", 'TR-42' => "Turkey: Konya", 'TR-43' => "Turkey: Kütahya", 'TR-39' => "Turkey: Kırklareli", 'TR-71' => "Turkey: Kırıkkale", 'TR-40' => "Turkey: Kırşehir", 'TR-44' => "Turkey: Malatya", 'TR-45' => "Turkey: Manisa", 'TR-47' => "Turkey: Mardin", 'TR-48' => "Turkey: Muğla", 'TR-49' => "Turkey: Muş", 'TR-50' => "Turkey: Nevşehir", 'TR-51' => "Turkey: Niğde", 'TR-52' => "Turkey: Ordu", 'TR-80' => "Turkey: Osmaniye", 'TR-53' => "Turkey: Rize", 'TR-54' => "Turkey: Sakarya", 'TR-55' => "Turkey: Samsun", 'TR-56' => "Turkey: Siirt", 'TR-57' => "Turkey: Sinop", 'TR-58' => "Turkey: Sivas", 'TR-59' => "Turkey: Tekirdağ", 'TR-60' => "Turkey: Tokat", 'TR-61' => "Turkey: Trabzon", 'TR-62' => "Turkey: Tunceli", 'TR-64' => "Turkey: Uşak", 'TR-65' => "Turkey: Van", 'TR-77' => "Turkey: Yalova", 'TR-66' => "Turkey: Yozgat", 'TR-67' => "Turkey: Zonguldak", 'TR-17' => "Turkey: Çanakkale", 'TR-18' => "Turkey: Çankırı", 'TR-19' => "Turkey: Çorum", 'TR-34' => "Turkey: İstanbul", 'TR-35' => "Turkey: İzmir", 'TR-33' => "Turkey: İçel", 'TR-63' => "Turkey: Şanlıurfa", 'TR-73' => "Turkey: Şırnak", '--UA' => "", '-UA' => "Ukraine", 'UA-71' => "Ukraine: Cherkas'ka Oblast'", 'UA-74' => "Ukraine: Chernihivs'ka Oblast'", 'UA-77' => "Ukraine: Chernivets'ka Oblast'", 'UA-12' => "Ukraine: Dnipropetrovs'ka Oblast'", 'UA-14' => "Ukraine: Donets'ka Oblast'", 'UA-26' => "Ukraine: Ivano-Frankivs'ka Oblast'", 'UA-63' => "Ukraine: Kharkivs'ka Oblast'", 'UA-65' => "Ukraine: Khersons'ka Oblast'", 'UA-68' => "Ukraine: Khmel'nyts'ka Oblast'", 'UA-35' => "Ukraine: Kirovohrads'ka Oblast'", 'UA-32' => "Ukraine: Kyïvs'ka Oblast'", 'UA-30' => "Ukraine: Kyïvs'ka mis'ka rada", 'UA-46' => "Ukraine: L'vivs'ka Oblast'", 'UA-09' => "Ukraine: Luhans'ka Oblast'", 'UA-48' => "Ukraine: Mykolaïvs'ka Oblast'", 'UA-51' => "Ukraine: Odes'ka Oblast'", 'UA-53' => "Ukraine: Poltavs'ka Oblast'", 'UA-43' => "Ukraine: Respublika Krym", 'UA-56' => "Ukraine: Rivnens'ka Oblast'", 'UA-40' => "Ukraine: Sevastopol", 'UA-59' => "Ukraine: Sums 'ka Oblast'", 'UA-61' => "Ukraine: Ternopil's'ka Oblast'", 'UA-05' => "Ukraine: Vinnyts'ka Oblast'", 'UA-07' => "Ukraine: Volyns'ka Oblast'", 'UA-21' => "Ukraine: Zakarpats'ka Oblast'", 'UA-23' => "Ukraine: Zaporiz'ka Oblast'", 'UA-18' => "Ukraine: Zhytomyrs'ka Oblast'", '--AE' => "", '-AE' => "United Arab Emirates", 'AE-AJ' => "United Arab Emirates: 'Ajmān", 'AE-AZ' => "United Arab Emirates: Abū Ȥaby [Abu Dhabi]", 'AE-FU' => "United Arab Emirates: Al Fujayrah", 'AE-SH' => "United Arab Emirates: Ash Shāriqah", 'AE-DU' => "United Arab Emirates: Dubayy", 'AE-RK' => "United Arab Emirates: Ra’s al Khaymah", 'AE-UQ' => "United Arab Emirates: Umm al Qaywayn", '--GB' => "", '-GB' => "United Kingdom", 'GB-ABE' => "United Kingdom: Aberdeen City", 'GB-ABD' => "United Kingdom: Aberdeenshire", 'GB-ANS' => "United Kingdom: Angus", 'GB-ANT' => "United Kingdom: Antrim", 'GB-ARD' => "United Kingdom: Ards", 'GB-AGB' => "United Kingdom: Argyll and Bute", 'GB-ARM' => "United Kingdom: Armagh", 'GB-BLA' => "United Kingdom: Ballymena", 'GB-BLY' => "United Kingdom: Ballymoney", 'GB-BNB' => "United Kingdom: Banbridge", 'GB-BDG' => "United Kingdom: Barking and Dagenham", 'GB-BNE' => "United Kingdom: Barnet", 'GB-BNS' => "United Kingdom: Barnsley", 'GB-BAS' => "United Kingdom: Bath and North East Somerset", 'GB-BDF' => "United Kingdom: Bedford", 'GB-BFS' => "United Kingdom: Belfast", 'GB-BEX' => "United Kingdom: Bexley", 'GB-BIR' => "United Kingdom: Birmingham", 'GB-BBD' => "United Kingdom: Blackburn with Darwen", 'GB-BPL' => "United Kingdom: Blackpool", 'GB-BGW' => "United Kingdom: Blaenau Gwent", 'GB-BOL' => "United Kingdom: Bolton", 'GB-BMH' => "United Kingdom: Bournemouth", 'GB-BRC' => "United Kingdom: Bracknell Forest", 'GB-BRD' => "United Kingdom: Bradford", 'GB-BEN' => "United Kingdom: Brent", 'GB-BGE' => "United Kingdom: Bridgend (Pen-y-bont ar Ogwr)", 'GB-BNH' => "United Kingdom: Brighton and Hove", 'GB-BST' => "United Kingdom: Bristol, City of", 'GB-BRY' => "United Kingdom: Bromley", 'GB-BKM' => "United Kingdom: Buckinghamshire", 'GB-BUR' => "United Kingdom: Bury", 'GB-CAY' => "United Kingdom: Caerphilly (Caerffili)", 'GB-CLD' => "United Kingdom: Calderdale", 'GB-CAM' => "United Kingdom: Cambridgeshire", 'GB-CMD' => "United Kingdom: Camden", 'GB-CRF' => "United Kingdom: Cardiff (Caerdydd)", 'GB-CMN' => "United Kingdom: Carmarthenshire (Sir Gaerfyrddin)", 'GB-CKF' => "United Kingdom: Carrickfergus", 'GB-CSR' => "United Kingdom: Castlereagh", 'GB-CBF' => "United Kingdom: Central Bedfordshire", 'GB-CGN' => "United Kingdom: Ceredigion (Sir Ceredigion)", 'GB-CHE' => "United Kingdom: Cheshire East", 'GB-CHW' => "United Kingdom: Cheshire West and Chester", 'GB-CLK' => "United Kingdom: Clackmannanshire", 'GB-CLR' => "United Kingdom: Coleraine", 'GB-CWY' => "United Kingdom: Conwy", 'GB-CKT' => "United Kingdom: Cookstown", 'GB-CON' => "United Kingdom: Cornwall", 'GB-COV' => "United Kingdom: Coventry", 'GB-CGV' => "United Kingdom: Craigavon", 'GB-CRY' => "United Kingdom: Croydon", 'GB-CMA' => "United Kingdom: Cumbria", 'GB-DAL' => "United Kingdom: Darlington", 'GB-DEN' => "United Kingdom: Denbighshire (Sir Ddinbych)", 'GB-DER' => "United Kingdom: Derby", 'GB-DBY' => "United Kingdom: Derbyshire", 'GB-DRY' => "United Kingdom: Derry", 'GB-DEV' => "United Kingdom: Devon", 'GB-DNC' => "United Kingdom: Doncaster", 'GB-DOR' => "United Kingdom: Dorset", 'GB-DOW' => "United Kingdom: Down", 'GB-DUD' => "United Kingdom: Dudley", 'GB-DGY' => "United Kingdom: Dumfries and Galloway", 'GB-DND' => "United Kingdom: Dundee City", 'GB-DGN' => "United Kingdom: Dungannon", 'GB-DUR' => "United Kingdom: Durham", 'GB-EAL' => "United Kingdom: Ealing", 'GB-EAY' => "United Kingdom: East Ayrshire", 'GB-EDU' => "United Kingdom: East Dunbartonshire", 'GB-ELN' => "United Kingdom: East Lothian", 'GB-ERW' => "United Kingdom: East Renfrewshire", 'GB-ERY' => "United Kingdom: East Riding of Yorkshire", 'GB-ESX' => "United Kingdom: East Sussex", 'GB-EDH' => "United Kingdom: Edinburgh, City of", 'GB-ELS' => "United Kingdom: Eilean Siar", 'GB-ENF' => "United Kingdom: Enfield", 'GB-ENG' => "United Kingdom: England", 'GB-EAW' => "United Kingdom: England and Wales", 'GB-ESS' => "United Kingdom: Essex", 'GB-FAL' => "United Kingdom: Falkirk", 'GB-FER' => "United Kingdom: Fermanagh", 'GB-FIF' => "United Kingdom: Fife", 'GB-FLN' => "United Kingdom: Flintshire (Sir y Fflint)", 'GB-GAT' => "United Kingdom: Gateshead", 'GB-GLG' => "United Kingdom: Glasgow City", 'GB-GLS' => "United Kingdom: Gloucestershire", 'GB-GBN' => "United Kingdom: Great Britain", 'GB-GRE' => "United Kingdom: Greenwich", 'GB-GWN' => "United Kingdom: Gwynedd", 'GB-HCK' => "United Kingdom: Hackney", 'GB-HAL' => "United Kingdom: Halton", 'GB-HMF' => "United Kingdom: Hammersmith and Fulham", 'GB-HAM' => "United Kingdom: Hampshire", 'GB-HRY' => "United Kingdom: Haringey", 'GB-HRW' => "United Kingdom: Harrow", 'GB-HPL' => "United Kingdom: Hartlepool", 'GB-HAV' => "United Kingdom: Havering", 'GB-HEF' => "United Kingdom: Herefordshire", 'GB-HRT' => "United Kingdom: Hertfordshire", 'GB-HLD' => "United Kingdom: Highland", 'GB-HIL' => "United Kingdom: Hillingdon", 'GB-HNS' => "United Kingdom: Hounslow", 'GB-IVC' => "United Kingdom: Inverclyde", 'GB-AGY' => "United Kingdom: Isle of Anglesey (Sir Ynys Môn)", 'GB-IOW' => "United Kingdom: Isle of Wight", 'GB-ISL' => "United Kingdom: Islington", 'GB-KEC' => "United Kingdom: Kensington and Chelsea", 'GB-KEN' => "United Kingdom: Kent", 'GB-KHL' => "United Kingdom: Kingston upon Hull", 'GB-KTT' => "United Kingdom: Kingston upon Thames", 'GB-KIR' => "United Kingdom: Kirklees", 'GB-KWL' => "United Kingdom: Knowsley", 'GB-LBH' => "United Kingdom: Lambeth", 'GB-LAN' => "United Kingdom: Lancashire", 'GB-LRN' => "United Kingdom: Larne", 'GB-LDS' => "United Kingdom: Leeds", 'GB-LCE' => "United Kingdom: Leicester", 'GB-LEC' => "United Kingdom: Leicestershire", 'GB-LEW' => "United Kingdom: Lewisham", 'GB-LMV' => "United Kingdom: Limavady", 'GB-LIN' => "United Kingdom: Lincolnshire", 'GB-LSB' => "United Kingdom: Lisburn", 'GB-LIV' => "United Kingdom: Liverpool", 'GB-LND' => "United Kingdom: London, City of", 'GB-LUT' => "United Kingdom: Luton", 'GB-MFT' => "United Kingdom: Magherafelt", 'GB-MAN' => "United Kingdom: Manchester", 'GB-MDW' => "United Kingdom: Medway", 'GB-MTY' => "United Kingdom: Merthyr Tydfil (Merthyr Tudful)", 'GB-MRT' => "United Kingdom: Merton", 'GB-MDB' => "United Kingdom: Middlesbrough", 'GB-MLN' => "United Kingdom: Midlothian", 'GB-MIK' => "United Kingdom: Milton Keynes", 'GB-MON' => "United Kingdom: Monmouthshire (Sir Fynwy)", 'GB-MRY' => "United Kingdom: Moray", 'GB-MYL' => "United Kingdom: Moyle", 'GB-NTL' => "United Kingdom: Neath Port Talbot (Castell-nedd Port Talbot)", 'GB-NET' => "United Kingdom: Newcastle upon Tyne", 'GB-NWM' => "United Kingdom: Newham", 'GB-NWP' => "United Kingdom: Newport (Casnewydd)", 'GB-NYM' => "United Kingdom: Newry and Mourne", 'GB-NTA' => "United Kingdom: Newtownabbey", 'GB-NFK' => "United Kingdom: Norfolk", 'GB-NAY' => "United Kingdom: North Ayrshire", 'GB-NDN' => "United Kingdom: North Down", 'GB-NEL' => "United Kingdom: North East Lincolnshire", 'GB-NLK' => "United Kingdom: North Lanarkshire", 'GB-NLN' => "United Kingdom: North Lincolnshire", 'GB-NSM' => "United Kingdom: North Somerset", 'GB-NTY' => "United Kingdom: North Tyneside", 'GB-NYK' => "United Kingdom: North Yorkshire", 'GB-NTH' => "United Kingdom: Northamptonshire", 'GB-NIR' => "United Kingdom: Northern Ireland", 'GB-NBL' => "United Kingdom: Northumberland", 'GB-NGM' => "United Kingdom: Nottingham", 'GB-NTT' => "United Kingdom: Nottinghamshire", 'GB-OLD' => "United Kingdom: Oldham", 'GB-OMH' => "United Kingdom: Omagh", 'GB-ORK' => "United Kingdom: Orkney Islands", 'GB-OXF' => "United Kingdom: Oxfordshire", 'GB-PEM' => "United Kingdom: Pembrokeshire (Sir Benfro)", 'GB-PKN' => "United Kingdom: Perth and Kinross", 'GB-PTE' => "United Kingdom: Peterborough", 'GB-PLY' => "United Kingdom: Plymouth", 'GB-POL' => "United Kingdom: Poole", 'GB-POR' => "United Kingdom: Portsmouth", 'GB-POW' => "United Kingdom: Powys", 'GB-RDG' => "United Kingdom: Reading", 'GB-RDB' => "United Kingdom: Redbridge", 'GB-RCC' => "United Kingdom: Redcar and Cleveland", 'GB-RFW' => "United Kingdom: Renfrewshire", 'GB-RCT' => "United Kingdom: Rhondda, Cynon, Taff (Rhondda, Cynon, Taf)", 'GB-RIC' => "United Kingdom: Richmond upon Thames", 'GB-RCH' => "United Kingdom: Rochdale", 'GB-ROT' => "United Kingdom: Rotherham", 'GB-RUT' => "United Kingdom: Rutland", 'GB-SLF' => "United Kingdom: Salford", 'GB-SAW' => "United Kingdom: Sandwell", 'GB-SCT' => "United Kingdom: Scotland", 'GB-SCB' => "United Kingdom: Scottish Borders, The", 'GB-SFT' => "United Kingdom: Sefton", 'GB-SHF' => "United Kingdom: Sheffield", 'GB-ZET' => "United Kingdom: Shetland Islands", 'GB-SHR' => "United Kingdom: Shropshire", 'GB-SLG' => "United Kingdom: Slough", 'GB-SOL' => "United Kingdom: Solihull", 'GB-SOM' => "United Kingdom: Somerset", 'GB-SAY' => "United Kingdom: South Ayrshire", 'GB-SGC' => "United Kingdom: South Gloucestershire", 'GB-SLK' => "United Kingdom: South Lanarkshire", 'GB-STY' => "United Kingdom: South Tyneside", 'GB-STH' => "United Kingdom: Southampton", 'GB-SOS' => "United Kingdom: Southend-on-Sea", 'GB-SWK' => "United Kingdom: Southwark", 'GB-SHN' => "United Kingdom: St. Helens", 'GB-STS' => "United Kingdom: Staffordshire", 'GB-STG' => "United Kingdom: Stirling", 'GB-SKP' => "United Kingdom: Stockport", 'GB-STT' => "United Kingdom: Stockton-on-Tees", 'GB-STE' => "United Kingdom: Stoke-on-Trent", 'GB-STB' => "United Kingdom: Strabane", 'GB-SFK' => "United Kingdom: Suffolk", 'GB-SND' => "United Kingdom: Sunderland", 'GB-SRY' => "United Kingdom: Surrey", 'GB-STN' => "United Kingdom: Sutton", 'GB-SWA' => "United Kingdom: Swansea (Abertawe)", 'GB-SWD' => "United Kingdom: Swindon", 'GB-TAM' => "United Kingdom: Tameside", 'GB-TFW' => "United Kingdom: Telford and Wrekin", 'GB-THR' => "United Kingdom: Thurrock", 'GB-TOB' => "United Kingdom: Torbay", 'GB-TOF' => "United Kingdom: Torfaen (Tor-faen)", 'GB-TWH' => "United Kingdom: Tower Hamlets", 'GB-TRF' => "United Kingdom: Trafford", 'GB-UKM' => "United Kingdom: United Kingdom", 'GB-VGL' => "United Kingdom: Vale of Glamorgan, The (Bro Morgannwg)", 'GB-WKF' => "United Kingdom: Wakefield", 'GB-WLS' => "United Kingdom: Wales", 'GB-WLL' => "United Kingdom: Walsall", 'GB-WFT' => "United Kingdom: Waltham Forest", 'GB-WND' => "United Kingdom: Wandsworth", 'GB-WRT' => "United Kingdom: Warrington", 'GB-WAR' => "United Kingdom: Warwickshire", 'GB-WBK' => "United Kingdom: West Berkshire", 'GB-WDU' => "United Kingdom: West Dunbartonshire", 'GB-WLN' => "United Kingdom: West Lothian", 'GB-WSX' => "United Kingdom: West Sussex", 'GB-WSM' => "United Kingdom: Westminster", 'GB-WGN' => "United Kingdom: Wigan", 'GB-WNM' => "United Kingdom: Windsor and Maidenhead", 'GB-WRL' => "United Kingdom: Wirral", 'GB-WOK' => "United Kingdom: Wokingham", 'GB-WLV' => "United Kingdom: Wolverhampton", 'GB-WOR' => "United Kingdom: Worcestershire", 'GB-WRX' => "United Kingdom: Wrexham (Wrecsam)", 'GB-YOR' => "United Kingdom: York", '--US' => "", '-US' => "United States", 'US-AL' => "United States: Alabama", 'US-AK' => "United States: Alaska", 'US-AS' => "United States: American Samoa, Samoa Americana", 'US-AZ' => "United States: Arizona", 'US-AR' => "United States: Arkansas", 'US-CA' => "United States: California", 'US-CO' => "United States: Colorado", 'US-CT' => "United States: Connecticut", 'US-DE' => "United States: Delaware", 'US-DC' => "United States: District of Columbia, Disricte de Columbia", 'US-FL' => "United States: Florida", 'US-GA' => "United States: Georgia, Geòrgia", 'US-GU' => "United States: Guam", 'US-HI' => "United States: Hawaii", 'US-ID' => "United States: Idaho", 'US-IL' => "United States: Illinois", 'US-IN' => "United States: Indiana", 'US-IA' => "United States: Iowa", 'US-KS' => "United States: Kansas", 'US-KY' => "United States: Kentucky", 'US-LA' => "United States: Louisiana", 'US-ME' => "United States: Maine", 'US-MD' => "United States: Maryland", 'US-MA' => "United States: Massachusetts", 'US-MI' => "United States: Michigan", 'US-MN' => "United States: Minnesota", 'US-MS' => "United States: Mississippi", 'US-MO' => "United States: Missouri", 'US-MT' => "United States: Montana", 'US-NE' => "United States: Nebraska", 'US-NV' => "United States: Nevada", 'US-NH' => "United States: New Hampshire", 'US-NJ' => "United States: New Jersey", 'US-NM' => "United States: New Mexico", 'US-NY' => "United States: New York", 'US-NC' => "United States: North Carolina", 'US-ND' => "United States: North Dakota", 'US-MP' => "United States: Northern Mariana Islands, Illes Marianes del Nord", 'US-OH' => "United States: Ohio", 'US-OK' => "United States: Oklahoma", 'US-OR' => "United States: Oregon", 'US-PA' => "United States: Pennsylvania", 'US-PR' => "United States: Puerto Rico", 'US-RI' => "United States: Rhode Island", 'US-SC' => "United States: South Carolina", 'US-SD' => "United States: South Dakota", 'US-TN' => "United States: Tennessee", 'US-TX' => "United States: Texas", 'US-UM' => "United States: United States Minor Outlying Islands, Illes Perifèriques Menors dels EUA", 'US-UT' => "United States: Utah", 'US-VT' => "United States: Vermont", 'US-VI' => "United States: Virgin Islands, Illes Verge", 'US-VA' => "United States: Virginia", 'US-WA' => "United States: Washington", 'US-WV' => "United States: West Virginia", 'US-WI' => "United States: Wisconsin", 'US-WY' => "United States: Wyoming", '--VN' => "", '-VN' => "Vietnam", 'VN-44' => "Vietnam: An Giang", 'VN-43' => "Vietnam: Bà Rịa - Vũng Tàu", 'VN-57' => "Vietnam: Bình Dương", 'VN-58' => "Vietnam: Bình Phước", 'VN-40' => "Vietnam: Bình Thuận", 'VN-31' => "Vietnam: Bình Định", 'VN-55' => "Vietnam: Bạc Liêu", 'VN-54' => "Vietnam: Bắc Giang", 'VN-53' => "Vietnam: Bắc Kạn", 'VN-56' => "Vietnam: Bắc Ninh", 'VN-50' => "Vietnam: Bến Tre", 'VN-04' => "Vietnam: Cao Bằng", 'VN-59' => "Vietnam: Cà Mau", 'VN-48' => "Vietnam: Cần Thơ", 'VN-30' => "Vietnam: Gia Lai", 'VN-14' => "Vietnam: Hoà Bình", 'VN-03' => "Vietnam: Hà Giang", 'VN-63' => "Vietnam: Hà Nam", 'VN-64' => "Vietnam: Hà Nội, thủ đô", 'VN-15' => "Vietnam: Hà Tây", 'VN-23' => "Vietnam: Hà Tỉnh", 'VN-66' => "Vietnam: Hưng Yên", 'VN-61' => "Vietnam: Hải Duong", 'VN-62' => "Vietnam: Hải Phòng, thành phố", 'VN-73' => "Vietnam: Hậu Giang", 'VN-65' => "Vietnam: Hồ Chí Minh, thành phố [Sài Gòn]", 'VN-34' => "Vietnam: Khánh Hòa", 'VN-47' => "Vietnam: Kiên Giang", 'VN-28' => "Vietnam: Kon Tum", 'VN-01' => "Vietnam: Lai Châu", 'VN-41' => "Vietnam: Long An", 'VN-02' => "Vietnam: Lào Cai", 'VN-35' => "Vietnam: Lâm Đồng", 'VN-09' => "Vietnam: Lạng Sơn", 'VN-67' => "Vietnam: Nam Định", 'VN-22' => "Vietnam: Nghệ An", 'VN-18' => "Vietnam: Ninh Bình", 'VN-36' => "Vietnam: Ninh Thuận", 'VN-68' => "Vietnam: Phú Thọ", 'VN-32' => "Vietnam: Phú Yên", 'VN-24' => "Vietnam: Quảng Bình", 'VN-27' => "Vietnam: Quảng Nam", 'VN-29' => "Vietnam: Quảng Ngãi", 'VN-13' => "Vietnam: Quảng Ninh", 'VN-25' => "Vietnam: Quảng Trị", 'VN-52' => "Vietnam: Sóc Trăng", 'VN-05' => "Vietnam: Sơn La", 'VN-21' => "Vietnam: Thanh Hóa", 'VN-20' => "Vietnam: Thái Bình", 'VN-69' => "Vietnam: Thái Nguyên", 'VN-26' => "Vietnam: Thừa Thiên-Huế", 'VN-46' => "Vietnam: Tiền Giang", 'VN-51' => "Vietnam: Trà Vinh", 'VN-07' => "Vietnam: Tuyên Quang", 'VN-37' => "Vietnam: Tây Ninh", 'VN-49' => "Vietnam: Vĩnh Long", 'VN-70' => "Vietnam: Vĩnh Phúc", 'VN-06' => "Vietnam: Yên Bái", 'VN-71' => "Vietnam: Điện Biên", 'VN-60' => "Vietnam: Đà Nẵng, thành phố", 'VN-33' => "Vietnam: Đắc Lắk", 'VN-72' => "Vietnam: Đắk Nông", 'VN-39' => "Vietnam: Đồng Nai", 'VN-45' => "Vietnam: Đồng Tháp", ]; public $type = 'Geo'; public function cleanRegions($regions) { $regions = str_replace('"', '', $regions); $regions = htmlspecialchars($regions); // LR,MY, name for US-MD,Maryland,Maryland // >> // LR,MY,Maryland,Maryland // US,MD,Maryland,Maryland $regex = '(\n[^,]*),([^\n]*), name for ([^-]*)-([^,]*),([^\n]*\n)'; RL_RegEx::match($regex, $regions, $match); while ($match) { $regions = RL_RegEx::replace($regex, '\1,\2,\5\3,\4,\5', $regions); RL_RegEx::match($regex, $regions, $match); } // LR,MY,Maryland,Maryland // >> // LR,MY,Maryland $regions = RL_RegEx::replace('(\n[^,]*,[^,]*),([^,]*),\2', '\1,\2', $regions); // LR,MY,District of Columbia,Disricte de Columbia // >> // LR, MY, District of Columbia, Disricte de Columbia $regions = str_replace(',', ', ', $regions); // GB, WRX, Wrexham;Wrecsam // >> // GB, WRX, Wrexham (Wrecsam) $regions = RL_RegEx::replace('(\n[^,]*,[^,]*,[^;]*);([^\n]*)', '\1 (\2)', $regions); $regions = trim(RL_RegEx::replace(' +', ' ', $regions)); return explode("\n", $regions); } public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $options = $this->getOptions( $attributes->get('group', 'countries'), (bool) $attributes->get('use_names', false) ); return $this->selectListSimple($options, $name, $value, $id, $size, true); } public function getOptions($group = 'countries', $use_names = '') { $options = []; foreach ($this->{$group} as $key => $val) { if ( ! $val) { $options[] = JHtml::_('select.option', '-', ' ', 'value', 'text', true); continue; } if ($key[0] == '-') { $options[] = JHtml::_('select.option', '-', $val, 'value', 'text', true); continue; } $val = RL_Form::prepareSelectItem($val); $options[] = JHtml::_('select.option', $use_names ? $val : $key, $val); } return $options; } protected function getInput() { if ( ! is_array($this->value)) { $this->value = explode(',', $this->value); } $size = (int) $this->get('size'); $multiple = $this->get('multiple'); $group = $this->get('group', 'countries'); $use_names = $this->get('use_names', false); return $this->selectListSimpleAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'multiple', 'group', 'use_names') ); } private function getRegionArray() { } private function getRegionArrayByFile() { } private function getRegionName($country, $region) { } } grouplevel.php000064400000005142152325744550007457 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_GroupLevel extends Field { public $type = 'GroupLevel'; public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $multiple = $attributes->get('multiple'); $options = $this->getOptions( (bool) $attributes->get('show_all'), (bool) $attributes->get('use_names') ); return $this->selectList($options, $name, $value, $id, $size, $multiple); } protected function getInput() { $size = (int) $this->get('size'); $multiple = $this->get('multiple'); $show_all = $this->get('show_all'); $use_names = $this->get('use_names'); return $this->selectListAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'multiple', 'show_all', 'use_names') ); } protected function getOptions($show_all = false, $use_names = false) { $options = $this->getUserGroups($use_names); if ($show_all) { $option = (object) []; $option->value = -1; $option->text = '- ' . JText::_('JALL') . ' -'; $option->disable = ''; array_unshift($options, $option); } return $options; } protected function getUserGroups($use_names = false) { $value = $use_names ? 'a.title' : 'a.id'; $query = $this->db->getQuery(true) ->select($value . ' as value, a.title as text, a.parent_id AS parent') ->from('#__usergroups AS a') ->select('COUNT(DISTINCT b.id) AS level') ->join('LEFT', '#__usergroups AS b ON a.lft > b.lft AND a.rgt < b.rgt') ->group('a.id') ->order('a.lft ASC'); $this->db->setQuery($query); return $this->db->loadObjectList(); } } header.php000064400000010065152325744550006523 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Application\ApplicationHelper as JApplicationHelper; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\RegEx as RL_RegEx; use RegularLabs\Library\StringHelper as RL_String; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Header extends Field { public $type = 'Header'; protected function getInput() { $title = $this->get('label'); $description = $this->get('description'); $xml = $this->get('xml'); $url = $this->get('url'); if ($description) { $description = RL_String::html_entity_decoder(trim(JText::_($description))); } if ($title) { $title = JText::_($title); } if ($description) { // Replace inline monospace style with rl-code classname $description = str_replace('span style="font-family:monospace;"', 'span class="rl-code"', $description); // 'Break' plugin style tags $description = str_replace(['{', '['], ['<span>{</span>', '<span>[</span>'], $description); // Wrap in paragraph (if not already starting with an html tag) if ($description[0] != '<') { $description = '<p>' . $description . '</p>'; } } if ( ! $xml && $this->form->getValue('element')) { if ($this->form->getValue('folder')) { $xml = 'plugins/' . $this->form->getValue('folder') . '/' . $this->form->getValue('element') . '/' . $this->form->getValue('element') . '.xml'; } else { $xml = 'administrator/modules/' . $this->form->getValue('element') . '/' . $this->form->getValue('element') . '.xml'; } } if ($xml) { $xml = JApplicationHelper::parseXMLInstallFile(JPATH_SITE . '/' . $xml); $version = 0; if ($xml && isset($xml['version'])) { $version = $xml['version']; } if ($version) { if (strpos($version, 'PRO') !== false) { $version = str_replace('PRO', '', $version); $version .= ' <small style="color:green">[PRO]</small>'; } else if (strpos($version, 'FREE') !== false) { $version = str_replace('FREE', '', $version); $version .= ' <small style="color:green">[FREE]</small>'; } if ($title) { $title .= ' v'; } else { $title = JText::_('Version') . ' '; } $title .= $version; } } $html = []; if ($title) { if ($url) { $title = '<a href="' . $url . '" target="_blank" title="' . RL_RegEx::replace('<[^>]*>', '', $title) . '">' . $title . '</a>'; } $html[] = '<h4>' . RL_String::html_entity_decoder($title) . '</h4>'; } if ($description) { $html[] = $description; } if ($url) { $html[] = '<p><a href="' . $url . '" class="btn btn-default" target="_blank" title="' . JText::_('RL_MORE_INFO') . '">' . JText::_('RL_MORE_INFO') . ' >></a></p>'; } return '</div><div>' . implode('', $html); } protected function getLabel() { return ''; } } header_library.php000064400000003637152325744550010256 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; require_once __DIR__ . '/header.php'; class JFormFieldRL_Header_Library extends JFormFieldRL_Header { protected function getInput() { $extensions = [ 'Add to Menu', 'Advanced Module Manager', 'Advanced Template Manager', 'Articles Anywhere', 'Articles Field', 'Better Preview', 'Better Trash', 'Cache Cleaner', 'CDN for Joomla!', 'Components Anywhere', 'Conditional Content', 'Content Templater', 'DB Replacer', 'Dummy Content', 'Email Protector', 'GeoIP', 'IP Login', 'Keyboard Shortcuts', 'Modals', 'Modules Anywhere', 'Quick Index', 'Regular Labs Extension Manager', 'ReReplacer', 'Simple User Notes', 'Sliders', 'Snippets', 'Sourcerer', 'Tabs', 'Tooltips', 'What? Nothing!', ]; $list = '<ul><li>' . implode('</li><li>', $extensions) . '</li></ul>'; $attributes = $this->element->attributes(); $warning = ''; if (isset($attributes['warning'])) { $warning = '<div class="alert alert-danger">' . JText::_($attributes['warning']) . '</div>'; } $this->element->attributes()['description'] = JText::sprintf($attributes['description'], $warning, $list); return parent::getInput(); } } hikashop.php000064400000005711152325744550007103 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_HikaShop extends FieldGroup { public $type = 'HikaShop'; public function getCategories() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__hikashop_category') ->where('category_published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear() ->select('c.category_id') ->from('#__hikashop_category AS c') ->where('c.category_type = ' . $this->db->quote('root')); $this->db->setQuery($query); $root = (int) $this->db->loadResult(); $query->clear() ->select('c.category_id as id, c.category_parent_id AS parent_id, c.category_name AS title, c.category_published as published') ->from('#__hikashop_category AS c') ->where('c.category_type = ' . $this->db->quote('product')) ->where('c.category_published > -1') ->order('c.category_ordering, c.category_name'); $this->db->setQuery($query); $items = $this->db->loadObjectList(); return $this->getOptionsTreeByList($items, $root); } public function getProducts() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__hikashop_product AS p') ->where('p.product_published = 1') ->where('p.product_type = ' . $this->db->quote('main')); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('p.product_id as id, p.product_name AS name, p.product_published AS published, c.category_name AS cat') ->join('LEFT', '#__hikashop_product_category AS x ON x.product_id = p.product_id') ->join('INNER', '#__hikashop_category AS c ON c.category_id = x.category_id') ->group('p.product_id') ->order('p.product_id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['cat', 'id']); } protected function getInput() { $error = $this->missingFilesOrTables(['categories' => 'category', 'products' => 'product']); return $error ?: $this->getSelectList(); } } icons.php000064400000010140152325744550006400 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Icons extends Field { public $type = 'Icons'; protected function getInput() { $value = $this->value; if ( ! is_array($value)) { $value = explode(',', $value); } $classes = [ 'reglab icon-contenttemplater', 'home', 'user', 'locked', 'comments', 'comments-2', 'out', 'plus', 'pencil', 'pencil-2', 'file', 'file-add', 'file-remove', 'copy', 'folder', 'folder-2', 'picture', 'pictures', 'list-view', 'power-cord', 'cube', 'puzzle', 'flag', 'tools', 'cogs', 'cog', 'equalizer', 'wrench', 'brush', 'eye', 'star', 'calendar', 'calendar-2', 'help', 'support', 'warning', 'checkmark', 'mail', 'mail-2', 'drawer', 'drawer-2', 'box-add', 'box-remove', 'search', 'filter', 'camera', 'play', 'music', 'grid-view', 'grid-view-2', 'menu', 'thumbs-up', 'thumbs-down', 'plus-2', 'minus-2', 'key', 'quote', 'quote-2', 'database', 'location', 'zoom-in', 'zoom-out', 'health', 'wand', 'refresh', 'vcard', 'clock', 'compass', 'address', 'feed', 'flag-2', 'pin', 'lamp', 'chart', 'bars', 'pie', 'dashboard', 'lightning', 'move', 'printer', 'color-palette', 'camera-2', 'cart', 'basket', 'broadcast', 'screen', 'tablet', 'mobile', 'users', 'briefcase', 'download', 'upload', 'bookmark', 'out-2', ]; $html = []; if ($this->get('show_none')) { $checked = (in_array('0', $value) ? ' checked="checked"' : ''); $html[] = '<fieldset>'; $html[] = '<input type="radio" id="' . $this->id . '0" name="' . $this->name . '"' . ' value="0"' . $checked . '>'; $html[] = '<label for="' . $this->id . '0">' . JText::_('RL_NO_ICON') . '</label>'; $html[] = '</fieldset>'; } foreach ($classes as $i => $class) { $id = str_replace(' ', '_', $this->id . $class); $checked = (in_array($class, $value) ? ' checked="checked"' : ''); $html[] = '<fieldset class="pull-left">'; $html[] = '<input type="radio" id="' . $id . '" name="' . $this->name . '"' . ' value="' . htmlspecialchars($class, ENT_COMPAT, 'UTF-8') . '"' . $checked . '>'; $html[] = '<label for="' . $id . '" class="btn btn-small hasTip" title="' . $class . '"><span class="icon-' . $class . '"></span></label>'; $html[] = '</fieldset>'; } return '<div id="' . $this->id . '" class="btn-group radio rl_icon_group">' . implode('', $html) . '</div>'; } } isinstalled.php000064400000002055152325744550007606 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use RegularLabs\Library\Extension as RL_Extension; use RegularLabs\Library\Field; jimport('joomla.form.formfield'); if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_IsInstalled extends Field { public $type = 'IsInstalled'; protected function getInput() { $is_installed = RL_Extension::isInstalled($this->get('extension'), $this->get('extension_type'), $this->get('folder')); return '<input type="hidden" name="' . $this->name . '" id="' . $this->id . '" value="' . (int) $is_installed . '">'; } protected function getLabel() { return ''; } } k2.php000064400000007147152325744550005616 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; // If controller.php exists, assume this is K2 v3 defined('RL_K2_VERSION') or define('RL_K2_VERSION', file_exists(JPATH_ADMINISTRATOR . '/components/com_k2/controller.php') ? 3 : 2); class JFormFieldRL_K2 extends FieldGroup { public $type = 'K2'; public function getCategories() { $state_field = RL_K2_VERSION == 3 ? 'state' : 'published'; $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__k2_categories AS c') ->where('c.' . $state_field . ' > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $parent_field = RL_K2_VERSION == 3 ? 'parent_id' : 'parent'; $title_field = RL_K2_VERSION == 3 ? 'title' : 'name'; $ordering_field = RL_K2_VERSION == 3 ? 'lft' : 'ordering'; $query->clear('select') ->select('c.id, c.' . $parent_field . ' AS parent_id, c.' . $title_field . ' AS title, c.' . $state_field . ' AS published'); if ( ! $this->get('getcategories', 1)) { $query->where('c.' . $parent_field . ' = 0'); } $query->order('c.' . $ordering_field . ', c.' . $title_field); $this->db->setQuery($query); $items = $this->db->loadObjectList(); return $this->getOptionsTreeByList($items); } public function getItems() { $state_field = RL_K2_VERSION == 3 ? 'state' : 'published'; $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__k2_items AS i') ->where('i.' . $state_field . ' > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $cat_title_field = RL_K2_VERSION == 3 ? 'title' : 'name'; $query->clear('select') ->select('i.id, i.title as name, c.' . $cat_title_field . ' as cat, i.' . $state_field . ' as published') ->join('LEFT', '#__k2_categories AS c ON c.id = i.catid') ->group('i.id') ->order('i.title, i.ordering, i.id'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['cat', 'id']); } public function getTags() { $state_field = RL_K2_VERSION == 3 ? 'state' : 'published'; $query = $this->db->getQuery(true) ->select('t.name as id, t.name as name') ->from('#__k2_tags AS t') ->where('t.' . $state_field . ' = 1') ->where('t.name != ' . $this->db->quote('')) ->group('t.name') ->order('t.name'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list); } protected function getInput() { $error = $this->missingFilesOrTables(['categories', 'items', 'tags']); if ($error) { return $error; } return $this->getSelectList(); } } key.php000064400000006333152325744550006066 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Key extends Field { public $type = 'Key'; protected function getInput() { $action = $this->get('action', 'Joomla.submitbutton(\'config.save.component.apply\')'); $key = trim($this->value); if ( ! $key) { return '<div id="' . $this->id . '_field" class="btn-wrapper input-append clearfix">' . '<input type="text" class="rl_codefield" name="' . $this->name . '" id="' . $this->id . '" autocomplete="off" value="">' . '<button href="#" class="btn btn-success" title="' . JText::_('JAPPLY') . '" onclick="' . $action . '">' . '<span class="icon-checkmark"></span>' . '</button>' . '</div>'; } $cloak_length = max(0, strlen($key) - 4); $key = str_repeat('*', $cloak_length) . substr($this->value, $cloak_length); $show = 'jQuery(\'#' . $this->id . '\').attr(\'name\', \'' . $this->name . '\');' . 'jQuery(\'#' . $this->id . '_hidden\').attr(\'name\', \'\');' . 'jQuery(\'#' . $this->id . '_button\').hide();' . 'jQuery(\'#' . $this->id . '_field\').show();'; $hide = 'jQuery(\'#' . $this->id . '\').attr(\'name\', \'\');' . 'jQuery(\'#' . $this->id . '_hidden\').attr(\'name\', \'' . $this->name . '\');' . 'jQuery(\'#' . $this->id . '_field\').hide();' . 'jQuery(\'#' . $this->id . '_button\').show();'; return '<div class="rl_keycode pull-left">' . $key . '</div>' . '<div id="' . $this->id . '_button" class="pull-left">' . '<button class="btn btn-default btn-small" onclick="' . $show . ';return false;">' . '<span class="icon-edit"></span> ' . JText::_('JACTION_EDIT') . '</button>' . '</div>' . '<div class="clearfix"></div>' . '<div id="' . $this->id . '_field" class="btn-wrapper input-append clearfix" style="display:none;">' . '<input type="text" class="rl_codefield" name="" id="' . $this->id . '" autocomplete="off" value="">' . '<button href="#" class="btn btn-success btn" title="' . JText::_('JAPPLY') . '" onclick="' . $action . '">' . '<span class="icon-checkmark"></span>' . '</button>' . '<button href="#" class="btn btn-danger btn" title="' . JText::_('JCANCEL') . '" onclick="' . $hide . ';return false;">' . '<span class="icon-cancel-2"></span>' . '</button>' . '</div>' . '<input type="hidden" name="' . $this->name . '" id="' . $this->id . '_hidden" value="' . $this->value . '">'; } } languages.php000064400000004026152325744550007241 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\Registry\Registry; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Languages extends Field { public $type = 'Languages'; public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $multiple = $attributes->get('multiple'); $options = $this->getLanguages($value); return $this->selectListSimple($options, $name, $value, $id, $size, $multiple); } public function getLanguages($value) { $langs = JHtml::_('contentlanguage.existing'); if ( ! is_array($value)) { $value = [$value]; } $options = []; foreach ($langs as $lang) { if (empty($lang->value)) { continue; } $options[] = (object) [ 'value' => $lang->value, 'text' => $lang->text . ' [' . $lang->value . ']', 'selected' => in_array($lang->value, $value), ]; } return $options; } protected function getInput() { $size = (int) $this->get('size'); $multiple = $this->get('multiple'); return $this->selectListSimpleAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'multiple') ); } } license.php000064400000002051152325744550006711 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use RegularLabs\Library\Field; use RegularLabs\Library\License as RL_License; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_License extends Field { public $type = 'License'; protected function getInput() { $extension = $this->get('extension'); if (empty($extension)) { return ''; } $message = RL_License::getMessage($extension, true); if (empty($message)) { return ''; } return '</div><div>' . $message; } protected function getLabel() { return ''; } } list.php000064400000004247152325744550006253 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('JPATH_PLATFORM') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; JFormHelper::loadFieldClass('list'); class JFormFieldRL_List extends JFormFieldList { protected $type = 'List'; protected function getInput() { $html = []; $attr = ''; // Initialize some field attributes. $attr .= ! empty($this->class) ? ' class="' . $this->class . '"' : ''; $attr .= $this->size ? ' style="width:' . $this->size . 'px"' : ''; $attr .= $this->multiple ? ' multiple' : ''; $attr .= $this->required ? ' required aria-required="true"' : ''; $attr .= $this->autofocus ? ' autofocus' : ''; // To avoid user's confusion, readonly="true" should imply disabled="true". if ((string) $this->readonly == '1' || (string) $this->readonly == 'true' || (string) $this->disabled == '1' || (string) $this->disabled == 'true') { $attr .= ' disabled="disabled"'; } // Initialize JavaScript field attributes. $attr .= $this->onchange ? ' onchange="' . $this->onchange . '"' : ''; // Get the field options. $options = (array) $this->getOptions(); if ((string) $this->readonly == '1' || (string) $this->readonly == 'true') { // Create a read-only list (no name) with a hidden input to store the value. $html[] = JHtml::_('select.genericlist', $options, '', trim($attr), 'value', 'text', $this->value, $this->id); $html[] = '<input type="hidden" name="' . $this->name . '" value="' . htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '">'; } else { // Create a regular list. $html[] = JHtml::_('select.genericlist', $options, $this->name, trim($attr), 'value', 'text', $this->value, $this->id); } return implode('', $html); } } loadlanguage.php000064400000002207152325744550007715 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use RegularLabs\Library\Field; use RegularLabs\Library\Language as RL_Language; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_LoadLanguage extends Field { public $type = 'LoadLanguage'; public function loadLanguage($extension, $admin = 1) { if ( ! $extension) { return; } RL_Language::load($extension, $admin ? JPATH_ADMINISTRATOR : JPATH_SITE); } protected function getInput() { $extension = $this->get('extension'); $admin = $this->get('admin', 1); self::loadLanguage($extension, $admin); return ''; } protected function getLabel() { return ''; } } menuitems.php000064400000007357152325744550007313 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; use RegularLabs\Library\Language as RL_Language; use RegularLabs\Library\RegEx as RL_RegEx; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_MenuItems extends Field { public $type = 'MenuItems'; /** * Get a list of menu links for one or all menus. */ public static function getMenuItems() { RL_Language::load('com_modules', JPATH_ADMINISTRATOR); JLoader::register('MenusHelper', JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php'); $menuTypes = MenusHelper::getMenuLinks(); foreach ($menuTypes as &$type) { $type->value = 'type.' . $type->menutype; $type->text = $type->title; $type->level = 0; $type->class = 'hidechildren'; $type->labelclass = 'nav-header'; $rlu[$type->menutype] = &$type; foreach ($type->links as &$link) { $check1 = RL_RegEx::replace('[^a-z0-9]', '', strtolower($link->text)); $check2 = RL_RegEx::replace('[^a-z0-9]', '', $link->alias); $text = []; $text[] = $link->text; if ($check1 !== $check2) { $text[] = '<span class="small ghosted">[' . $link->alias . ']</span>'; } if (in_array($link->type, ['separator', 'heading', 'alias', 'url'])) { $text[] = '<span class="label label-info">' . JText::_('COM_MODULES_MENU_ITEM_' . strtoupper($link->type)) . '</span>'; // Don't disable, as you need to be able to select the 'Also on Child Items' option // $link->disable = 1; } if ($link->published == 0) { $text[] = '<span class="label">' . JText::_('JUNPUBLISHED') . '</span>'; } if (JLanguageMultilang::isEnabled() && $link->language != '' && $link->language != '*') { $text[] = $link->language_image ? JHtml::_('image', 'mod_languages/' . $link->language_image . '.gif', $link->language_title, ['title' => $link->language_title], true) : '<span class="label" title="' . $link->language_title . '">' . $link->language_sef . '</span>'; } $link->text = implode(' ', $text); } } return $menuTypes; } public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $multiple = $attributes->get('multiple'); $options = $this->getMenuItems(); return $this->selectList($options, $name, $value, $id, $size, $multiple); } protected function getInput() { $size = (int) $this->get('size'); $multiple = $this->get('multiple', 0); return $this->selectListAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'multiple') ); } } mijoshop.php000064400000007452152325744550007131 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_MijoShop extends FieldGroup { public $language_id = 1; public $store_id = 0; public $type = 'MijoShop'; public function getCategories() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__mijoshop_category AS c') ->join('INNER', '#__mijoshop_category_description AS cd ON c.category_id = cd.category_id') ->join('INNER', '#__mijoshop_category_to_store AS cts ON c.category_id = cts.category_id') ->where('c.status = 1') ->where('cd.language_id = ' . $this->language_id) ->where('cts.store_id = ' . $this->store_id) ->group('c.category_id'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('c.category_id AS id, c.parent_id, cd.name AS title, c.status AS published') ->order('c.sort_order, cd.name'); $this->db->setQuery($query); $items = $this->db->loadObjectList(); return $this->getOptionsTreeByList($items); } public function getProducts() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__mijoshop_product AS p') ->join('INNER', '#__mijoshop_product_description AS pd ON p.product_id = pd.product_id') ->join('INNER', '#__mijoshop_product_to_store AS pts ON p.product_id = pts.product_id')->where('p.status = 1') ->where('p.date_available <= NOW()') ->where('pd.language_id = ' . $this->language_id) ->group('p.product_id'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('p.product_id as id, pd.name, p.model as model, cd.name AS cat, p.status AS published') ->join('LEFT', '#__mijoshop_product_to_category AS ptc ON p.product_id = ptc.product_id') ->join('LEFT', '#__mijoshop_category_description AS cd ON ptc.category_id = cd.category_id') ->join('LEFT', '#__mijoshop_category_to_store AS cts ON ptc.category_id = cts.category_id') ->where('cts.store_id = ' . $this->store_id) ->where('cd.language_id = ' . $this->language_id) ->where('cts.store_id = ' . $this->store_id) ->order('pd.name, p.model'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['model', 'cat', 'id']); } protected function getInput() { $error = $this->missingFilesOrTables(['categories' => 'category', 'products' => 'product']); if ($error) { return $error; } if ( ! class_exists('MijoShop')) { require_once(JPATH_ROOT . '/components/com_mijoshop/mijoshop/mijoshop.php'); } $this->store_id = (int) MijoShop::get('opencart')->get('config')->get('config_store_id'); $this->language_id = (int) MijoShop::get('opencart')->get('config')->get('config_language_id'); return $this->getSelectList(); } } modules.php000064400000016030152325744550006741 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\Form as RL_Form; use RegularLabs\Library\RegEx as RL_RegEx; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Modules extends Field { public $type = 'Modules'; protected function getInput() { JHtml::_('behavior.modal', 'a.modal'); $size = $this->get('size') ? 'style="width:' . $this->get('size') . 'px"' : ''; $multiple = $this->get('multiple'); $showtype = $this->get('showtype'); $showid = $this->get('showid'); $showinput = $this->get('showinput'); $showlink = ! $multiple ? $this->get('showlink') : false; // load the list of modules $query = $this->db->getQuery(true) ->select('m.id, m.title, m.position, m.module, m.published, m.language') ->from('#__modules AS m') ->where('m.client_id = 0') ->where('m.published > -2') ->order('m.position, m.title, m.ordering, m.id'); $this->db->setQuery($query); $modules = $this->db->loadObjectList(); // assemble menu items to the array $options = []; $selected_title = ''; $p = 0; foreach ($modules as $item) { if ($p !== $item->position) { $pos = $item->position; if ($pos == '') { $pos = ':: ' . JText::_('JNONE') . ' ::'; } $options[] = JHtml::_('select.option', '-', '[ ' . $pos . ' ]', 'value', 'text', true); } $p = $item->position; $item->title = $item->title; if ($showtype) { $item->title .= ' [' . $item->module . ']'; } if ($showinput || $showid) { $item->title .= ' [' . $item->id . ']'; } if ($item->language && $item->language != '*') { $item->title .= ' (' . $item->language . ')'; } $item->title = RL_Form::prepareSelectItem($item->title, $item->published); $options[] = JHtml::_('select.option', $item->id, $item->title); if ($showlink && $this->value == $item->id) { $selected_title = $item->title; } } if ($showinput) { array_unshift($options, JHtml::_('select.option', '-', ' ', 'value', 'text', true)); array_unshift($options, JHtml::_('select.option', '-', '- ' . JText::_('Select Item') . ' -')); if ($multiple) { $onchange = 'if ( this.value ) { if ( ' . $this->id . '.value ) { ' . $this->id . '.value+=\',\'; } ' . $this->id . '.value+=this.value; } this.value=\'\';'; } else { $onchange = 'if ( this.value ) { ' . $this->id . '.value=this.value;' . $this->id . '_text.value=this.options[this.selectedIndex].innerHTML.replace( /^((&|&| )nbsp;|-)*/gm, \'\' ).trim(); } this.value=\'\';'; } $attribs = 'class="inputbox" onchange="' . $onchange . '"'; $html = '<table cellpadding="0" cellspacing="0"><tr><td style="padding: 0px;">' . "\n"; if ( ! $multiple) { $val_name = $this->value; if ($this->value) { foreach ($modules as $item) { if ($item->id == $this->value) { $val_name = $item->title; if ($showtype) { $val_name .= ' [' . $item->module . ']'; } $val_name .= ' [' . $this->value . ']'; break; } } } $html .= '<input type="text" id="' . $this->id . '_text" value="' . $val_name . '" class="inputbox" ' . $size . ' disabled="disabled">'; $html .= '<input type="hidden" name="' . $this->name . '" id="' . $this->id . '" value="' . $this->value . '">'; } else { $html .= '<input type="text" name="' . $this->name . '" id="' . $this->id . '" value="' . $this->value . '" class="inputbox" ' . $size . '>'; } $html .= '</td><td style="padding: 0px;"padding-left: 5px;>' . "\n"; $html .= JHtml::_('select.genericlist', $options, '', $attribs, 'value', 'text', '', ''); $html .= '</td></tr></table>' . "\n"; } else { $attr = $size; $attr .= $multiple ? ' multiple="multiple"' : ''; $attr .= ' class="input-xxlarge"'; if ($showlink) { $link = '\'<a' . ' href="index.php?option=com_advancedmodules&task=module.edit&id=\'+this.value+\'"' . ' target="_blank" class="btn btn-small">\'' . '+\'<span class="icon-edit"></span>\' ' . '+\'' . JText::_('JACTION_EDIT', true) . ' :\' ' . '+(this.options[this.selectedIndex].text)' . '+\'</a>\''; $function = 'document.getElementById(\'module_link_' . $this->id . '\').innerHTML = \'\';' . 'if(this.value){' . 'document.getElementById(\'module_link_' . $this->id . '\').innerHTML = ' . $link . ';' . '}'; $attr .= ' onchange="' . $function . '"'; } $html = JHtml::_('select.genericlist', $options, $this->name, trim($attr), 'value', 'text', $this->value, $this->id); if ($showlink) { $link = $this->value ? '<a href="index.php?option=com_advancedmodules&task=module.edit&id=' . $this->value . '"' . ' target="_blank" class="btn btn-small">' . '<span class="icon-edit"></span> ' . JText::_('JACTION_EDIT') . ': ' . $selected_title . '</a>' : ''; $html .= '<div id="module_link_' . $this->id . '" class="alert-block">' . $link . '</div>'; } $html = '<div class="input-maximize">' . $html . '</div>'; } return RL_RegEx::replace('>\[\[\:(.*?)\:\]\]', ' style="\1">', $html); } } note.php000064400000005243152325744550006242 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Note extends Field { public $type = 'Note'; public function setup(SimpleXMLElement $element, $value, $group = null) { $this->element = $element; $element['label'] = $this->prepareText($element['label']); $element['description'] = $this->prepareText($element['description']); $element['translateDescription'] = false; return parent::setup($element, $value, $group); } protected function getInput() { return ''; } protected function getLabel() { if (empty($this->element['label']) && empty($this->element['description'])) { return ''; } $title = $this->element['label'] ? (string) $this->element['label'] : ($this->element['title'] ? (string) $this->element['title'] : ''); $heading = $this->element['heading'] ? (string) $this->element['heading'] : 'h4'; $description = (string) $this->element['description']; $class = $this->class ?? ''; $close = (string) $this->element['close']; $controls = (int) $this->element['controls']; $class = ! empty($class) ? ' class="' . $class . '"' : ''; $button = ''; $title = JText::_($title ?? ''); $description = JText::_($description ?? ''); if ($close) { $close = $close == 'true' ? 'alert' : $close; $button = '<button type="button" class="close" data-dismiss="' . $close . '" aria-label="Close">×</button>'; } if ($heading && $title) { $title = '<' . $heading . '>' . $title . '</' . $heading . '>'; } if ($controls) { $title = '<div class="control-label"><label>' . $title . '</label></div>'; $description = '<div class="controls">' . $description . '</div>'; } return '</div><div ' . $class . '>' . $button . $title . $description; } } onlypro.php000064400000005301152325744550006772 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use RegularLabs\Library\Extension as RL_Extension; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_OnlyPro extends Field { public $type = 'OnlyPro'; protected function getExtensionName() { $extension = $this->form->getValue('element'); if ($extension) { return $extension; } $extension = JFactory::getApplication()->input->get('component'); if ($extension) { return str_replace('com_', '', $extension); } $extension = JFactory::getApplication()->input->get('folder'); if ($extension) { $extension = explode('.', $extension); return array_pop($extension); } return false; } protected function getInput() { $label = $this->prepareText($this->get('label')); $tooltip = $this->prepareText($this->get('description')); if ( ! $label && ! $tooltip) { return ''; } return $this->getText(); } protected function getLabel() { $label = $this->prepareText($this->get('label')); $tooltip = $this->prepareText($this->get('description')); if ( ! $label && ! $tooltip) { return '</div><div>' . $this->getText(); } if ( ! $label) { return $tooltip; } if ( ! $tooltip) { return ($label == '---' ? '' : $label); } return '<label class="hasPopover" title="' . $label . '" data-content="' . htmlentities($tooltip) . '">' . $label . '</label>'; } protected function getText() { $text = JText::_('RL_ONLY_AVAILABLE_IN_PRO'); $text = '<em>' . $text . '</em>'; $extension = $this->getExtensionName(); $alias = RL_Extension::getAliasByName($extension); if ($alias) { $text = '<a href="https://regularlabs.com/' . $extension . '/features" target="_blank">' . $text . '</a>'; } $class = $this->get('class'); $class = $class ? ' class="' . $class . '"' : ''; return '<div' . $class . '>' . $text . '</div>'; } } plaintext.php000064400000002640152325744550007303 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\Field; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_PlainText extends Field { public $type = 'PlainText'; protected function getInput() { $text = $this->prepareText($this->value); if ( ! $text) { return ''; } return '<fieldset class="rl_plaintext">' . $text . '</fieldset>'; } protected function getLabel() { $label = $this->prepareText($this->get('label')); $tooltip = $this->prepareText($this->get('description')); if ( ! $label && ! $tooltip) { return ''; } if ( ! $label) { return '<div>' . $tooltip . '</div>'; } if ( ! $tooltip) { return '<div>' . $label . '</div>'; } return '<label class="hasPopover" title="' . $label . '" data-content="' . htmlentities($tooltip) . '">' . $label . '</label>'; } } range.php000064400000002777152325744550006402 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; JFormHelper::loadFieldClass('range'); class JFormFieldRL_Range extends JFormFieldRange { protected $layout = 'range'; protected function getInput() { $this->value = (float) ($this->value ?: $this->default); if ( ! empty($this->max)) { $this->value = min($this->value, $this->max); } if ( ! empty($this->min)) { $this->value = max($this->value, $this->min); } return parent::getInput(); } protected function getLayoutData() { $data = parent::getLayoutData(); // Initialize some field attributes. $extraData = [ 'prepend' => (string) $this->element['prepend'] ?? '', 'append' => (string) $this->element['append'] ?? '', ]; return array_merge($data, $extraData); } protected function getLayoutPaths() { $paths = parent::getLayoutPaths(); $paths[] = JPATH_LIBRARIES . '/regularlabs/layouts'; return $paths; } } redshop.php000064400000007346152325744550006747 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use RegularLabs\Library\DB as RL_DB; use RegularLabs\Library\FieldGroup; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_RedShop extends FieldGroup { public $type = 'RedShop'; public function getCategories() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__redshop_category AS c') ->where('c.published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $this->db->setQuery($this->getCategoriesQuery()); $items = $this->db->loadObjectList(); return $this->getOptionsTreeByList($items); } public function getProducts() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__redshop_product AS p') ->where('p.published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $this->db->setQuery($this->getProductsQuery()); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['number', 'cat']); } protected function getInput() { $error = $this->missingFilesOrTables(['categories' => 'category', 'products' => 'product']); if ($error) { return $error; } return $this->getSelectList(); } private function getCategoriesQuery() { $query = $this->db->getQuery(true) ->select('c.id, c.parent_id, c.name AS title, c.published') ->from('#__redshop_category AS c') ->where('c.published > -1'); if (RL_DB::tableExists('redshop_category_xref')) { $query->clear('select') ->select('c.category_id as id, x.category_parent_id AS parent_id, c.category_name AS title, c.published') ->join('LEFT', '#__redshop_category_xref AS x ON x.category_child_id = c.category_id') ->group('c.category_id') ->order('c.ordering, c.category_name'); return $query; } $query ->group('c.id') ->order('c.ordering, c.name'); return $query; } private function getProductsQuery() { $query = $this->db->getQuery(true) ->select('p.product_id as id, p.product_name AS name, p.product_number as number, c.name AS cat, p.published') ->from('#__redshop_product AS p') ->where('p.published > -1') ->join('LEFT', '#__redshop_product_category_xref AS x ON x.product_id = p.product_id') ->group('p.product_id') ->order('p.product_name, p.product_number'); if (RL_DB::tableExists('redshop_category_xref')) { $query->clear('select') ->select('p.product_id as id, p.product_name AS name, p.product_number as number, c.category_name AS cat, p.published') ->join('LEFT', '#__redshop_category AS c ON c.category_id = x.category_id'); return $query; } $query ->join('LEFT', '#__redshop_category AS c ON c.id = x.category_id'); return $query; } } regions.txt000064400000453605152325744550007004 0ustar00// Region codes taken from https://documentation.snoobi.com/region-codes '--AF' => '','-AF' => 'Afghanistan', 'AF-01' => 'Afghanistan: Badakhshan', 'AF-02' => 'Afghanistan: Badghis', 'AF-03' => 'Afghanistan: Baghlan', 'AF-30' => 'Afghanistan: Balkh', 'AF-05' => 'Afghanistan: Bamian', 'AF-06' => 'Afghanistan: Farah', 'AF-07' => 'Afghanistan: Faryab', 'AF-08' => 'Afghanistan: Ghazni', 'AF-09' => 'Afghanistan: Ghowr', 'AF-10' => 'Afghanistan: Helmand', 'AF-11' => 'Afghanistan: Herat', 'AF-31' => 'Afghanistan: Jowzjan', 'AF-13' => 'Afghanistan: Kabol', 'AF-23' => 'Afghanistan: Kandahar', 'AF-14' => 'Afghanistan: Kapisa', 'AF-37' => 'Afghanistan: Khowst', 'AF-15' => 'Afghanistan: Konar', 'AF-34' => 'Afghanistan: Konar', 'AF-24' => 'Afghanistan: Kondoz', 'AF-16' => 'Afghanistan: Laghman', 'AF-35' => 'Afghanistan: Laghman', 'AF-17' => 'Afghanistan: Lowgar', 'AF-18' => 'Afghanistan: Nangarhar', 'AF-19' => 'Afghanistan: Nimruz', 'AF-38' => 'Afghanistan: Nurestan', 'AF-20' => 'Afghanistan: Oruzgan', 'AF-21' => 'Afghanistan: Paktia', 'AF-36' => 'Afghanistan: Paktia', 'AF-29' => 'Afghanistan: Paktika', 'AF-22' => 'Afghanistan: Parvan', 'AF-32' => 'Afghanistan: Samangan', 'AF-33' => 'Afghanistan: Sar-e Pol', 'AF-26' => 'Afghanistan: Takhar', 'AF-27' => 'Afghanistan: Vardak', 'AF-28' => 'Afghanistan: Zabol', '--AL' => '','-AL' => 'Albania', 'AL-40' => 'Albania: Berat', 'AL-41' => 'Albania: Diber', 'AL-42' => 'Albania: Durres', 'AL-43' => 'Albania: Elbasan', 'AL-44' => 'Albania: Fier', 'AL-45' => 'Albania: Gjirokaster', 'AL-46' => 'Albania: Korce', 'AL-47' => 'Albania: Kukes', 'AL-48' => 'Albania: Lezhe', 'AL-49' => 'Albania: Shkoder', 'AL-50' => 'Albania: Tirane', 'AL-51' => 'Albania: Vlore', '--DZ' => '','-DZ' => 'Algeria', 'DZ-34' => 'Algeria: Adrar', 'DZ-35' => 'Algeria: Ain Defla', 'DZ-36' => 'Algeria: Ain Temouchent', 'DZ-01' => 'Algeria: Alger', 'DZ-37' => 'Algeria: Annaba', 'DZ-03' => 'Algeria: Batna', 'DZ-38' => 'Algeria: Bechar', 'DZ-18' => 'Algeria: Bejaia', 'DZ-19' => 'Algeria: Biskra', 'DZ-20' => 'Algeria: Blida', 'DZ-39' => 'Algeria: Bordj Bou Arreridj', 'DZ-21' => 'Algeria: Bouira', 'DZ-40' => 'Algeria: Boumerdes', 'DZ-41' => 'Algeria: Chlef', 'DZ-04' => 'Algeria: Constantine', 'DZ-22' => 'Algeria: Djelfa', 'DZ-42' => 'Algeria: El Bayadh', 'DZ-43' => 'Algeria: El Oued', 'DZ-44' => 'Algeria: El Tarf', 'DZ-45' => 'Algeria: Ghardaia', 'DZ-23' => 'Algeria: Guelma', 'DZ-46' => 'Algeria: Illizi', 'DZ-24' => 'Algeria: Jijel', 'DZ-47' => 'Algeria: Khenchela', 'DZ-25' => 'Algeria: Laghouat', 'DZ-26' => 'Algeria: Mascara', 'DZ-06' => 'Algeria: Medea', 'DZ-48' => 'Algeria: Mila', 'DZ-07' => 'Algeria: Mostaganem', 'DZ-27' => 'Algeria: M\'sila', 'DZ-49' => 'Algeria: Naama', 'DZ-09' => 'Algeria: Oran', 'DZ-50' => 'Algeria: Ouargla', 'DZ-29' => 'Algeria: Oum el Bouaghi', 'DZ-51' => 'Algeria: Relizane', 'DZ-10' => 'Algeria: Saida', 'DZ-12' => 'Algeria: Setif', 'DZ-30' => 'Algeria: Sidi Bel Abbes', 'DZ-31' => 'Algeria: Skikda', 'DZ-52' => 'Algeria: Souk Ahras', 'DZ-53' => 'Algeria: Tamanghasset', 'DZ-33' => 'Algeria: Tebessa', 'DZ-13' => 'Algeria: Tiaret', 'DZ-54' => 'Algeria: Tindouf', 'DZ-55' => 'Algeria: Tipaza', 'DZ-56' => 'Algeria: Tissemsilt', 'DZ-14' => 'Algeria: Tizi Ouzou', 'DZ-15' => 'Algeria: Tlemcen', '--AD' => '','-AD' => 'Andorra', 'AD-07' => 'Andorra: Andorra la Vella', 'AD-02' => 'Andorra: Canillo', 'AD-03' => 'Andorra: Encamp', 'AD-08' => 'Andorra: Escaldes-Engordany', 'AD-04' => 'Andorra: La Massana', 'AD-05' => 'Andorra: Ordino', 'AD-06' => 'Andorra: Sant Julia de Loria', '--AO' => '','-AO' => 'Angola', 'AO-19' => 'Angola: Bengo', 'AO-01' => 'Angola: Benguela', 'AO-02' => 'Angola: Bie', 'AO-03' => 'Angola: Cabinda', 'AO-04' => 'Angola: Cuando Cubango', 'AO-05' => 'Angola: Cuanza Norte', 'AO-06' => 'Angola: Cuanza Sul', 'AO-07' => 'Angola: Cunene', 'AO-08' => 'Angola: Huambo', 'AO-09' => 'Angola: Huila', 'AO-20' => 'Angola: Luanda', 'AO-17' => 'Angola: Lunda Norte', 'AO-18' => 'Angola: Lunda Sul', 'AO-12' => 'Angola: Malanje', 'AO-14' => 'Angola: Moxico', 'AO-15' => 'Angola: Uige', 'AO-16' => 'Angola: Zaire', '--AG' => '','-AG' => 'Antigua and Barbuda', 'AG-01' => 'Antigua and Barbuda: Barbuda', 'AG-03' => 'Antigua and Barbuda: Saint George', 'AG-04' => 'Antigua and Barbuda: Saint John', 'AG-05' => 'Antigua and Barbuda: Saint Mary', 'AG-06' => 'Antigua and Barbuda: Saint Paul', 'AG-07' => 'Antigua and Barbuda: Saint Peter', 'AG-08' => 'Antigua and Barbuda: Saint Philip', '--AR' => '','-AR' => 'Argentina', 'AR-01' => 'Argentina: Buenos Aires', 'AR-02' => 'Argentina: Catamarca', 'AR-03' => 'Argentina: Chaco', 'AR-04' => 'Argentina: Chubut', 'AR-05' => 'Argentina: Cordoba', 'AR-06' => 'Argentina: Corrientes', 'AR-07' => 'Argentina: Distrito Federal', 'AR-08' => 'Argentina: Entre Rios', 'AR-09' => 'Argentina: Formosa', 'AR-10' => 'Argentina: Jujuy', 'AR-11' => 'Argentina: La Pampa', 'AR-12' => 'Argentina: La Rioja', 'AR-13' => 'Argentina: Mendoza', 'AR-14' => 'Argentina: Misiones', 'AR-15' => 'Argentina: Neuquen', 'AR-16' => 'Argentina: Rio Negro', 'AR-17' => 'Argentina: Salta', 'AR-18' => 'Argentina: San Juan', 'AR-19' => 'Argentina: San Luis', 'AR-20' => 'Argentina: Santa Cruz', 'AR-21' => 'Argentina: Santa Fe', 'AR-22' => 'Argentina: Santiago del Estero', 'AR-23' => 'Argentina: Tierra del Fuego', 'AR-24' => 'Argentina: Tucuman', '--AM' => '','-AM' => 'Armenia', 'AM-01' => 'Armenia: Aragatsotn', 'AM-02' => 'Armenia: Ararat', 'AM-03' => 'Armenia: Armavir', 'AM-04' => 'Armenia: Geghark\'unik\'', 'AM-05' => 'Armenia: Kotayk\'', 'AM-06' => 'Armenia: Lorri', 'AM-07' => 'Armenia: Shirak', 'AM-08' => 'Armenia: Syunik\'', 'AM-09' => 'Armenia: Tavush', 'AM-10' => 'Armenia: Vayots\' Dzor', 'AM-11' => 'Armenia: Yerevan', '--AU' => '','-AU' => 'Australia', 'AU-01' => 'Australia: Australian Capital Territory', 'AU-02' => 'Australia: New South Wales', 'AU-03' => 'Australia: Northern Territory', 'AU-04' => 'Australia: Queensland', 'AU-05' => 'Australia: South Australia', 'AU-06' => 'Australia: Tasmania', 'AU-07' => 'Australia: Victoria', 'AU-08' => 'Australia: Western Australia', '--AT' => '','-AT' => 'Austria', 'AT-01' => 'Austria: Burgenland', 'AT-02' => 'Austria: Karnten', 'AT-03' => 'Austria: Niederosterreich', 'AT-04' => 'Austria: Oberosterreich', 'AT-05' => 'Austria: Salzburg', 'AT-06' => 'Austria: Steiermark', 'AT-07' => 'Austria: Tirol', 'AT-08' => 'Austria: Vorarlberg', 'AT-09' => 'Austria: Wien', '--AZ' => '','-AZ' => 'Azerbaijan', 'AZ-01' => 'Azerbaijan: Abseron', 'AZ-02' => 'Azerbaijan: Agcabadi', 'AZ-03' => 'Azerbaijan: Agdam', 'AZ-04' => 'Azerbaijan: Agdas', 'AZ-05' => 'Azerbaijan: Agstafa', 'AZ-06' => 'Azerbaijan: Agsu', 'AZ-07' => 'Azerbaijan: Ali Bayramli', 'AZ-08' => 'Azerbaijan: Astara', 'AZ-09' => 'Azerbaijan: Baki', 'AZ-10' => 'Azerbaijan: Balakan', 'AZ-11' => 'Azerbaijan: Barda', 'AZ-12' => 'Azerbaijan: Beylaqan', 'AZ-13' => 'Azerbaijan: Bilasuvar', 'AZ-14' => 'Azerbaijan: Cabrayil', 'AZ-15' => 'Azerbaijan: Calilabad', 'AZ-16' => 'Azerbaijan: Daskasan', 'AZ-17' => 'Azerbaijan: Davaci', 'AZ-18' => 'Azerbaijan: Fuzuli', 'AZ-19' => 'Azerbaijan: Gadabay', 'AZ-20' => 'Azerbaijan: Ganca', 'AZ-21' => 'Azerbaijan: Goranboy', 'AZ-22' => 'Azerbaijan: Goycay', 'AZ-23' => 'Azerbaijan: Haciqabul', 'AZ-24' => 'Azerbaijan: Imisli', 'AZ-25' => 'Azerbaijan: Ismayilli', 'AZ-26' => 'Azerbaijan: Kalbacar', 'AZ-27' => 'Azerbaijan: Kurdamir', 'AZ-28' => 'Azerbaijan: Lacin', 'AZ-29' => 'Azerbaijan: Lankaran', 'AZ-30' => 'Azerbaijan: Lankaran', 'AZ-31' => 'Azerbaijan: Lerik', 'AZ-32' => 'Azerbaijan: Masalli', 'AZ-33' => 'Azerbaijan: Mingacevir', 'AZ-34' => 'Azerbaijan: Naftalan', 'AZ-35' => 'Azerbaijan: Naxcivan', 'AZ-36' => 'Azerbaijan: Neftcala', 'AZ-37' => 'Azerbaijan: Oguz', 'AZ-38' => 'Azerbaijan: Qabala', 'AZ-39' => 'Azerbaijan: Qax', 'AZ-40' => 'Azerbaijan: Qazax', 'AZ-41' => 'Azerbaijan: Qobustan', 'AZ-42' => 'Azerbaijan: Quba', 'AZ-43' => 'Azerbaijan: Qubadli', 'AZ-44' => 'Azerbaijan: Qusar', 'AZ-45' => 'Azerbaijan: Saatli', 'AZ-46' => 'Azerbaijan: Sabirabad', 'AZ-47' => 'Azerbaijan: Saki', 'AZ-48' => 'Azerbaijan: Saki', 'AZ-49' => 'Azerbaijan: Salyan', 'AZ-50' => 'Azerbaijan: Samaxi', 'AZ-51' => 'Azerbaijan: Samkir', 'AZ-52' => 'Azerbaijan: Samux', 'AZ-53' => 'Azerbaijan: Siyazan', 'AZ-54' => 'Azerbaijan: Sumqayit', 'AZ-55' => 'Azerbaijan: Susa', 'AZ-56' => 'Azerbaijan: Susa', 'AZ-57' => 'Azerbaijan: Tartar', 'AZ-58' => 'Azerbaijan: Tovuz', 'AZ-59' => 'Azerbaijan: Ucar', 'AZ-60' => 'Azerbaijan: Xacmaz', 'AZ-61' => 'Azerbaijan: Xankandi', 'AZ-62' => 'Azerbaijan: Xanlar', 'AZ-63' => 'Azerbaijan: Xizi', 'AZ-64' => 'Azerbaijan: Xocali', 'AZ-65' => 'Azerbaijan: Xocavand', 'AZ-66' => 'Azerbaijan: Yardimli', 'AZ-67' => 'Azerbaijan: Yevlax', 'AZ-68' => 'Azerbaijan: Yevlax', 'AZ-69' => 'Azerbaijan: Zangilan', 'AZ-70' => 'Azerbaijan: Zaqatala', 'AZ-71' => 'Azerbaijan: Zardab', '--BS' => '','-BS' => 'Bahamas', 'BS-24' => 'Bahamas: Acklins and Crooked Islands', 'BS-05' => 'Bahamas: Bimini', 'BS-06' => 'Bahamas: Cat Island', 'BS-10' => 'Bahamas: Exuma', 'BS-25' => 'Bahamas: Freeport', 'BS-26' => 'Bahamas: Fresh Creek', 'BS-27' => 'Bahamas: Governor\'s Harbour', 'BS-28' => 'Bahamas: Green Turtle Cay', 'BS-22' => 'Bahamas: Harbour Island', 'BS-29' => 'Bahamas: High Rock', 'BS-13' => 'Bahamas: Inagua', 'BS-30' => 'Bahamas: Kemps Bay', 'BS-15' => 'Bahamas: Long Island', 'BS-31' => 'Bahamas: Marsh Harbour', 'BS-16' => 'Bahamas: Mayaguana', 'BS-23' => 'Bahamas: New Providence', 'BS-32' => 'Bahamas: Nichollstown and Berry Islands', 'BS-18' => 'Bahamas: Ragged Island', 'BS-33' => 'Bahamas: Rock Sound', 'BS-35' => 'Bahamas: San Salvador and Rum Cay', 'BS-34' => 'Bahamas: Sandy Point', '--BH' => '','-BH' => 'Bahrain', 'BH-01' => 'Bahrain: Al Hadd', 'BH-02' => 'Bahrain: Al Manamah', 'BH-08' => 'Bahrain: Al Mintaqah al Gharbiyah', 'BH-11' => 'Bahrain: Al Mintaqah al Wusta', 'BH-10' => 'Bahrain: Al Mintaqah ash Shamaliyah', 'BH-03' => 'Bahrain: Al Muharraq', 'BH-13' => 'Bahrain: Ar Rifa', 'BH-05' => 'Bahrain: Jidd Hafs', 'BH-14' => 'Bahrain: Madinat Hamad', 'BH-12' => 'Bahrain: Madinat', 'BH-09' => 'Bahrain: Mintaqat Juzur Hawar', 'BH-06' => 'Bahrain: Sitrah', '--BD' => '','-BD' => 'Bangladesh', 'BD-22' => 'Bangladesh: Bagerhat', 'BD-04' => 'Bangladesh: Bandarban', 'BD-25' => 'Bangladesh: Barguna', 'BD-01' => 'Bangladesh: Barisal', 'BD-23' => 'Bangladesh: Bhola', 'BD-24' => 'Bangladesh: Bogra', 'BD-26' => 'Bangladesh: Brahmanbaria', 'BD-27' => 'Bangladesh: Chandpur', 'BD-28' => 'Bangladesh: Chapai Nawabganj', 'BD-29' => 'Bangladesh: Chattagram', 'BD-30' => 'Bangladesh: Chuadanga', 'BD-05' => 'Bangladesh: Comilla', 'BD-31' => 'Bangladesh: Cox\'s Bazar', 'BD-32' => 'Bangladesh: Dhaka', 'BD-33' => 'Bangladesh: Dinajpur', 'BD-34' => 'Bangladesh: Faridpur', 'BD-35' => 'Bangladesh: Feni', 'BD-36' => 'Bangladesh: Gaibandha', 'BD-37' => 'Bangladesh: Gazipur', 'BD-38' => 'Bangladesh: Gopalganj', 'BD-39' => 'Bangladesh: Habiganj', 'BD-40' => 'Bangladesh: Jaipurhat', 'BD-41' => 'Bangladesh: Jamalpur', 'BD-42' => 'Bangladesh: Jessore', 'BD-43' => 'Bangladesh: Jhalakati', 'BD-44' => 'Bangladesh: Jhenaidah', 'BD-45' => 'Bangladesh: Khagrachari', 'BD-46' => 'Bangladesh: Khulna', 'BD-47' => 'Bangladesh: Kishorganj', 'BD-48' => 'Bangladesh: Kurigram', 'BD-49' => 'Bangladesh: Kushtia', 'BD-50' => 'Bangladesh: Laksmipur', 'BD-51' => 'Bangladesh: Lalmonirhat', 'BD-52' => 'Bangladesh: Madaripur', 'BD-53' => 'Bangladesh: Magura', 'BD-54' => 'Bangladesh: Manikganj', 'BD-55' => 'Bangladesh: Meherpur', 'BD-56' => 'Bangladesh: Moulavibazar', 'BD-57' => 'Bangladesh: Munshiganj', 'BD-12' => 'Bangladesh: Mymensingh', 'BD-58' => 'Bangladesh: Naogaon', 'BD-59' => 'Bangladesh: Narail', 'BD-60' => 'Bangladesh: Narayanganj', 'BD-61' => 'Bangladesh: Narsingdi', 'BD-62' => 'Bangladesh: Nator', 'BD-63' => 'Bangladesh: Netrakona', 'BD-64' => 'Bangladesh: Nilphamari', 'BD-13' => 'Bangladesh: Noakhali', 'BD-65' => 'Bangladesh: Pabna', 'BD-66' => 'Bangladesh: Panchagar', 'BD-67' => 'Bangladesh: Parbattya Chattagram', 'BD-15' => 'Bangladesh: Patuakhali', 'BD-68' => 'Bangladesh: Pirojpur', 'BD-69' => 'Bangladesh: Rajbari', 'BD-70' => 'Bangladesh: Rajshahi', 'BD-71' => 'Bangladesh: Rangpur', 'BD-72' => 'Bangladesh: Satkhira', 'BD-73' => 'Bangladesh: Shariyatpur', 'BD-74' => 'Bangladesh: Sherpur', 'BD-75' => 'Bangladesh: Sirajganj', 'BD-76' => 'Bangladesh: Sunamganj', 'BD-77' => 'Bangladesh: Sylhet', 'BD-78' => 'Bangladesh: Tangail', 'BD-79' => 'Bangladesh: Thakurgaon', '--BB' => '','-BB' => 'Barbados', 'BB-01' => 'Barbados: Christ Church', 'BB-02' => 'Barbados: Saint Andrew', 'BB-03' => 'Barbados: Saint George', 'BB-04' => 'Barbados: Saint James', 'BB-05' => 'Barbados: Saint John', 'BB-06' => 'Barbados: Saint Joseph', 'BB-07' => 'Barbados: Saint Lucy', 'BB-08' => 'Barbados: Saint Michael', 'BB-09' => 'Barbados: Saint Peter', 'BB-10' => 'Barbados: Saint Philip', 'BB-11' => 'Barbados: Saint Thomas', '--BY' => '','-BY' => 'Belarus', 'BY-01' => 'Belarus: Brestskaya Voblasts\'', 'BY-02' => 'Belarus: Homyel\'skaya Voblasts\'', 'BY-03' => 'Belarus: Hrodzyenskaya Voblasts\'', 'BY-06' => 'Belarus: Mahilyowskaya Voblasts\'', 'BY-04' => 'Belarus: Minsk', 'BY-05' => 'Belarus: Minskaya Voblasts\'', 'BY-07' => 'Belarus: Vitsyebskaya Voblasts\'', '--BE' => '','-BE' => 'Belgium', 'BE-01' => 'Belgium: Antwerpen', 'BE-10' => 'Belgium: Brabant Wallon', 'BE-02' => 'Belgium: Brabant', 'BE-11' => 'Belgium: Brussels Hoofdstedelijk Gewest', 'BE-03' => 'Belgium: Hainaut', 'BE-04' => 'Belgium: Liege', 'BE-05' => 'Belgium: Limburg', 'BE-06' => 'Belgium: Luxembourg', 'BE-07' => 'Belgium: Namur', 'BE-08' => 'Belgium: Oost-Vlaanderen', 'BE-12' => 'Belgium: Vlaams-Brabant', 'BE-09' => 'Belgium: West-Vlaanderen', '--BZ' => '','-BZ' => 'Belize', 'BZ-01' => 'Belize: Belize', 'BZ-02' => 'Belize: Cayo', 'BZ-03' => 'Belize: Corozal', 'BZ-04' => 'Belize: Orange Walk', 'BZ-05' => 'Belize: Stann Creek', 'BZ-06' => 'Belize: Toledo', '--BJ' => '','-BJ' => 'Benin', 'BJ-01' => 'Benin: Atakora', 'BJ-02' => 'Benin: Atlantique', 'BJ-03' => 'Benin: Borgou', 'BJ-04' => 'Benin: Mono', 'BJ-05' => 'Benin: Oueme', 'BJ-06' => 'Benin: Zou', '--BM' => '','-BM' => 'Bermuda', 'BM-01' => 'Bermuda: Devonshire', 'BM-02' => 'Bermuda: Hamilton', 'BM-03' => 'Bermuda: Hamilton', 'BM-04' => 'Bermuda: Paget', 'BM-05' => 'Bermuda: Pembroke', 'BM-06' => 'Bermuda: Saint George', 'BM-07' => 'Bermuda: Saint George\'s', 'BM-08' => 'Bermuda: Sandys', 'BM-09' => 'Bermuda: Smiths', 'BM-10' => 'Bermuda: Southampton', 'BM-11' => 'Bermuda: Warwick', '--BT' => '','-BT' => 'Bhutan', 'BT-05' => 'Bhutan: Bumthang', 'BT-06' => 'Bhutan: Chhukha', 'BT-07' => 'Bhutan: Chirang', 'BT-08' => 'Bhutan: Daga', 'BT-09' => 'Bhutan: Geylegphug', 'BT-10' => 'Bhutan: Ha', 'BT-11' => 'Bhutan: Lhuntshi', 'BT-12' => 'Bhutan: Mongar', 'BT-13' => 'Bhutan: Paro', 'BT-14' => 'Bhutan: Pemagatsel', 'BT-15' => 'Bhutan: Punakha', 'BT-16' => 'Bhutan: Samchi', 'BT-17' => 'Bhutan: Samdrup', 'BT-18' => 'Bhutan: Shemgang', 'BT-19' => 'Bhutan: Tashigang', 'BT-20' => 'Bhutan: Thimphu', 'BT-21' => 'Bhutan: Tongsa', 'BT-22' => 'Bhutan: Wangdi Phodrang', '--BO' => '','-BO' => 'Bolivia', 'BO-01' => 'Bolivia: Chuquisaca', 'BO-02' => 'Bolivia: Cochabamba', 'BO-03' => 'Bolivia: El Beni', 'BO-04' => 'Bolivia: La Paz', 'BO-05' => 'Bolivia: Oruro', 'BO-06' => 'Bolivia: Pando', 'BO-07' => 'Bolivia: Potosi', 'BO-08' => 'Bolivia: Santa Cruz', 'BO-09' => 'Bolivia: Tarija', '--BA' => '','-BA' => 'Bosnia and Herzegovina', 'BA-01' => 'Bosnia and Herzegovina: Federation of Bosnia and Herzegovina', 'BA-02' => 'Bosnia and Herzegovina: Republika Srpska', '--BW' => '','-BW' => 'Botswana', 'BW-01' => 'Botswana: Central', 'BW-02' => 'Botswana: Chobe', 'BW-03' => 'Botswana: Ghanzi', 'BW-04' => 'Botswana: Kgalagadi', 'BW-05' => 'Botswana: Kgatleng', 'BW-06' => 'Botswana: Kweneng', 'BW-07' => 'Botswana: Ngamiland', 'BW-08' => 'Botswana: North-East', 'BW-09' => 'Botswana: South-East', 'BW-10' => 'Botswana: Southern', '--BR' => '','-BR' => 'Brazil', 'BR-01' => 'Brazil: Acre', 'BR-02' => 'Brazil: Alagoas', 'BR-03' => 'Brazil: Amapa', 'BR-04' => 'Brazil: Amazonas', 'BR-05' => 'Brazil: Bahia', 'BR-06' => 'Brazil: Ceara', 'BR-07' => 'Brazil: Distrito Federal', 'BR-08' => 'Brazil: Espirito Santo', 'BR-29' => 'Brazil: Goias', 'BR-13' => 'Brazil: Maranhao', 'BR-11' => 'Brazil: Mato Grosso do Sul', 'BR-14' => 'Brazil: Mato Grosso', 'BR-15' => 'Brazil: Minas Gerais', 'BR-16' => 'Brazil: Para', 'BR-17' => 'Brazil: Paraiba', 'BR-18' => 'Brazil: Parana', 'BR-30' => 'Brazil: Pernambuco', 'BR-20' => 'Brazil: Piaui', 'BR-21' => 'Brazil: Rio de Janeiro', 'BR-22' => 'Brazil: Rio Grande do Norte', 'BR-23' => 'Brazil: Rio Grande do Sul', 'BR-24' => 'Brazil: Rondonia', 'BR-25' => 'Brazil: Roraima', 'BR-26' => 'Brazil: Santa Catarina', 'BR-27' => 'Brazil: Sao Paulo', 'BR-28' => 'Brazil: Sergipe', 'BR-31' => 'Brazil: Tocantins', '--BN' => '','-BN' => 'Brunei Darussalam', 'BN-07' => 'Brunei Darussalam: Alibori', 'BN-08' => 'Brunei Darussalam: Belait', 'BN-09' => 'Brunei Darussalam: Brunei and Muara', 'BN-11' => 'Brunei Darussalam: Collines', 'BN-13' => 'Brunei Darussalam: Donga', 'BN-12' => 'Brunei Darussalam: Kouffo', 'BN-14' => 'Brunei Darussalam: Littoral', 'BN-16' => 'Brunei Darussalam: Oueme', 'BN-17' => 'Brunei Darussalam: Plateau', 'BN-10' => 'Brunei Darussalam: Temburong', 'BN-15' => 'Brunei Darussalam: Tutong', 'BN-18' => 'Brunei Darussalam: Zou', '--BG' => '','-BG' => 'Bulgaria', 'BG-38' => 'Bulgaria: Blagoevgrad', 'BG-39' => 'Bulgaria: Burgas', 'BG-40' => 'Bulgaria: Dobrich', 'BG-41' => 'Bulgaria: Gabrovo', 'BG-42' => 'Bulgaria: Grad Sofiya', 'BG-43' => 'Bulgaria: Khaskovo', 'BG-44' => 'Bulgaria: Kurdzhali', 'BG-45' => 'Bulgaria: Kyustendil', 'BG-46' => 'Bulgaria: Lovech', 'BG-33' => 'Bulgaria: Mikhaylovgrad', 'BG-47' => 'Bulgaria: Montana', 'BG-48' => 'Bulgaria: Pazardzhik', 'BG-49' => 'Bulgaria: Pernik', 'BG-50' => 'Bulgaria: Pleven', 'BG-51' => 'Bulgaria: Plovdiv', 'BG-52' => 'Bulgaria: Razgrad', 'BG-53' => 'Bulgaria: Ruse', 'BG-54' => 'Bulgaria: Shumen', 'BG-55' => 'Bulgaria: Silistra', 'BG-56' => 'Bulgaria: Sliven', 'BG-57' => 'Bulgaria: Smolyan', 'BG-58' => 'Bulgaria: Sofiya', 'BG-59' => 'Bulgaria: Stara Zagora', 'BG-60' => 'Bulgaria: Turgovishte', 'BG-61' => 'Bulgaria: Varna', 'BG-62' => 'Bulgaria: Veliko Turnovo', 'BG-63' => 'Bulgaria: Vidin', 'BG-64' => 'Bulgaria: Vratsa', 'BG-65' => 'Bulgaria: Yambol', '--BF' => '','-BF' => 'Burkina Faso', 'BF-45' => 'Burkina Faso: Bale', 'BF-15' => 'Burkina Faso: Bam', 'BF-46' => 'Burkina Faso: Banwa', 'BF-47' => 'Burkina Faso: Bazega', 'BF-48' => 'Burkina Faso: Bougouriba', 'BF-49' => 'Burkina Faso: Boulgou', 'BF-19' => 'Burkina Faso: Boulkiemde', 'BF-20' => 'Burkina Faso: Ganzourgou', 'BF-21' => 'Burkina Faso: Gnagna', 'BF-50' => 'Burkina Faso: Gourma', 'BF-51' => 'Burkina Faso: Houet', 'BF-52' => 'Burkina Faso: Ioba', 'BF-53' => 'Burkina Faso: Kadiogo', 'BF-54' => 'Burkina Faso: Kenedougou', 'BF-55' => 'Burkina Faso: Komoe', 'BF-56' => 'Burkina Faso: Komondjari', 'BF-57' => 'Burkina Faso: Kompienga', 'BF-58' => 'Burkina Faso: Kossi', 'BF-59' => 'Burkina Faso: Koulpelogo', 'BF-28' => 'Burkina Faso: Kouritenga', 'BF-60' => 'Burkina Faso: Kourweogo', 'BF-61' => 'Burkina Faso: Leraba', 'BF-62' => 'Burkina Faso: Loroum', 'BF-63' => 'Burkina Faso: Mouhoun', 'BF-64' => 'Burkina Faso: Namentenga', 'BF-65' => 'Burkina Faso: Naouri', 'BF-66' => 'Burkina Faso: Nayala', 'BF-67' => 'Burkina Faso: Noumbiel', 'BF-68' => 'Burkina Faso: Oubritenga', 'BF-33' => 'Burkina Faso: Oudalan', 'BF-34' => 'Burkina Faso: Passore', 'BF-69' => 'Burkina Faso: Poni', 'BF-36' => 'Burkina Faso: Sanguie', 'BF-70' => 'Burkina Faso: Sanmatenga', 'BF-71' => 'Burkina Faso: Seno', 'BF-72' => 'Burkina Faso: Sissili', 'BF-40' => 'Burkina Faso: Soum', 'BF-73' => 'Burkina Faso: Sourou', 'BF-42' => 'Burkina Faso: Tapoa', 'BF-74' => 'Burkina Faso: Tuy', 'BF-75' => 'Burkina Faso: Yagha', 'BF-76' => 'Burkina Faso: Yatenga', 'BF-77' => 'Burkina Faso: Ziro', 'BF-78' => 'Burkina Faso: Zondoma', 'BF-44' => 'Burkina Faso: Zoundweogo', '--BI' => '','-BI' => 'Burundi', 'BI-09' => 'Burundi: Bubanza', 'BI-02' => 'Burundi: Bujumbura', 'BI-10' => 'Burundi: Bururi', 'BI-11' => 'Burundi: Cankuzo', 'BI-12' => 'Burundi: Cibitoke', 'BI-13' => 'Burundi: Gitega', 'BI-14' => 'Burundi: Karuzi', 'BI-15' => 'Burundi: Kayanza', 'BI-16' => 'Burundi: Kirundo', 'BI-17' => 'Burundi: Makamba', 'BI-22' => 'Burundi: Muramvya', 'BI-18' => 'Burundi: Muyinga', 'BI-23' => 'Burundi: Mwaro', 'BI-19' => 'Burundi: Ngozi', 'BI-20' => 'Burundi: Rutana', 'BI-21' => 'Burundi: Ruyigi', '--KH' => '','-KH' => 'Cambodia', 'KH-29' => 'Cambodia: Batdambang', 'KH-02' => 'Cambodia: Kampong Cham', 'KH-03' => 'Cambodia: Kampong Chhnang', 'KH-04' => 'Cambodia: Kampong Spoe', 'KH-05' => 'Cambodia: Kampong Thum', 'KH-06' => 'Cambodia: Kampot', 'KH-07' => 'Cambodia: Kandal', 'KH-08' => 'Cambodia: Kaoh Kong', 'KH-09' => 'Cambodia: Kracheh', 'KH-10' => 'Cambodia: Mondol Kiri', 'KH-30' => 'Cambodia: Pailin', 'KH-11' => 'Cambodia: Phnum Penh', 'KH-12' => 'Cambodia: Pouthisat', 'KH-13' => 'Cambodia: Preah Vihear', 'KH-14' => 'Cambodia: Prey Veng', 'KH-15' => 'Cambodia: Rotanokiri', 'KH-16' => 'Cambodia: Siemreab-Otdar Meanchey', 'KH-17' => 'Cambodia: Stoeng Treng', 'KH-18' => 'Cambodia: Svay Rieng', 'KH-19' => 'Cambodia: Takev', '--CM' => '','-CM' => 'Cameroon', 'CM-10' => 'Cameroon: Adamaoua', 'CM-11' => 'Cameroon: Centre', 'CM-04' => 'Cameroon: Est', 'CM-12' => 'Cameroon: Extreme-Nord', 'CM-05' => 'Cameroon: Littoral', 'CM-13' => 'Cameroon: Nord', 'CM-07' => 'Cameroon: Nord-Ouest', 'CM-08' => 'Cameroon: Ouest', 'CM-14' => 'Cameroon: Sud', 'CM-09' => 'Cameroon: Sud-Ouest', '--CA' => '','-CA' => 'Canada', 'CA-AB' => 'Canada: Alberta', 'CA-BC' => 'Canada: British Columbia', 'CA-MB' => 'Canada: Manitoba', 'CA-NB' => 'Canada: New Brunswick', 'CA-NL' => 'Canada: Newfoundland', 'CA-NT' => 'Canada: Northwest Territories', 'CA-NS' => 'Canada: Nova Scotia', 'CA-NU' => 'Canada: Nunavut', 'CA-ON' => 'Canada: Ontario', 'CA-PE' => 'Canada: Prince Edward Island', 'CA-QC' => 'Canada: Quebec', 'CA-SK' => 'Canada: Saskatchewan', 'CA-YT' => 'Canada: Yukon Territory', '--CV' => '','-CV' => 'Cape Verde', 'CV-01' => 'Cape Verde: Boa Vista', 'CV-02' => 'Cape Verde: Brava', 'CV-04' => 'Cape Verde: Maio', 'CV-13' => 'Cape Verde: Mosteiros', 'CV-05' => 'Cape Verde: Paul', 'CV-14' => 'Cape Verde: Praia', 'CV-07' => 'Cape Verde: Ribeira Grande', 'CV-08' => 'Cape Verde: Sal', 'CV-15' => 'Cape Verde: Santa Catarina', 'CV-16' => 'Cape Verde: Santa Cruz', 'CV-17' => 'Cape Verde: Sao Domingos', 'CV-18' => 'Cape Verde: Sao Filipe', 'CV-19' => 'Cape Verde: Sao Miguel', 'CV-10' => 'Cape Verde: Sao Nicolau', 'CV-11' => 'Cape Verde: Sao Vicente', 'CV-20' => 'Cape Verde: Tarrafal', '--KY' => '','-KY' => 'Cayman Islands', 'KY-01' => 'Cayman Islands: Creek', 'KY-02' => 'Cayman Islands: Eastern', 'KY-03' => 'Cayman Islands: Midland', 'KY-04' => 'Cayman Islands: South Town', 'KY-05' => 'Cayman Islands: Spot Bay', 'KY-06' => 'Cayman Islands: Stake Bay', 'KY-07' => 'Cayman Islands: West End', 'KY-08' => 'Cayman Islands: Western', '--CF' => '','-CF' => 'Central African Republic', 'CF-01' => 'Central African Republic: Bamingui-Bangoran', 'CF-18' => 'Central African Republic: Bangui', 'CF-02' => 'Central African Republic: Basse-Kotto', 'CF-03' => 'Central African Republic: Haute-Kotto', 'CF-05' => 'Central African Republic: Haut-Mbomou', 'CF-06' => 'Central African Republic: Kemo', 'CF-07' => 'Central African Republic: Lobaye', 'CF-04' => 'Central African Republic: Mambere-Kadei', 'CF-08' => 'Central African Republic: Mbomou', 'CF-15' => 'Central African Republic: Nana-Grebizi', 'CF-09' => 'Central African Republic: Nana-Mambere', 'CF-17' => 'Central African Republic: Ombella-Mpoko', 'CF-11' => 'Central African Republic: Ouaka', 'CF-12' => 'Central African Republic: Ouham', 'CF-13' => 'Central African Republic: Ouham-Pende', 'CF-16' => 'Central African Republic: Sangha-Mbaere', 'CF-14' => 'Central African Republic: Vakaga', '--TD' => '','-TD' => 'Chad', 'TD-01' => 'Chad: Batha', 'TD-02' => 'Chad: Biltine', 'TD-03' => 'Chad: Borkou-Ennedi-Tibesti', 'TD-04' => 'Chad: Chari-Baguirmi', 'TD-05' => 'Chad: Guera', 'TD-06' => 'Chad: Kanem', 'TD-07' => 'Chad: Lac', 'TD-08' => 'Chad: Logone Occidental', 'TD-09' => 'Chad: Logone Oriental', 'TD-10' => 'Chad: Mayo-Kebbi', 'TD-11' => 'Chad: Moyen-Chari', 'TD-12' => 'Chad: Ouaddai', 'TD-13' => 'Chad: Salamat', 'TD-14' => 'Chad: Tandjile', '--CL' => '','-CL' => 'Chile', 'CL-02' => 'Chile: Aisen del General Carlos Ibanez del Campo', 'CL-03' => 'Chile: Antofagasta', 'CL-04' => 'Chile: Araucania', 'CL-05' => 'Chile: Atacama', 'CL-06' => 'Chile: Bio-Bio', 'CL-07' => 'Chile: Coquimbo', 'CL-08' => 'Chile: Libertador General Bernardo O\'Higgins', 'CL-09' => 'Chile: Los Lagos', 'CL-10' => 'Chile: Magallanes y de la Antartica Chilena', 'CL-11' => 'Chile: Maule', 'CL-12' => 'Chile: Region Metropolitana', 'CL-13' => 'Chile: Tarapaca', 'CL-01' => 'Chile: Valparaiso', '--CN' => '','-CN' => 'China', 'CN-01' => 'China: Anhui', 'CN-22' => 'China: Beijing', 'CN-33' => 'China: Chongqing', 'CN-07' => 'China: Fujian', 'CN-15' => 'China: Gansu', 'CN-30' => 'China: Guangdong', 'CN-16' => 'China: Guangxi', 'CN-18' => 'China: Guizhou', 'CN-31' => 'China: Hainan', 'CN-10' => 'China: Hebei', 'CN-08' => 'China: Heilongjiang', 'CN-09' => 'China: Henan', 'CN-12' => 'China: Hubei', 'CN-11' => 'China: Hunan', 'CN-04' => 'China: Jiangsu', 'CN-03' => 'China: Jiangxi', 'CN-05' => 'China: Jilin', 'CN-19' => 'China: Liaoning', 'CN-20' => 'China: Nei Mongol', 'CN-21' => 'China: Ningxia', 'CN-06' => 'China: Qinghai', 'CN-26' => 'China: Shaanxi', 'CN-25' => 'China: Shandong', 'CN-23' => 'China: Shanghai', 'CN-24' => 'China: Shanxi', 'CN-32' => 'China: Sichuan', 'CN-28' => 'China: Tianjin', 'CN-13' => 'China: Xinjiang', 'CN-14' => 'China: Xizang', 'CN-29' => 'China: Yunnan', 'CN-02' => 'China: Zhejiang', '--CO' => '','-CO' => 'Colombia', 'CO-01' => 'Colombia: Amazonas', 'CO-02' => 'Colombia: Antioquia', 'CO-03' => 'Colombia: Arauca', 'CO-04' => 'Colombia: Atlantico', 'CO-35' => 'Colombia: Bolivar', 'CO-36' => 'Colombia: Boyaca', 'CO-37' => 'Colombia: Caldas', 'CO-08' => 'Colombia: Caqueta', 'CO-32' => 'Colombia: Casanare', 'CO-09' => 'Colombia: Cauca', 'CO-10' => 'Colombia: Cesar', 'CO-11' => 'Colombia: Choco', 'CO-12' => 'Colombia: Cordoba', 'CO-33' => 'Colombia: Cundinamarca', 'CO-34' => 'Colombia: Distrito Especial', 'CO-15' => 'Colombia: Guainia', 'CO-14' => 'Colombia: Guaviare', 'CO-16' => 'Colombia: Huila', 'CO-17' => 'Colombia: La Guajira', 'CO-38' => 'Colombia: Magdalena', 'CO-19' => 'Colombia: Meta', 'CO-20' => 'Colombia: Narino', 'CO-21' => 'Colombia: Norte de Santander', 'CO-22' => 'Colombia: Putumayo', 'CO-23' => 'Colombia: Quindio', 'CO-24' => 'Colombia: Risaralda', 'CO-25' => 'Colombia: San Andres y Providencia', 'CO-26' => 'Colombia: Santander', 'CO-27' => 'Colombia: Sucre', 'CO-28' => 'Colombia: Tolima', 'CO-29' => 'Colombia: Valle del Cauca', 'CO-30' => 'Colombia: Vaupes', 'CO-31' => 'Colombia: Vichada', '--KM' => '','-KM' => 'Comoros', 'KM-01' => 'Comoros: Anjouan', 'KM-02' => 'Comoros: Grande Comore', 'KM-03' => 'Comoros: Moheli', '--CD' => '','-CD' => 'Congo', 'CD-01' => 'Congo: Bandundu', 'CD-08' => 'Congo: Bas-Congo', '--CG' => '','-CG' => 'Congo', 'CG-01' => 'Congo: Bouenza', 'CG-12' => 'Congo: Brazzamark', 'CG-03' => 'Congo: Cuvette', '--CD' => '','-CD' => 'Congo', 'CD-02' => 'Congo: Equateur', 'CD-03' => 'Congo: Kasai-Occidental', 'CD-04' => 'Congo: Kasai-Oriental', 'CD-05' => 'Congo: Katanga', 'CD-06' => 'Congo: Kinshasa', 'CD-07' => 'Congo: Kivu', '--CG' => '','-CG' => 'Congo', 'CG-04' => 'Congo: Kouilou', 'CG-05' => 'Congo: Lekoumou', 'CG-06' => 'Congo: Likouala', '--CD' => '','-CD' => 'Congo', 'CD-10' => 'Congo: Maniema', '--CG' => '','-CG' => 'Congo', 'CG-07' => 'Congo: Niari', '--CD' => '','-CD' => 'Congo', 'CD-11' => 'Congo: Nord-Kivu', 'CD-09' => 'Congo: Orientale', '--CG' => '','-CG' => 'Congo', 'CG-08' => 'Congo: Plateaux', 'CG-11' => 'Congo: Pool', 'CG-10' => 'Congo: Sangha', '--CD' => '','-CD' => 'Congo', 'CD-12' => 'Congo: Sud-Kivu', '--CR' => '','-CR' => 'Costa Rica', 'CR-01' => 'Costa Rica: Alajuela', 'CR-02' => 'Costa Rica: Cartago', 'CR-03' => 'Costa Rica: Guanacaste', 'CR-04' => 'Costa Rica: Heredia', 'CR-06' => 'Costa Rica: Limon', 'CR-07' => 'Costa Rica: Puntarenas', 'CR-08' => 'Costa Rica: San Jose', '--CI' => '','-CI' => 'Cote D'Ivoire', 'CI-01' => 'Cote D\'Ivoire: Abengourou', 'CI-61' => 'Cote D\'Ivoire: Abidjan', 'CI-62' => 'Cote D\'Ivoire: Aboisso', 'CI-63' => 'Cote D\'Ivoire: Adiake', 'CI-05' => 'Cote D\'Ivoire: Adzope', 'CI-06' => 'Cote D\'Ivoire: Agbomark', 'CI-64' => 'Cote D\'Ivoire: Alepe', 'CI-36' => 'Cote D\'Ivoire: Bangolo', 'CI-37' => 'Cote D\'Ivoire: Beoumi', 'CI-07' => 'Cote D\'Ivoire: Biankouma', 'CI-65' => 'Cote D\'Ivoire: Bocanda', 'CI-38' => 'Cote D\'Ivoire: Bondoukou', 'CI-27' => 'Cote D\'Ivoire: Bongouanou', 'CI-39' => 'Cote D\'Ivoire: Bouafle', 'CI-40' => 'Cote D\'Ivoire: Bouake', 'CI-11' => 'Cote D\'Ivoire: Bouna', 'CI-12' => 'Cote D\'Ivoire: Boundiali', 'CI-03' => 'Cote D\'Ivoire: Dabakala', 'CI-66' => 'Cote D\'Ivoire: Dabou', 'CI-41' => 'Cote D\'Ivoire: Daloa', 'CI-14' => 'Cote D\'Ivoire: Danane', 'CI-42' => 'Cote D\'Ivoire: Daoukro', 'CI-67' => 'Cote D\'Ivoire: Dimbokro', 'CI-16' => 'Cote D\'Ivoire: Divo', 'CI-44' => 'Cote D\'Ivoire: Duekoue', 'CI-17' => 'Cote D\'Ivoire: Ferkessedougou', 'CI-18' => 'Cote D\'Ivoire: Gagnoa', 'CI-68' => 'Cote D\'Ivoire: Grand-Bassam', 'CI-45' => 'Cote D\'Ivoire: Grand-Lahou', 'CI-69' => 'Cote D\'Ivoire: Guiglo', 'CI-28' => 'Cote D\'Ivoire: Issia', 'CI-70' => 'Cote D\'Ivoire: Jacquemark', 'CI-20' => 'Cote D\'Ivoire: Katiola', 'CI-21' => 'Cote D\'Ivoire: Korhogo', 'CI-29' => 'Cote D\'Ivoire: Lakota', 'CI-47' => 'Cote D\'Ivoire: Man', 'CI-30' => 'Cote D\'Ivoire: Mankono', 'CI-48' => 'Cote D\'Ivoire: Mbahiakro', 'CI-23' => 'Cote D\'Ivoire: Odienne', 'CI-31' => 'Cote D\'Ivoire: Oume', 'CI-49' => 'Cote D\'Ivoire: Sakassou', 'CI-50' => 'Cote D\'Ivoire: San Pedro', 'CI-51' => 'Cote D\'Ivoire: Sassandra', 'CI-25' => 'Cote D\'Ivoire: Seguela', 'CI-52' => 'Cote D\'Ivoire: Sinfra', 'CI-32' => 'Cote D\'Ivoire: Soubre', 'CI-53' => 'Cote D\'Ivoire: Tabou', 'CI-54' => 'Cote D\'Ivoire: Tanda', 'CI-55' => 'Cote D\'Ivoire: Tiassale', 'CI-71' => 'Cote D\'Ivoire: Tiebissou', 'CI-33' => 'Cote D\'Ivoire: Tingrela', 'CI-26' => 'Cote D\'Ivoire: Touba', 'CI-72' => 'Cote D\'Ivoire: Toulepleu', 'CI-56' => 'Cote D\'Ivoire: Toumodi', 'CI-57' => 'Cote D\'Ivoire: Vavoua', 'CI-73' => 'Cote D\'Ivoire: Yamoussoukro', 'CI-34' => 'Cote D\'Ivoire: Zuenoula', '--HR' => '','-HR' => 'Croatia', 'HR-01' => 'Croatia: Bjelovarsko-Bilogorska', 'HR-02' => 'Croatia: Brodsko-Posavska', 'HR-03' => 'Croatia: Dubrovacko-Neretvanska', 'HR-21' => 'Croatia: Grad Zagreb', 'HR-04' => 'Croatia: Istarska', 'HR-05' => 'Croatia: Karlovacka', 'HR-06' => 'Croatia: Koprivnicko-Krizevacka', 'HR-07' => 'Croatia: Krapinsko-Zagorska', 'HR-08' => 'Croatia: Licko-Senjska', 'HR-09' => 'Croatia: Medimurska', 'HR-10' => 'Croatia: Osjecko-Baranjska', 'HR-11' => 'Croatia: Pozesko-Slavonska', 'HR-12' => 'Croatia: Primorsko-Goranska', 'HR-13' => 'Croatia: Sibensko-Kninska', 'HR-14' => 'Croatia: Sisacko-Moslavacka', 'HR-15' => 'Croatia: Splitsko-Dalmatinska', 'HR-16' => 'Croatia: Varazdinska', 'HR-17' => 'Croatia: Viroviticko-Podravska', 'HR-18' => 'Croatia: Vukovarsko-Srijemska', 'HR-19' => 'Croatia: Zadarska', 'HR-20' => 'Croatia: Zagrebacka', '--CU' => '','-CU' => 'Cuba', 'CU-05' => 'Cuba: Camaguey', 'CU-07' => 'Cuba: Ciego de Avila', 'CU-08' => 'Cuba: Cienfuegos', 'CU-02' => 'Cuba: Ciudad de la Habana', 'CU-09' => 'Cuba: Granma', 'CU-10' => 'Cuba: Guantanamo', 'CU-12' => 'Cuba: Holguin', 'CU-04' => 'Cuba: Isla de la Juventud', 'CU-11' => 'Cuba: La Habana', 'CU-13' => 'Cuba: Las Tunas', 'CU-03' => 'Cuba: Matanzas', 'CU-01' => 'Cuba: Pinar del Rio', 'CU-14' => 'Cuba: Sancti Spiritus', 'CU-15' => 'Cuba: Santiago de Cuba', 'CU-16' => 'Cuba: Villa Clara', '--CY' => '','-CY' => 'Cyprus', 'CY-01' => 'Cyprus: Famagusta', 'CY-02' => 'Cyprus: Kyrenia', 'CY-03' => 'Cyprus: Larnaca', 'CY-05' => 'Cyprus: Limassol', 'CY-04' => 'Cyprus: Nicosia', 'CY-06' => 'Cyprus: Paphos', '--CZ' => '','-CZ' => 'Czech Republic', 'CZ-03' => 'Czech Republic: Blansko', 'CZ-04' => 'Czech Republic: Breclav', 'CZ-52' => 'Czech Republic: Hlavni Mesto Praha', 'CZ-20' => 'Czech Republic: Hradec Kralove', 'CZ-21' => 'Czech Republic: Jablonec nad Nisou', 'CZ-23' => 'Czech Republic: Jiein', 'CZ-24' => 'Czech Republic: Jihlava', 'CZ-79' => 'Czech Republic: Jihocesky Kraj', 'CZ-78' => 'Czech Republic: Jihomoravsky Kraj', 'CZ-81' => 'Czech Republic: Karlovarsky Kraj', 'CZ-30' => 'Czech Republic: Kolin', 'CZ-82' => 'Czech Republic: Kralovehradecky Kraj', 'CZ-33' => 'Czech Republic: Liberec', 'CZ-83' => 'Czech Republic: Liberecky Kraj', 'CZ-36' => 'Czech Republic: Melnik', 'CZ-37' => 'Czech Republic: Mlada Boleslav', 'CZ-85' => 'Czech Republic: Moravskoslezsky Kraj', 'CZ-39' => 'Czech Republic: Nachod', 'CZ-41' => 'Czech Republic: Nymburk', 'CZ-84' => 'Czech Republic: Olomoucky Kraj', 'CZ-45' => 'Czech Republic: Pardubice', 'CZ-86' => 'Czech Republic: Pardubicky Kraj', 'CZ-87' => 'Czech Republic: Plzensky Kraj', 'CZ-61' => 'Czech Republic: Semily', 'CZ-88' => 'Czech Republic: Stredocesky Kraj', 'CZ-70' => 'Czech Republic: Trutnov', 'CZ-89' => 'Czech Republic: Ustecky Kraj', 'CZ-80' => 'Czech Republic: Vysocina', 'CZ-90' => 'Czech Republic: Zlinsky Kraj', '--DK' => '','-DK' => 'Denmark', 'DK-01' => 'Denmark: Arhus', 'DK-02' => 'Denmark: Bornholm', 'DK-03' => 'Denmark: Frederiksborg', 'DK-04' => 'Denmark: Fyn', 'DK-05' => 'Denmark: Kobenhavn', 'DK-07' => 'Denmark: Nordjylland', 'DK-08' => 'Denmark: Ribe', 'DK-09' => 'Denmark: Ringkobing', 'DK-10' => 'Denmark: Roskilde', 'DK-11' => 'Denmark: Sonderjylland', 'DK-06' => 'Denmark: Staden Kobenhavn', 'DK-12' => 'Denmark: Storstrom', 'DK-13' => 'Denmark: Vejle', 'DK-14' => 'Denmark: Vestsjalland', 'DK-15' => 'Denmark: Viborg', '--DJ' => '','-DJ' => 'Djibouti', 'DJ-02' => 'Djibouti: Dikhil', 'DJ-03' => 'Djibouti: Djibouti', 'DJ-04' => 'Djibouti: Obock', 'DJ-05' => 'Djibouti: Tadjoura', '--DM' => '','-DM' => 'Dominica', 'DM-02' => 'Dominica: Saint Andrew', 'DM-03' => 'Dominica: Saint David', 'DM-04' => 'Dominica: Saint George', 'DM-05' => 'Dominica: Saint John', 'DM-06' => 'Dominica: Saint Joseph', 'DM-07' => 'Dominica: Saint Luke', 'DM-08' => 'Dominica: Saint Mark', 'DM-09' => 'Dominica: Saint Patrick', 'DM-10' => 'Dominica: Saint Paul', 'DM-11' => 'Dominica: Saint Peter', '--DO' => '','-DO' => 'Dominican Republic', 'DO-01' => 'Dominican Republic: Azua', 'DO-02' => 'Dominican Republic: Baoruco', 'DO-03' => 'Dominican Republic: Barahona', 'DO-04' => 'Dominican Republic: Dajabon', 'DO-05' => 'Dominican Republic: Distrito Nacional', 'DO-06' => 'Dominican Republic: Duarte', 'DO-28' => 'Dominican Republic: El Seibo', 'DO-11' => 'Dominican Republic: Elias Pina', 'DO-08' => 'Dominican Republic: Espaillat', 'DO-29' => 'Dominican Republic: Hato Mayor', 'DO-09' => 'Dominican Republic: Independencia', 'DO-10' => 'Dominican Republic: La Altagracia', 'DO-12' => 'Dominican Republic: La Romana', 'DO-30' => 'Dominican Republic: La Vega', 'DO-14' => 'Dominican Republic: Maria Trinidad Sanchez', 'DO-31' => 'Dominican Republic: Monsenor Nouel', 'DO-15' => 'Dominican Republic: Monte Cristi', 'DO-32' => 'Dominican Republic: Monte Plata', 'DO-16' => 'Dominican Republic: Pedernales', 'DO-17' => 'Dominican Republic: Peravia', 'DO-18' => 'Dominican Republic: Puerto Plata', 'DO-19' => 'Dominican Republic: Salcedo', 'DO-20' => 'Dominican Republic: Samana', 'DO-33' => 'Dominican Republic: San Cristobal', 'DO-23' => 'Dominican Republic: San Juan', 'DO-24' => 'Dominican Republic: San Pedro De Macoris', 'DO-21' => 'Dominican Republic: Sanchez Ramirez', 'DO-26' => 'Dominican Republic: Santiago Rodriguez', 'DO-25' => 'Dominican Republic: Santiago', 'DO-27' => 'Dominican Republic: Valverde', '--EC' => '','-EC' => 'Ecuador', 'EC-02' => 'Ecuador: Azuay', 'EC-03' => 'Ecuador: Bolivar', 'EC-04' => 'Ecuador: Canar', 'EC-05' => 'Ecuador: Carchi', 'EC-06' => 'Ecuador: Chimborazo', 'EC-07' => 'Ecuador: Cotopaxi', 'EC-08' => 'Ecuador: El Oro', 'EC-09' => 'Ecuador: Esmeraldas', 'EC-01' => 'Ecuador: Galapagos', 'EC-10' => 'Ecuador: Guayas', 'EC-11' => 'Ecuador: Imbabura', 'EC-12' => 'Ecuador: Loja', 'EC-13' => 'Ecuador: Los Rios', 'EC-14' => 'Ecuador: Manabi', 'EC-15' => 'Ecuador: Morona-Santiago', 'EC-23' => 'Ecuador: Napo', 'EC-24' => 'Ecuador: Orellana', 'EC-17' => 'Ecuador: Pastaza', 'EC-18' => 'Ecuador: Pichincha', 'EC-22' => 'Ecuador: Sucumbios', 'EC-19' => 'Ecuador: Tungurahua', 'EC-20' => 'Ecuador: Zamora-Chinchipe', '--EG' => '','-EG' => 'Egypt', 'EG-01' => 'Egypt: Ad Daqahliyah', 'EG-02' => 'Egypt: Al Bahr al Ahmar', 'EG-03' => 'Egypt: Al Buhayrah', 'EG-04' => 'Egypt: Al Fayyum', 'EG-05' => 'Egypt: Al Gharbiyah', 'EG-06' => 'Egypt: Al Iskandariyah', 'EG-07' => 'Egypt: Al Isma\'iliyah', 'EG-08' => 'Egypt: Al Jizah', 'EG-09' => 'Egypt: Al Minufiyah', 'EG-10' => 'Egypt: Al Minya', 'EG-11' => 'Egypt: Al Qahirah', 'EG-12' => 'Egypt: Al Qalyubiyah', 'EG-13' => 'Egypt: Al Wadi al Jadid', 'EG-15' => 'Egypt: As Suways', 'EG-14' => 'Egypt: Ash Sharqiyah', 'EG-16' => 'Egypt: Aswan', 'EG-17' => 'Egypt: Asyut', 'EG-18' => 'Egypt: Bani Suwayf', 'EG-19' => 'Egypt: Bur Sa\'id', 'EG-20' => 'Egypt: Dumyat', 'EG-26' => 'Egypt: Janub Sina\'', 'EG-21' => 'Egypt: Kafr ash Shaykh', 'EG-22' => 'Egypt: Matruh', 'EG-23' => 'Egypt: Qina', 'EG-27' => 'Egypt: Shamal Sina\'', 'EG-24' => 'Egypt: Suhaj', '--SV' => '','-SV' => 'El Salvador', 'SV-01' => 'El Salvador: Ahuachapan', 'SV-02' => 'El Salvador: Cabanas', 'SV-03' => 'El Salvador: Chalatenango', 'SV-04' => 'El Salvador: Cuscatlan', 'SV-05' => 'El Salvador: La Libertad', 'SV-06' => 'El Salvador: La Paz', 'SV-07' => 'El Salvador: La Union', 'SV-08' => 'El Salvador: Morazan', 'SV-09' => 'El Salvador: San Miguel', 'SV-10' => 'El Salvador: San Salvador', 'SV-12' => 'El Salvador: San Vicente', 'SV-11' => 'El Salvador: Santa Ana', 'SV-13' => 'El Salvador: Sonsonate', 'SV-14' => 'El Salvador: Usulutan', '--GQ' => '','-GQ' => 'Equatorial Guinea', 'GQ-03' => 'Equatorial Guinea: Annobon', 'GQ-04' => 'Equatorial Guinea: Bioko Norte', 'GQ-05' => 'Equatorial Guinea: Bioko Sur', 'GQ-06' => 'Equatorial Guinea: Centro Sur', 'GQ-07' => 'Equatorial Guinea: Kie-Ntem', 'GQ-08' => 'Equatorial Guinea: Litoral', 'GQ-09' => 'Equatorial Guinea: Wele-Nzas', '--EE' => '','-EE' => 'Estonia', 'EE-01' => 'Estonia: Harjumaa', 'EE-02' => 'Estonia: Hiiumaa', 'EE-03' => 'Estonia: Ida-Virumaa', 'EE-04' => 'Estonia: Jarvamaa', 'EE-05' => 'Estonia: Jogevamaa', 'EE-06' => 'Estonia: Kohtla-Jarve', 'EE-07' => 'Estonia: Laanemaa', 'EE-08' => 'Estonia: Laane-Virumaa', 'EE-09' => 'Estonia: Narva', 'EE-10' => 'Estonia: Parnu', 'EE-11' => 'Estonia: Parnumaa', 'EE-12' => 'Estonia: Polvamaa', 'EE-13' => 'Estonia: Raplamaa', 'EE-14' => 'Estonia: Saaremaa', 'EE-15' => 'Estonia: Sillamae', 'EE-16' => 'Estonia: Tallinn', 'EE-17' => 'Estonia: Tartu', 'EE-18' => 'Estonia: Tartumaa', 'EE-19' => 'Estonia: Valgamaa', 'EE-20' => 'Estonia: Viljandimaa', 'EE-21' => 'Estonia: Vorumaa', '--ET' => '','-ET' => 'Ethiopia', 'ET-10' => 'Ethiopia: Addis Abeba', 'ET-44' => 'Ethiopia: Adis Abeba', 'ET-14' => 'Ethiopia: Afar', 'ET-45' => 'Ethiopia: Afar', 'ET-46' => 'Ethiopia: Amara', 'ET-02' => 'Ethiopia: Amhara', 'ET-13' => 'Ethiopia: Benishangul', 'ET-47' => 'Ethiopia: Binshangul Gumuz', 'ET-48' => 'Ethiopia: Dire Dawa', 'ET-49' => 'Ethiopia: Gambela Hizboch', 'ET-08' => 'Ethiopia: Gambella', 'ET-50' => 'Ethiopia: Hareri Hizb', 'ET-51' => 'Ethiopia: Oromiya', 'ET-07' => 'Ethiopia: Somali', 'ET-11' => 'Ethiopia: Southern', 'ET-52' => 'Ethiopia: Sumale', 'ET-12' => 'Ethiopia: Tigray', 'ET-53' => 'Ethiopia: Tigray', 'ET-54' => 'Ethiopia: YeDebub Biheroch Bihereseboch na Hizboch', '--FJ' => '','-FJ' => 'Fiji', 'FJ-01' => 'Fiji: Central', 'FJ-02' => 'Fiji: Eastern', 'FJ-03' => 'Fiji: Northern', 'FJ-04' => 'Fiji: Rotuma', 'FJ-05' => 'Fiji: Western', '--FI' => '','-FI' => 'Finland', 'FI-01' => 'Finland: Åland', 'FI-14' => 'Finland: Eastern Finland', 'FI-06' => 'Finland: Lapland', 'FI-08' => 'Finland: Oulu', 'FI-13' => 'Finland: Southern Finland', 'FI-15' => 'Finland: Western Finland', '--FR' => '','-FR' => 'France', 'FR-C1' => 'France: Alsace', 'FR-97' => 'France: Aquitaine', 'FR-98' => 'France: Auvergne', 'FR-99' => 'France: Basse-Normandie', 'FR-A1' => 'France: Bourgogne', 'FR-A2' => 'France: Bretagne', 'FR-A3' => 'France: Centre', 'FR-A4' => 'France: Champagne-Ardenne', 'FR-A5' => 'France: Corse', 'FR-A6' => 'France: Franche-Comte', 'FR-A7' => 'France: Haute-Normandie', 'FR-A8' => 'France: Ile-de-France', 'FR-A9' => 'France: Languedoc-Roussillon', 'FR-B1' => 'France: Limousin', 'FR-B2' => 'France: Lorraine', 'FR-B3' => 'France: Midi-Pyrenees', 'FR-B4' => 'France: Nord-Pas-de-Calais', 'FR-B5' => 'France: Pays de la Loire', 'FR-B6' => 'France: Picardie', 'FR-B7' => 'France: Poitou-Charentes', 'FR-B8' => 'France: Provence-Alpes-Cote d\'Azur', 'FR-B9' => 'France: Rhone-Alpes', '--GA' => '','-GA' => 'Gabon', 'GA-01' => 'Gabon: Estuaire', 'GA-02' => 'Gabon: Haut-Ogooue', 'GA-03' => 'Gabon: Moyen-Ogooue', 'GA-04' => 'Gabon: Ngounie', 'GA-05' => 'Gabon: Nyanga', 'GA-06' => 'Gabon: Ogooue-Ivindo', 'GA-07' => 'Gabon: Ogooue-Lolo', 'GA-08' => 'Gabon: Ogooue-Maritime', 'GA-09' => 'Gabon: Woleu-Ntem', '--GM' => '','-GM' => 'Gambia', 'GM-01' => 'Gambia: Banjul', 'GM-02' => 'Gambia: Lower River', 'GM-03' => 'Gambia: MacCarthy Island', 'GM-07' => 'Gambia: North Bank', 'GM-04' => 'Gambia: Upper River', 'GM-05' => 'Gambia: Western', '--GE' => '','-GE' => 'Georgia', 'GE-01' => 'Georgia: Abashis Raioni', 'GE-02' => 'Georgia: Abkhazia', 'GE-03' => 'Georgia: Adigenis Raioni', 'GE-04' => 'Georgia: Ajaria', 'GE-05' => 'Georgia: Akhalgoris Raioni', 'GE-06' => 'Georgia: Akhalk\'alak\'is Raioni', 'GE-07' => 'Georgia: Akhalts\'ikhis Raioni', 'GE-08' => 'Georgia: Akhmetis Raioni', 'GE-09' => 'Georgia: Ambrolauris Raioni', 'GE-10' => 'Georgia: Aspindzis Raioni', 'GE-11' => 'Georgia: Baghdat\'is Raioni', 'GE-12' => 'Georgia: Bolnisis Raioni', 'GE-13' => 'Georgia: Borjomis Raioni', 'GE-14' => 'Georgia: Chiat\'ura', 'GE-15' => 'Georgia: Ch\'khorotsqus Raioni', 'GE-16' => 'Georgia: Ch\'okhatauris Raioni', 'GE-17' => 'Georgia: Dedop\'listsqaros Raioni', 'GE-18' => 'Georgia: Dmanisis Raioni', 'GE-19' => 'Georgia: Dushet\'is Raioni', 'GE-20' => 'Georgia: Gardabanis Raioni', 'GE-21' => 'Georgia: Gori', 'GE-22' => 'Georgia: Goris Raioni', 'GE-23' => 'Georgia: Gurjaanis Raioni', 'GE-24' => 'Georgia: Javis Raioni', 'GE-25' => 'Georgia: K\'arelis Raioni', 'GE-26' => 'Georgia: Kaspis Raioni', 'GE-27' => 'Georgia: Kharagaulis Raioni', 'GE-28' => 'Georgia: Khashuris Raioni', 'GE-29' => 'Georgia: Khobis Raioni', 'GE-30' => 'Georgia: Khonis Raioni', 'GE-31' => 'Georgia: K\'ut\'aisi', 'GE-32' => 'Georgia: Lagodekhis Raioni', 'GE-33' => 'Georgia: Lanch\'khut\'is Raioni', 'GE-34' => 'Georgia: Lentekhis Raioni', 'GE-35' => 'Georgia: Marneulis Raioni', 'GE-36' => 'Georgia: Martvilis Raioni', 'GE-37' => 'Georgia: Mestiis Raioni', 'GE-38' => 'Georgia: Mts\'khet\'is Raioni', 'GE-39' => 'Georgia: Ninotsmindis Raioni', 'GE-40' => 'Georgia: Onis Raioni', 'GE-41' => 'Georgia: Ozurget\'is Raioni', 'GE-42' => 'Georgia: P\'ot\'i', 'GE-43' => 'Georgia: Qazbegis Raioni', 'GE-44' => 'Georgia: Qvarlis Raioni', 'GE-45' => 'Georgia: Rust\'avi', 'GE-46' => 'Georgia: Sach\'kheris Raioni', 'GE-47' => 'Georgia: Sagarejos Raioni', 'GE-48' => 'Georgia: Samtrediis Raioni', 'GE-49' => 'Georgia: Senakis Raioni', 'GE-50' => 'Georgia: Sighnaghis Raioni', 'GE-51' => 'Georgia: T\'bilisi', 'GE-52' => 'Georgia: T\'elavis Raioni', 'GE-53' => 'Georgia: T\'erjolis Raioni', 'GE-54' => 'Georgia: T\'et\'ritsqaros Raioni', 'GE-55' => 'Georgia: T\'ianet\'is Raioni', 'GE-56' => 'Georgia: Tqibuli', 'GE-57' => 'Georgia: Ts\'ageris Raioni', 'GE-58' => 'Georgia: Tsalenjikhis Raioni', 'GE-59' => 'Georgia: Tsalkis Raioni', 'GE-60' => 'Georgia: Tsqaltubo', 'GE-61' => 'Georgia: Vanis Raioni', 'GE-62' => 'Georgia: Zestap\'onis Raioni', 'GE-63' => 'Georgia: Zugdidi', 'GE-64' => 'Georgia: Zugdidis Raioni', '--DE' => '','-DE' => 'Germany', 'DE-01' => 'Germany: Baden-Württemberg', 'DE-02' => 'Germany: Bayern', 'DE-16' => 'Germany: Berlin', 'DE-11' => 'Germany: Brandenburg', 'DE-03' => 'Germany: Bremen', 'DE-04' => 'Germany: Hamburg', 'DE-05' => 'Germany: Hessen', 'DE-12' => 'Germany: Mecklenburg-Vorpommern', 'DE-06' => 'Germany: Niedersachsen', 'DE-07' => 'Germany: Nordrhein-Westfalen', 'DE-08' => 'Germany: Rheinland-Pfalz', 'DE-09' => 'Germany: Saarland', 'DE-13' => 'Germany: Sachsen', 'DE-14' => 'Germany: Sachsen-Anhalt', 'DE-10' => 'Germany: Schleswig-Holstein', 'DE-15' => 'Germany: Thuringen', '--GH' => '','-GH' => 'Ghana', 'GH-02' => 'Ghana: Ashanti', 'GH-03' => 'Ghana: Brong-Ahafo', 'GH-04' => 'Ghana: Central', 'GH-05' => 'Ghana: Eastern', 'GH-01' => 'Ghana: Greater Accra', 'GH-06' => 'Ghana: Northern', 'GH-10' => 'Ghana: Upper East', 'GH-11' => 'Ghana: Upper West', 'GH-08' => 'Ghana: Volta', 'GH-09' => 'Ghana: Western', '--GR' => '','-GR' => 'Greece', 'GR-31' => 'Greece: Aitolia kai Akarnania', 'GR-38' => 'Greece: Akhaia', 'GR-36' => 'Greece: Argolis', 'GR-41' => 'Greece: Arkadhia', 'GR-20' => 'Greece: Arta', 'GR-35' => 'Greece: Attiki', 'GR-47' => 'Greece: Dhodhekanisos', 'GR-04' => 'Greece: Drama', 'GR-30' => 'Greece: Evritania', 'GR-01' => 'Greece: Evros', 'GR-34' => 'Greece: Evvoia', 'GR-08' => 'Greece: Florina', 'GR-32' => 'Greece: Fokis', 'GR-29' => 'Greece: Fthiotis', 'GR-10' => 'Greece: Grevena', 'GR-39' => 'Greece: Ilia', 'GR-12' => 'Greece: Imathia', 'GR-17' => 'Greece: Ioannina', 'GR-45' => 'Greece: Iraklion', 'GR-23' => 'Greece: Kardhitsa', 'GR-09' => 'Greece: Kastoria', 'GR-14' => 'Greece: Kavala', 'GR-27' => 'Greece: Kefallinia', 'GR-25' => 'Greece: Kerkira', 'GR-15' => 'Greece: Khalkidhiki', 'GR-43' => 'Greece: Khania', 'GR-50' => 'Greece: Khios', 'GR-49' => 'Greece: Kikladhes', 'GR-06' => 'Greece: Kilkis', 'GR-37' => 'Greece: Korinthia', 'GR-11' => 'Greece: Kozani', 'GR-42' => 'Greece: Lakonia', 'GR-21' => 'Greece: Larisa', 'GR-46' => 'Greece: Lasithi', 'GR-51' => 'Greece: Lesvos', 'GR-26' => 'Greece: Levkas', 'GR-24' => 'Greece: Magnisia', 'GR-40' => 'Greece: Messinia', 'GR-07' => 'Greece: Pella', 'GR-16' => 'Greece: Pieria', 'GR-19' => 'Greece: Preveza', 'GR-44' => 'Greece: Rethimni', 'GR-02' => 'Greece: Rodhopi', 'GR-48' => 'Greece: Samos', 'GR-05' => 'Greece: Serrai', 'GR-18' => 'Greece: Thesprotia', 'GR-13' => 'Greece: Thessaloniki', 'GR-22' => 'Greece: Trikala', 'GR-33' => 'Greece: Voiotia', 'GR-03' => 'Greece: Xanthi', 'GR-28' => 'Greece: Zakinthos', '--GL' => '','-GL' => 'Greenland', 'GL-01' => 'Greenland: Nordgronland', 'GL-02' => 'Greenland: Ostgronland', 'GL-03' => 'Greenland: Vestgronland', '--GD' => '','-GD' => 'Grenada', 'GD-01' => 'Grenada: Saint Andrew', 'GD-02' => 'Grenada: Saint David', 'GD-03' => 'Grenada: Saint George', 'GD-04' => 'Grenada: Saint John', 'GD-05' => 'Grenada: Saint Mark', 'GD-06' => 'Grenada: Saint Patrick', '--GT' => '','-GT' => 'Guatemala', 'GT-01' => 'Guatemala: Alta Verapaz', 'GT-02' => 'Guatemala: Baja Verapaz', 'GT-03' => 'Guatemala: Chimaltenango', 'GT-04' => 'Guatemala: Chiquimula', 'GT-05' => 'Guatemala: El Progreso', 'GT-06' => 'Guatemala: Escuintla', 'GT-07' => 'Guatemala: Guatemala', 'GT-08' => 'Guatemala: Huehuetenango', 'GT-09' => 'Guatemala: Izabal', 'GT-10' => 'Guatemala: Jalapa', 'GT-11' => 'Guatemala: Jutiapa', 'GT-12' => 'Guatemala: Peten', 'GT-13' => 'Guatemala: Quetzaltenango', 'GT-14' => 'Guatemala: Quiche', 'GT-15' => 'Guatemala: Retalhuleu', 'GT-16' => 'Guatemala: Sacatepequez', 'GT-17' => 'Guatemala: San Marcos', 'GT-18' => 'Guatemala: Santa Rosa', 'GT-19' => 'Guatemala: Solola', 'GT-20' => 'Guatemala: Suchitepequez', 'GT-21' => 'Guatemala: Totonicapan', 'GT-22' => 'Guatemala: Zacapa', '--GN' => '','-GN' => 'Guinea', 'GN-01' => 'Guinea: Beyla', 'GN-02' => 'Guinea: Boffa', 'GN-03' => 'Guinea: Boke', 'GN-04' => 'Guinea: Conakry', 'GN-30' => 'Guinea: Coyah', 'GN-05' => 'Guinea: Dabola', 'GN-06' => 'Guinea: Dalaba', 'GN-07' => 'Guinea: Dinguiraye', 'GN-31' => 'Guinea: Dubreka', 'GN-09' => 'Guinea: Faranah', 'GN-10' => 'Guinea: Forecariah', 'GN-11' => 'Guinea: Fria', 'GN-12' => 'Guinea: Gaoual', 'GN-13' => 'Guinea: Gueckedou', 'GN-32' => 'Guinea: Kankan', 'GN-15' => 'Guinea: Kerouane', 'GN-16' => 'Guinea: Kindia', 'GN-17' => 'Guinea: Kissidougou', 'GN-33' => 'Guinea: Koubia', 'GN-18' => 'Guinea: Koundara', 'GN-19' => 'Guinea: Kouroussa', 'GN-34' => 'Guinea: Labe', 'GN-35' => 'Guinea: Lelouma', 'GN-36' => 'Guinea: Lola', 'GN-21' => 'Guinea: Macenta', 'GN-22' => 'Guinea: Mali', 'GN-23' => 'Guinea: Mamou', 'GN-37' => 'Guinea: Mandiana', 'GN-38' => 'Guinea: Nzerekore', 'GN-25' => 'Guinea: Pita', 'GN-39' => 'Guinea: Siguiri', 'GN-27' => 'Guinea: Telimele', 'GN-28' => 'Guinea: Tougue', 'GN-29' => 'Guinea: Yomou', '--GW' => '','-GW' => 'Guinea-Bissau', 'GW-01' => 'Guinea-Bissau: Bafata', 'GW-12' => 'Guinea-Bissau: Biombo', 'GW-11' => 'Guinea-Bissau: Bissau', 'GW-05' => 'Guinea-Bissau: Bolama', 'GW-06' => 'Guinea-Bissau: Cacheu', 'GW-10' => 'Guinea-Bissau: Gabu', 'GW-04' => 'Guinea-Bissau: Oio', 'GW-02' => 'Guinea-Bissau: Quinara', 'GW-07' => 'Guinea-Bissau: Tombali', '--GY' => '','-GY' => 'Guyana', 'GY-10' => 'Guyana: Barima-Waini', 'GY-11' => 'Guyana: Cuyuni-Mazaruni', 'GY-12' => 'Guyana: Demerara-Mahaica', 'GY-13' => 'Guyana: East Berbice-Corentyne', 'GY-14' => 'Guyana: Essequibo Islands-West Demerara', 'GY-15' => 'Guyana: Mahaica-Berbice', 'GY-16' => 'Guyana: Pomeroon-Supenaam', 'GY-17' => 'Guyana: Potaro-Siparuni', 'GY-18' => 'Guyana: Upper Demerara-Berbice', 'GY-19' => 'Guyana: Upper Takutu-Upper Essequibo', '--HT' => '','-HT' => 'Haiti', 'HT-06' => 'Haiti: Artibonite', 'HT-07' => 'Haiti: Centre', 'HT-08' => 'Haiti: Grand\' Anse', 'HT-09' => 'Haiti: Nord', 'HT-10' => 'Haiti: Nord-Est', 'HT-03' => 'Haiti: Nord-Ouest', 'HT-11' => 'Haiti: Ouest', 'HT-12' => 'Haiti: Sud', 'HT-13' => 'Haiti: Sud-Est', '--HN' => '','-HN' => 'Honduras', 'HN-01' => 'Honduras: Atlantida', 'HN-02' => 'Honduras: Choluteca', 'HN-03' => 'Honduras: Colon', 'HN-04' => 'Honduras: Comayagua', 'HN-05' => 'Honduras: Copan', 'HN-06' => 'Honduras: Cortes', 'HN-07' => 'Honduras: El Paraiso', 'HN-08' => 'Honduras: Francisco Morazan', 'HN-09' => 'Honduras: Gracias a Dios', 'HN-10' => 'Honduras: Intibuca', 'HN-11' => 'Honduras: Islas de la Bahia', 'HN-12' => 'Honduras: La Paz', 'HN-13' => 'Honduras: Lempira', 'HN-14' => 'Honduras: Ocotepeque', 'HN-15' => 'Honduras: Olancho', 'HN-16' => 'Honduras: Santa Barbara', 'HN-17' => 'Honduras: Valle', 'HN-18' => 'Honduras: Yoro', '--HU' => '','-HU' => 'Hungary', 'HU-01' => 'Hungary: Bacs-Kiskun', 'HU-02' => 'Hungary: Baranya', 'HU-03' => 'Hungary: Bekes', 'HU-26' => 'Hungary: Bekescsaba', 'HU-04' => 'Hungary: Borsod-Abauj-Zemplen', 'HU-05' => 'Hungary: Budapest', 'HU-06' => 'Hungary: Csongrad', 'HU-07' => 'Hungary: Debrecen', 'HU-27' => 'Hungary: Dunaujvaros', 'HU-28' => 'Hungary: Eger', 'HU-08' => 'Hungary: Fejer', 'HU-25' => 'Hungary: Gyor', 'HU-09' => 'Hungary: Gyor-Moson-Sopron', 'HU-10' => 'Hungary: Hajdu-Bihar', 'HU-11' => 'Hungary: Heves', 'HU-29' => 'Hungary: Hodmezovasarhely', 'HU-20' => 'Hungary: Jasz-Nagykun-Szolnok', 'HU-30' => 'Hungary: Kaposvar', 'HU-31' => 'Hungary: Kecskemet', 'HU-12' => 'Hungary: Komarom-Esztergom', 'HU-13' => 'Hungary: Miskolc', 'HU-32' => 'Hungary: Nagykanizsa', 'HU-14' => 'Hungary: Nograd', 'HU-33' => 'Hungary: Nyiregyhaza', 'HU-15' => 'Hungary: Pecs', 'HU-16' => 'Hungary: Pest', 'HU-17' => 'Hungary: Somogy', 'HU-34' => 'Hungary: Sopron', 'HU-18' => 'Hungary: Szabolcs-Szatmar-Bereg', 'HU-19' => 'Hungary: Szeged', 'HU-35' => 'Hungary: Szekesfehervar', 'HU-36' => 'Hungary: Szolnok', 'HU-37' => 'Hungary: Szombathely', 'HU-38' => 'Hungary: Tatabanya', 'HU-21' => 'Hungary: Tolna', 'HU-22' => 'Hungary: Vas', 'HU-23' => 'Hungary: Veszprem', 'HU-39' => 'Hungary: Veszprem', 'HU-24' => 'Hungary: Zala', 'HU-40' => 'Hungary: Zalaegerszeg', '--IS' => '','-IS' => 'Iceland', 'IS-01' => 'Iceland: Akranes', 'IS-02' => 'Iceland: Akureyri', 'IS-03' => 'Iceland: Arnessysla', 'IS-04' => 'Iceland: Austur-Bardastrandarsysla', 'IS-05' => 'Iceland: Austur-Hunavatnssysla', 'IS-06' => 'Iceland: Austur-Skaftafellssysla', 'IS-07' => 'Iceland: Borgarfjardarsysla', 'IS-08' => 'Iceland: Dalasysla', 'IS-09' => 'Iceland: Eyjafjardarsysla', 'IS-10' => 'Iceland: Gullbringusysla', 'IS-11' => 'Iceland: Hafnarfjordur', 'IS-12' => 'Iceland: Husavik', 'IS-13' => 'Iceland: Isafjordur', 'IS-14' => 'Iceland: Keflavik', 'IS-15' => 'Iceland: Kjosarsysla', 'IS-16' => 'Iceland: Kopavogur', 'IS-17' => 'Iceland: Myrasysla', 'IS-18' => 'Iceland: Neskaupstadur', 'IS-19' => 'Iceland: Nordur-Isafjardarsysla', 'IS-20' => 'Iceland: Nordur-Mulasysla', 'IS-21' => 'Iceland: Nordur-Tingeyjarsysla', 'IS-22' => 'Iceland: Olafsfjordur', 'IS-23' => 'Iceland: Rangarvallasysla', 'IS-24' => 'Iceland: Reykjavik', 'IS-25' => 'Iceland: Saudarkrokur', 'IS-26' => 'Iceland: Seydisfjordur', 'IS-27' => 'Iceland: Siglufjordur', 'IS-28' => 'Iceland: Skagafjardarsysla', 'IS-29' => 'Iceland: Snafellsnes- og Hnappadalssysla', 'IS-30' => 'Iceland: Strandasysla', 'IS-31' => 'Iceland: Sudur-Mulasysla', 'IS-32' => 'Iceland: Sudur-Tingeyjarsysla', 'IS-33' => 'Iceland: Vestmannaeyjar', 'IS-34' => 'Iceland: Vestur-Bardastrandarsysla', 'IS-35' => 'Iceland: Vestur-Hunavatnssysla', 'IS-36' => 'Iceland: Vestur-Isafjardarsysla', 'IS-37' => 'Iceland: Vestur-Skaftafellssysla', '--IN' => '','-IN' => 'India', 'IN-01' => 'India: Andaman and Nicobar Islands', 'IN-02' => 'India: Andhra Pradesh', 'IN-30' => 'India: Arunachal Pradesh', 'IN-03' => 'India: Assam', 'IN-34' => 'India: Bihar', 'IN-05' => 'India: Chandigarh', 'IN-37' => 'India: Chhattisgarh', 'IN-06' => 'India: Dadra and Nagar Haveli', 'IN-32' => 'India: Daman and Diu', 'IN-07' => 'India: Delhi', 'IN-33' => 'India: Goa', 'IN-09' => 'India: Gujarat', 'IN-10' => 'India: Haryana', 'IN-11' => 'India: Himachal Pradesh', 'IN-12' => 'India: Jammu and Kashmir', 'IN-38' => 'India: Jharkhand', 'IN-19' => 'India: Karnataka', 'IN-13' => 'India: Kerala', 'IN-14' => 'India: Lakshadweep', 'IN-35' => 'India: Madhya Pradesh', 'IN-16' => 'India: Maharashtra', 'IN-17' => 'India: Manipur', 'IN-18' => 'India: Meghalaya', 'IN-31' => 'India: Mizoram', 'IN-20' => 'India: Nagaland', 'IN-21' => 'India: Orissa', 'IN-22' => 'India: Pondicherry', 'IN-23' => 'India: Punjab', 'IN-24' => 'India: Rajasthan', 'IN-29' => 'India: Sikkim', 'IN-25' => 'India: Tamil Nadu', 'IN-26' => 'India: Tripura', 'IN-36' => 'India: Uttar Pradesh', 'IN-39' => 'India: Uttaranchal', 'IN-28' => 'India: West Bengal', '--ID' => '','-ID' => 'Indonesia', 'ID-01' => 'Indonesia: Aceh', 'ID-02' => 'Indonesia: Bali', 'ID-33' => 'Indonesia: Banten', 'ID-03' => 'Indonesia: Bengkulu', 'ID-34' => 'Indonesia: Gorontalo', 'ID-04' => 'Indonesia: Jakarta Raya', 'ID-05' => 'Indonesia: Jambi', 'ID-30' => 'Indonesia: Jawa Barat', 'ID-07' => 'Indonesia: Jawa Tengah', 'ID-08' => 'Indonesia: Jawa Timur', 'ID-11' => 'Indonesia: Kalimantan Barat', 'ID-12' => 'Indonesia: Kalimantan Selatan', 'ID-13' => 'Indonesia: Kalimantan Tengah', 'ID-14' => 'Indonesia: Kalimantan Timur', 'ID-35' => 'Indonesia: Kepulauan Bangka Belitung', 'ID-15' => 'Indonesia: Lampung', 'ID-29' => 'Indonesia: Maluku Utara', 'ID-28' => 'Indonesia: Maluku', 'ID-17' => 'Indonesia: Nusa Tenggara Barat', 'ID-18' => 'Indonesia: Nusa Tenggara Timur', 'ID-09' => 'Indonesia: Papua', 'ID-19' => 'Indonesia: Riau', 'ID-20' => 'Indonesia: Sulawesi Selatan', 'ID-21' => 'Indonesia: Sulawesi Tengah', 'ID-22' => 'Indonesia: Sulawesi Tenggara', 'ID-31' => 'Indonesia: Sulawesi Utara', 'ID-24' => 'Indonesia: Sumatera Barat', 'ID-25' => 'Indonesia: Sumatera Selatan', 'ID-32' => 'Indonesia: Sumatera Selatan', 'ID-26' => 'Indonesia: Sumatera Utara', 'ID-10' => 'Indonesia: Yogyakarta', '--IR' => '','-IR' => 'Iran', 'IR-32' => 'Iran: Ardabil', 'IR-01' => 'Iran: Azarbayjan-e Bakhtari', 'IR-02' => 'Iran: Azarbayjan-e Khavari', 'IR-13' => 'Iran: Bakhtaran', 'IR-22' => 'Iran: Bushehr', 'IR-03' => 'Iran: Chahar Mahall va Bakhtiari', 'IR-28' => 'Iran: Esfahan', 'IR-07' => 'Iran: Fars', 'IR-08' => 'Iran: Gilan', 'IR-37' => 'Iran: Golestan', 'IR-09' => 'Iran: Hamadan', 'IR-11' => 'Iran: Hormozgan', 'IR-10' => 'Iran: Ilam', 'IR-29' => 'Iran: Kerman', 'IR-30' => 'Iran: Khorasan', 'IR-15' => 'Iran: Khuzestan', 'IR-05' => 'Iran: Kohkiluyeh va Buyer Ahmadi', 'IR-16' => 'Iran: Kordestan', 'IR-23' => 'Iran: Lorestan', 'IR-34' => 'Iran: Markazi', 'IR-35' => 'Iran: Mazandaran', 'IR-38' => 'Iran: Qazvin', 'IR-39' => 'Iran: Qom', 'IR-25' => 'Iran: Semnan', 'IR-04' => 'Iran: Sistan va Baluchestan', 'IR-26' => 'Iran: Tehran', 'IR-31' => 'Iran: Yazd', 'IR-36' => 'Iran: Zanjan', '--IQ' => '','-IQ' => 'Iraq', 'IQ-01' => 'Iraq: Al Anbar', 'IQ-02' => 'Iraq: Al Basrah', 'IQ-03' => 'Iraq: Al Muthanna', 'IQ-04' => 'Iraq: Al Qadisiyah', 'IQ-17' => 'Iraq: An Najaf', 'IQ-11' => 'Iraq: Arbil', 'IQ-05' => 'Iraq: As Sulaymaniyah', 'IQ-13' => 'Iraq: At Ta\'mim', 'IQ-06' => 'Iraq: Babil', 'IQ-07' => 'Iraq: Baghdad', 'IQ-08' => 'Iraq: Dahuk', 'IQ-09' => 'Iraq: Dhi Qar', 'IQ-10' => 'Iraq: Diyala', 'IQ-12' => 'Iraq: Karbala\'', 'IQ-14' => 'Iraq: Maysan', 'IQ-15' => 'Iraq: Ninawa', 'IQ-18' => 'Iraq: Salah ad Din', 'IQ-16' => 'Iraq: Wasit', '--IE' => '','-IE' => 'Ireland', 'IE-01' => 'Ireland: Carlow', 'IE-02' => 'Ireland: Cavan', 'IE-03' => 'Ireland: Clare', 'IE-04' => 'Ireland: Cork', 'IE-06' => 'Ireland: Donegal', 'IE-07' => 'Ireland: Dublin', 'IE-10' => 'Ireland: Galway', 'IE-11' => 'Ireland: Kerry', 'IE-12' => 'Ireland: Kildare', 'IE-13' => 'Ireland: Kilkenny', 'IE-15' => 'Ireland: Laois', 'IE-14' => 'Ireland: Leitrim', 'IE-16' => 'Ireland: Limerick', 'IE-18' => 'Ireland: Longford', 'IE-19' => 'Ireland: Louth', 'IE-20' => 'Ireland: Mayo', 'IE-21' => 'Ireland: Meath', 'IE-22' => 'Ireland: Monaghan', 'IE-23' => 'Ireland: Offaly', 'IE-24' => 'Ireland: Roscommon', 'IE-25' => 'Ireland: Sligo', 'IE-26' => 'Ireland: Tipperary', 'IE-27' => 'Ireland: Waterford', 'IE-29' => 'Ireland: Westmeath', 'IE-30' => 'Ireland: Wexford', 'IE-31' => 'Ireland: Wicklow', '--IL' => '','-IL' => 'Israel', 'IL-01' => 'Israel: HaDarom', 'IL-02' => 'Israel: HaMerkaz', 'IL-03' => 'Israel: HaZafon', 'IL-04' => 'Israel: Hefa', 'IL-05' => 'Israel: Tel Aviv', 'IL-06' => 'Israel: Yerushalayim', '--IT' => '','-IT' => 'Italy', 'IT-01' => 'Italy: Abruzzi', 'IT-02' => 'Italy: Basilicata', 'IT-03' => 'Italy: Calabria', 'IT-04' => 'Italy: Campania', 'IT-05' => 'Italy: Emilia-Romagna', 'IT-06' => 'Italy: Friuli-Venezia Giulia', 'IT-07' => 'Italy: Lazio', 'IT-08' => 'Italy: Liguria', 'IT-09' => 'Italy: Lombardia', 'IT-10' => 'Italy: Marche', 'IT-11' => 'Italy: Molise', 'IT-12' => 'Italy: Piemonte', 'IT-13' => 'Italy: Puglia', 'IT-14' => 'Italy: Sardegna', 'IT-15' => 'Italy: Sicilia', 'IT-16' => 'Italy: Toscana', 'IT-17' => 'Italy: Trentino-Alto Adige', 'IT-18' => 'Italy: Umbria', 'IT-19' => 'Italy: Valle d\'Aosta', 'IT-20' => 'Italy: Veneto', '--JM' => '','-JM' => 'Jamaica', 'JM-01' => 'Jamaica: Clarendon', 'JM-02' => 'Jamaica: Hanover', 'JM-17' => 'Jamaica: Kingston', 'JM-04' => 'Jamaica: Manchester', 'JM-07' => 'Jamaica: Portland', 'JM-08' => 'Jamaica: Saint Andrew', 'JM-09' => 'Jamaica: Saint Ann', 'JM-10' => 'Jamaica: Saint Catherine', 'JM-11' => 'Jamaica: Saint Elizabeth', 'JM-12' => 'Jamaica: Saint James', 'JM-13' => 'Jamaica: Saint Mary', 'JM-14' => 'Jamaica: Saint Thomas', 'JM-15' => 'Jamaica: Trelawny', 'JM-16' => 'Jamaica: Westmoreland', '--JP' => '','-JP' => 'Japan', 'JP-01' => 'Japan: Aichi', 'JP-02' => 'Japan: Akita', 'JP-03' => 'Japan: Aomori', 'JP-04' => 'Japan: Chiba', 'JP-05' => 'Japan: Ehime', 'JP-06' => 'Japan: Fukui', 'JP-07' => 'Japan: Fukuoka', 'JP-08' => 'Japan: Fukushima', 'JP-09' => 'Japan: Gifu', 'JP-10' => 'Japan: Gumma', 'JP-11' => 'Japan: Hiroshima', 'JP-12' => 'Japan: Hokkaido', 'JP-13' => 'Japan: Hyogo', 'JP-14' => 'Japan: Ibaraki', 'JP-15' => 'Japan: Ishikawa', 'JP-16' => 'Japan: Iwate', 'JP-17' => 'Japan: Kagawa', 'JP-18' => 'Japan: Kagoshima', 'JP-19' => 'Japan: Kanagawa', 'JP-20' => 'Japan: Kochi', 'JP-21' => 'Japan: Kumamoto', 'JP-22' => 'Japan: Kyoto', 'JP-23' => 'Japan: Mie', 'JP-24' => 'Japan: Miyagi', 'JP-25' => 'Japan: Miyazaki', 'JP-26' => 'Japan: Nagano', 'JP-27' => 'Japan: Nagasaki', 'JP-28' => 'Japan: Nara', 'JP-29' => 'Japan: Niigata', 'JP-30' => 'Japan: Oita', 'JP-31' => 'Japan: Okayama', 'JP-47' => 'Japan: Okinawa', 'JP-32' => 'Japan: Osaka', 'JP-33' => 'Japan: Saga', 'JP-34' => 'Japan: Saitama', 'JP-35' => 'Japan: Shiga', 'JP-36' => 'Japan: Shimane', 'JP-37' => 'Japan: Shizuoka', 'JP-38' => 'Japan: Tochigi', 'JP-39' => 'Japan: Tokushima', 'JP-40' => 'Japan: Tokyo', 'JP-41' => 'Japan: Tottori', 'JP-42' => 'Japan: Toyama', 'JP-43' => 'Japan: Wakayama', 'JP-44' => 'Japan: Yamagata', 'JP-45' => 'Japan: Yamaguchi', 'JP-46' => 'Japan: Yamanashi', '--JO' => '','-JO' => 'Jordan', 'JO-02' => 'Jordan: Al Balqa\'', 'JO-09' => 'Jordan: Al Karak', 'JO-10' => 'Jordan: Al Mafraq', 'JO-16' => 'Jordan: Amman', 'JO-12' => 'Jordan: At Tafilah', 'JO-13' => 'Jordan: Az Zarqa', 'JO-14' => 'Jordan: Irbid', 'JO-07' => 'Jordan: Ma', '--KZ' => '','-KZ' => 'Kazakhstan', 'KZ-02' => 'Kazakhstan: Almaty City', 'KZ-01' => 'Kazakhstan: Almaty', 'KZ-03' => 'Kazakhstan: Aqmola', 'KZ-04' => 'Kazakhstan: Aqt?be', 'KZ-05' => 'Kazakhstan: Astana', 'KZ-06' => 'Kazakhstan: Atyrau', 'KZ-08' => 'Kazakhstan: Bayqonyr', 'KZ-15' => 'Kazakhstan: East Kazakhstan', 'KZ-09' => 'Kazakhstan: Mangghystau', 'KZ-16' => 'Kazakhstan: North Kazakhstan', 'KZ-11' => 'Kazakhstan: Pavlodar', 'KZ-12' => 'Kazakhstan: Qaraghandy', 'KZ-13' => 'Kazakhstan: Qostanay', 'KZ-14' => 'Kazakhstan: Qyzylorda', 'KZ-10' => 'Kazakhstan: South Kazakhstan', 'KZ-07' => 'Kazakhstan: West Kazakhstan', 'KZ-17' => 'Kazakhstan: Zhambyl', '--KE' => '','-KE' => 'Kenya', 'KE-01' => 'Kenya: Central', 'KE-02' => 'Kenya: Coast', 'KE-03' => 'Kenya: Eastern', 'KE-05' => 'Kenya: Nairobi Area', 'KE-06' => 'Kenya: North-Eastern', 'KE-07' => 'Kenya: Nyanza', 'KE-08' => 'Kenya: Rift Valley', 'KE-09' => 'Kenya: Western', '--KI' => '','-KI' => 'Kiribati', 'KI-01' => 'Kiribati: Gilbert Islands', 'KI-02' => 'Kiribati: Line Islands', 'KI-03' => 'Kiribati: Phoenix Islands', '--KW' => '','-KW' => 'Kuwait', 'KW-01' => 'Kuwait: Al Ahmadi', 'KW-05' => 'Kuwait: Al Jahra', 'KW-02' => 'Kuwait: Al Kuwayt', 'KW-03' => 'Kuwait: Hawalli', '--KG' => '','-KG' => 'Kyrgyzstan', 'KG-09' => 'Kyrgyzstan: Batken', 'KG-01' => 'Kyrgyzstan: Bishkek', 'KG-02' => 'Kyrgyzstan: Chuy', 'KG-03' => 'Kyrgyzstan: Jalal-Abad', 'KG-04' => 'Kyrgyzstan: Naryn', 'KG-08' => 'Kyrgyzstan: Osh', 'KG-06' => 'Kyrgyzstan: Talas', 'KG-07' => 'Kyrgyzstan: Ysyk-Kol', '--LA' => '','-LA' => 'Lao', 'LA-01' => 'Lao: Attapu', 'LA-02' => 'Lao: Champasak', 'LA-03' => 'Lao: Houaphan', 'LA-04' => 'Lao: Khammouan', 'LA-05' => 'Lao: Louang Namtha', 'LA-17' => 'Lao: Louangphrabang', 'LA-07' => 'Lao: Oudomxai', 'LA-08' => 'Lao: Phongsali', 'LA-09' => 'Lao: Saravan', 'LA-10' => 'Lao: Savannakhet', 'LA-11' => 'Lao: Vientiane', 'LA-13' => 'Lao: Xaignabouri', 'LA-14' => 'Lao: Xiangkhoang', '--LV' => '','-LV' => 'Latvia', 'LV-01' => 'Latvia: Aizkraukles', 'LV-02' => 'Latvia: Aluksnes', 'LV-03' => 'Latvia: Balvu', 'LV-04' => 'Latvia: Bauskas', 'LV-05' => 'Latvia: Césu', 'LV-06' => 'Latvia: Daugavpils', 'LV-07' => 'Latvia: Daugavpils', 'LV-08' => 'Latvia: Dobeles', 'LV-09' => 'Latvia: Gulbenes', 'LV-10' => 'Latvia: Jékabpils', 'LV-11' => 'Latvia: Jelgava', 'LV-12' => 'Latvia: Jelgavas', 'LV-13' => 'Latvia: Jurmala', 'LV-14' => 'Latvia: Kráslavas', 'LV-15' => 'Latvia: Kuldigas', 'LV-16' => 'Latvia: Liepája', 'LV-17' => 'Latvia: Liepájas', 'LV-18' => 'Latvia: Limbazu', 'LV-19' => 'Latvia: Ludzas', 'LV-20' => 'Latvia: Madonas', 'LV-21' => 'Latvia: Ogres', 'LV-22' => 'Latvia: Preilu', 'LV-23' => 'Latvia: Rézekne', 'LV-24' => 'Latvia: Rézeknes', 'LV-25' => 'Latvia: Riga', 'LV-26' => 'Latvia: Rigas', 'LV-27' => 'Latvia: Saldus', 'LV-28' => 'Latvia: Talsu', 'LV-29' => 'Latvia: Tukuma', 'LV-30' => 'Latvia: Valkas', 'LV-31' => 'Latvia: Valmieras', 'LV-32' => 'Latvia: Ventspils', 'LV-33' => 'Latvia: Ventspils', '--LB' => '','-LB' => 'Lebanon', 'LB-01' => 'Lebanon: Beqaa', 'LB-04' => 'Lebanon: Beyrouth', 'LB-03' => 'Lebanon: Liban-Nord', 'LB-06' => 'Lebanon: Liban-Sud', 'LB-05' => 'Lebanon: Mont-Liban', 'LB-07' => 'Lebanon: Nabatiye', '--LS' => '','-LS' => 'Lesotho', 'LS-10' => 'Lesotho: Berea', 'LS-11' => 'Lesotho: Butha-Buthe', 'LS-12' => 'Lesotho: Leribe', 'LS-13' => 'Lesotho: Mafeteng', 'LS-14' => 'Lesotho: Maseru', 'LS-15' => 'Lesotho: Mohales Hoek', 'LS-16' => 'Lesotho: Mokhotlong', 'LS-17' => 'Lesotho: Qachas Nek', 'LS-18' => 'Lesotho: Quthing', 'LS-19' => 'Lesotho: Thaba-Tseka', '--LR' => '','-LR' => 'Liberia', 'LR-01' => 'Liberia: Bong', 'LR-11' => 'Liberia: Grand Bassa', 'LR-04' => 'Liberia: Grand Cape Mount', 'LR-02' => 'Liberia: Grand Jide', 'LR-05' => 'Liberia: Lofa', 'LR-06' => 'Liberia: Maryland', 'LR-07' => 'Liberia: Monrovia', 'LR-14' => 'Liberia: Montserrado', 'LR-09' => 'Liberia: Nimba', 'LR-10' => 'Liberia: Sino', '--LY' => '','-LY' => 'Libyan Arab Jamahiriya', 'LY-47' => 'Libyan Arab Jamahiriya: Ajdabiya', 'LY-48' => 'Libyan Arab Jamahiriya: Al Fatih', 'LY-49' => 'Libyan Arab Jamahiriya: Al Jabal al Akhdar', 'LY-05' => 'Libyan Arab Jamahiriya: Al Jufrah', 'LY-50' => 'Libyan Arab Jamahiriya: Al Khums', 'LY-08' => 'Libyan Arab Jamahiriya: Al Kufrah', 'LY-03' => 'Libyan Arab Jamahiriya: Al', 'LY-51' => 'Libyan Arab Jamahiriya: An Nuqat al Khams', 'LY-13' => 'Libyan Arab Jamahiriya: Ash Shati\'', 'LY-52' => 'Libyan Arab Jamahiriya: Awbari', 'LY-53' => 'Libyan Arab Jamahiriya: Az Zawiyah', 'LY-54' => 'Libyan Arab Jamahiriya: Banghazi', 'LY-55' => 'Libyan Arab Jamahiriya: Darnah', 'LY-56' => 'Libyan Arab Jamahiriya: Ghadamis', 'LY-57' => 'Libyan Arab Jamahiriya: Gharyan', 'LY-58' => 'Libyan Arab Jamahiriya: Misratah', 'LY-30' => 'Libyan Arab Jamahiriya: Murzuq', 'LY-34' => 'Libyan Arab Jamahiriya: Sabha', 'LY-59' => 'Libyan Arab Jamahiriya: Sawfajjin', 'LY-60' => 'Libyan Arab Jamahiriya: Surt', 'LY-61' => 'Libyan Arab Jamahiriya: Tarabulus', 'LY-41' => 'Libyan Arab Jamahiriya: Tarhunah', 'LY-42' => 'Libyan Arab Jamahiriya: Tubruq', 'LY-62' => 'Libyan Arab Jamahiriya: Yafran', 'LY-45' => 'Libyan Arab Jamahiriya: Zlitan', '--LI' => '','-LI' => 'Liechtenstein', 'LI-01' => 'Liechtenstein: Balzers', 'LI-02' => 'Liechtenstein: Eschen', 'LI-03' => 'Liechtenstein: Gamprin', 'LI-04' => 'Liechtenstein: Mauren', 'LI-05' => 'Liechtenstein: Planken', 'LI-06' => 'Liechtenstein: Ruggell', 'LI-07' => 'Liechtenstein: Schaan', 'LI-08' => 'Liechtenstein: Schellenberg', 'LI-09' => 'Liechtenstein: Triesen', 'LI-10' => 'Liechtenstein: Triesenberg', 'LI-11' => 'Liechtenstein: Vaduz', '--LT' => '','-LT' => 'Lithuania', 'LT-56' => 'Lithuania: Alytaus Apskritis', 'LT-57' => 'Lithuania: Kauno Apskritis', 'LT-58' => 'Lithuania: Klaipedos Apskritis', 'LT-59' => 'Lithuania: Marijampoles Apskritis', 'LT-60' => 'Lithuania: Panevezio Apskritis', 'LT-61' => 'Lithuania: Siauliu Apskritis', 'LT-62' => 'Lithuania: Taurages Apskritis', 'LT-63' => 'Lithuania: Telsiu Apskritis', 'LT-64' => 'Lithuania: Utenos Apskritis', 'LT-65' => 'Lithuania: Vilniaus Apskritis', '--LU' => '','-LU' => 'Luxembourg', 'LU-01' => 'Luxembourg: Diekirch', 'LU-02' => 'Luxembourg: Grevenmacher', 'LU-03' => 'Luxembourg: Luxembourg', '--MO' => '','-MO' => 'Macau', 'MO-01' => 'Macau: Ilhas', 'MO-02' => 'Macau: Macau', '--MK' => '','-MK' => 'Macedonia', 'MK-01' => 'Macedonia: Aracinovo', 'MK-02' => 'Macedonia: Bac', 'MK-03' => 'Macedonia: Belcista', 'MK-04' => 'Macedonia: Berovo', 'MK-05' => 'Macedonia: Bistrica', 'MK-06' => 'Macedonia: Bitola', 'MK-07' => 'Macedonia: Blatec', 'MK-08' => 'Macedonia: Bogdanci', 'MK-09' => 'Macedonia: Bogomila', 'MK-10' => 'Macedonia: Bogovinje', 'MK-11' => 'Macedonia: Bosilovo', 'MK-12' => 'Macedonia: Brvenica', 'MK-13' => 'Macedonia: Cair', 'MK-14' => 'Macedonia: Capari', 'MK-15' => 'Macedonia: Caska', 'MK-16' => 'Macedonia: Cegrane', 'MK-18' => 'Macedonia: Centar Zupa', 'MK-17' => 'Macedonia: Centar', 'MK-19' => 'Macedonia: Cesinovo', 'MK-20' => 'Macedonia: Cucer-Sandevo', 'MK-21' => 'Macedonia: Debar', 'MK-22' => 'Macedonia: Delcevo', 'MK-23' => 'Macedonia: Delogozdi', 'MK-24' => 'Macedonia: Demir Hisar', 'MK-25' => 'Macedonia: Demir Kapija', 'MK-26' => 'Macedonia: Dobrusevo', 'MK-27' => 'Macedonia: Dolna Banjica', 'MK-28' => 'Macedonia: Dolneni', 'MK-29' => 'Macedonia: Dorce Petrov', 'MK-30' => 'Macedonia: Drugovo', 'MK-31' => 'Macedonia: Dzepciste', 'MK-32' => 'Macedonia: Gazi Baba', 'MK-33' => 'Macedonia: Gevgelija', 'MK-34' => 'Macedonia: Gostivar', 'MK-35' => 'Macedonia: Gradsko', 'MK-36' => 'Macedonia: Ilinden', 'MK-37' => 'Macedonia: Izvor', 'MK-38' => 'Macedonia: Jegunovce', 'MK-39' => 'Macedonia: Kamenjane', 'MK-40' => 'Macedonia: Karbinci', 'MK-41' => 'Macedonia: Karpos', 'MK-42' => 'Macedonia: Kavadarci', 'MK-43' => 'Macedonia: Kicevo', 'MK-44' => 'Macedonia: Kisela Voda', 'MK-45' => 'Macedonia: Klecevce', 'MK-46' => 'Macedonia: Kocani', 'MK-47' => 'Macedonia: Konce', 'MK-48' => 'Macedonia: Kondovo', 'MK-49' => 'Macedonia: Konopiste', 'MK-50' => 'Macedonia: Kosel', 'MK-51' => 'Macedonia: Kratovo', 'MK-52' => 'Macedonia: Kriva Palanka', 'MK-53' => 'Macedonia: Krivogastani', 'MK-54' => 'Macedonia: Krusevo', 'MK-55' => 'Macedonia: Kuklis', 'MK-56' => 'Macedonia: Kukurecani', 'MK-57' => 'Macedonia: Kumanovo', 'MK-58' => 'Macedonia: Labunista', 'MK-59' => 'Macedonia: Lipkovo', 'MK-60' => 'Macedonia: Lozovo', 'MK-61' => 'Macedonia: Lukovo', 'MK-62' => 'Macedonia: Makedonska Kamenica', 'MK-63' => 'Macedonia: Makedonski Brod', 'MK-64' => 'Macedonia: Mavrovi Anovi', 'MK-65' => 'Macedonia: Meseista', 'MK-66' => 'Macedonia: Miravci', 'MK-67' => 'Macedonia: Mogila', 'MK-68' => 'Macedonia: Murtino', 'MK-69' => 'Macedonia: Negotino', 'MK-70' => 'Macedonia: Negotino-Polosko', 'MK-71' => 'Macedonia: Novaci', 'MK-72' => 'Macedonia: Novo Selo', 'MK-73' => 'Macedonia: Oblesevo', 'MK-74' => 'Macedonia: Ohrid', 'MK-75' => 'Macedonia: Orasac', 'MK-76' => 'Macedonia: Orizari', 'MK-77' => 'Macedonia: Oslomej', 'MK-78' => 'Macedonia: Pehcevo', 'MK-79' => 'Macedonia: Petrovec', 'MK-80' => 'Macedonia: Plasnica', 'MK-81' => 'Macedonia: Podares', 'MK-82' => 'Macedonia: Prilep', 'MK-83' => 'Macedonia: Probistip', 'MK-84' => 'Macedonia: Radovis', 'MK-85' => 'Macedonia: Rankovce', 'MK-86' => 'Macedonia: Resen', 'MK-87' => 'Macedonia: Rosoman', 'MK-88' => 'Macedonia: Rostusa', 'MK-89' => 'Macedonia: Samokov', 'MK-90' => 'Macedonia: Saraj', 'MK-91' => 'Macedonia: Sipkovica', 'MK-92' => 'Macedonia: Sopiste', 'MK-93' => 'Macedonia: Sopotnica', 'MK-94' => 'Macedonia: Srbinovo', 'MK-96' => 'Macedonia: Star Dojran', 'MK-95' => 'Macedonia: Staravina', 'MK-97' => 'Macedonia: Staro Nagoricane', 'MK-98' => 'Macedonia: Stip', 'MK-99' => 'Macedonia: Struga', 'MK-A1' => 'Macedonia: Strumica', 'MK-A2' => 'Macedonia: Studenicani', 'MK-A3' => 'Macedonia: Suto Orizari', 'MK-A4' => 'Macedonia: Sveti Nikole', 'MK-A5' => 'Macedonia: Tearce', 'MK-A6' => 'Macedonia: Tetovo', 'MK-A7' => 'Macedonia: Topolcani', 'MK-A8' => 'Macedonia: Valandovo', 'MK-A9' => 'Macedonia: Vasilevo', 'MK-B1' => 'Macedonia: Veles', 'MK-B2' => 'Macedonia: Velesta', 'MK-B3' => 'Macedonia: Vevcani', 'MK-B4' => 'Macedonia: Vinica', 'MK-B5' => 'Macedonia: Vitoliste', 'MK-B6' => 'Macedonia: Vranestica', 'MK-B7' => 'Macedonia: Vrapciste', 'MK-B8' => 'Macedonia: Vratnica', 'MK-B9' => 'Macedonia: Vrutok', 'MK-C1' => 'Macedonia: Zajas', 'MK-C2' => 'Macedonia: Zelenikovo', 'MK-C3' => 'Macedonia: Zelino', 'MK-C4' => 'Macedonia: Zitose', 'MK-C5' => 'Macedonia: Zletovo', 'MK-C6' => 'Macedonia: Zrnovci', '--MG' => '','-MG' => 'Madagascar', 'MG-05' => 'Madagascar: Antananarivo', 'MG-01' => 'Madagascar: Antsiranana', 'MG-02' => 'Madagascar: Fianarantsoa', 'MG-03' => 'Madagascar: Mahajanga', 'MG-04' => 'Madagascar: Toamasina', 'MG-06' => 'Madagascar: Toliara', '--MW' => '','-MW' => 'Malawi', 'MW-26' => 'Malawi: Balaka', 'MW-24' => 'Malawi: Blantyre', 'MW-02' => 'Malawi: Chikwawa', 'MW-03' => 'Malawi: Chiradzulu', 'MW-04' => 'Malawi: Chitipa', 'MW-06' => 'Malawi: Dedza', 'MW-07' => 'Malawi: Dowa', 'MW-08' => 'Malawi: Karonga', 'MW-09' => 'Malawi: Kasungu', 'MW-27' => 'Malawi: Likoma', 'MW-11' => 'Malawi: Lilongwe', 'MW-28' => 'Malawi: Machinga', 'MW-12' => 'Malawi: Mangochi', 'MW-13' => 'Malawi: Mchinji', 'MW-29' => 'Malawi: Mulanje', 'MW-25' => 'Malawi: Mwanza', 'MW-15' => 'Malawi: Mzimba', 'MW-17' => 'Malawi: Nkhata Bay', 'MW-18' => 'Malawi: Nkhotakota', 'MW-19' => 'Malawi: Nsanje', 'MW-16' => 'Malawi: Ntcheu', 'MW-20' => 'Malawi: Ntchisi', 'MW-30' => 'Malawi: Phalombe', 'MW-21' => 'Malawi: Rumphi', 'MW-22' => 'Malawi: Salima', 'MW-05' => 'Malawi: Thyolo', 'MW-23' => 'Malawi: Zomba', '--MY' => '','-MY' => 'Malaysia', 'MY-01' => 'Malaysia: Johor', 'MY-02' => 'Malaysia: Kedah', 'MY-03' => 'Malaysia: Kelantan', 'MY-15' => 'Malaysia: Labuan', 'MY-04' => 'Malaysia: Melaka', 'MY-05' => 'Malaysia: Negeri Sembilan', 'MY-06' => 'Malaysia: Pahang', 'MY-07' => 'Malaysia: Perak', 'MY-08' => 'Malaysia: Perlis', 'MY-09' => 'Malaysia: Pulau Pinang', 'MY-16' => 'Malaysia: Sabah', 'MY-11' => 'Malaysia: Sarawak', 'MY-12' => 'Malaysia: Selangor', 'MY-13' => 'Malaysia: Terengganu', 'MY-14' => 'Malaysia: Wilayah Persekutuan', '--MV' => '','-MV' => 'Maldives', 'MV-02' => 'Maldives: Aliff', 'MV-20' => 'Maldives: Baa', 'MV-17' => 'Maldives: Daalu', 'MV-14' => 'Maldives: Faafu', 'MV-27' => 'Maldives: Gaafu Aliff', 'MV-28' => 'Maldives: Gaafu Daalu', 'MV-07' => 'Maldives: Haa Aliff', 'MV-23' => 'Maldives: Haa Daalu', 'MV-26' => 'Maldives: Kaafu', 'MV-05' => 'Maldives: Laamu', 'MV-03' => 'Maldives: Laviyani', 'MV-12' => 'Maldives: Meemu', 'MV-29' => 'Maldives: Naviyani', 'MV-25' => 'Maldives: Noonu', 'MV-13' => 'Maldives: Raa', 'MV-01' => 'Maldives: Seenu', 'MV-24' => 'Maldives: Shaviyani', 'MV-08' => 'Maldives: Thaa', 'MV-04' => 'Maldives: Waavu', '--ML' => '','-ML' => 'Mali', 'ML-01' => 'Mali: Bamako', 'ML-09' => 'Mali: Gao', 'ML-03' => 'Mali: Kayes', 'ML-10' => 'Mali: Kidal', 'ML-07' => 'Mali: Koulikoro', 'ML-04' => 'Mali: Mopti', 'ML-05' => 'Mali: Segou', 'ML-06' => 'Mali: Sikasso', 'ML-08' => 'Mali: Tombouctou', '--MR' => '','-MR' => 'Mauritania', 'MR-07' => 'Mauritania: Adrar', 'MR-03' => 'Mauritania: Assaba', 'MR-05' => 'Mauritania: Brakna', 'MR-08' => 'Mauritania: Dakhlet Nouadhibou', 'MR-04' => 'Mauritania: Gorgol', 'MR-10' => 'Mauritania: Guidimaka', 'MR-01' => 'Mauritania: Hodh Ech Chargui', 'MR-02' => 'Mauritania: Hodh El Gharbi', 'MR-12' => 'Mauritania: Inchiri', 'MR-09' => 'Mauritania: Tagant', 'MR-11' => 'Mauritania: Tiris Zemmour', 'MR-06' => 'Mauritania: Trarza', '--MU' => '','-MU' => 'Mauritius', 'MU-21' => 'Mauritius: Agalega Islands', 'MU-12' => 'Mauritius: Black River', 'MU-22' => 'Mauritius: Cargados Carajos', 'MU-13' => 'Mauritius: Flacq', 'MU-14' => 'Mauritius: Grand Port', 'MU-15' => 'Mauritius: Moka', 'MU-16' => 'Mauritius: Pamplemousses', 'MU-17' => 'Mauritius: Plaines Wilhems', 'MU-18' => 'Mauritius: Port Louis', 'MU-19' => 'Mauritius: Riviere du Rempart', 'MU-23' => 'Mauritius: Rodrigues', 'MU-20' => 'Mauritius: Savanne', '--MX' => '','-MX' => 'Mexico', 'MX-01' => 'Mexico: Aguascalientes', 'MX-03' => 'Mexico: Baja California Sur', 'MX-02' => 'Mexico: Baja California', 'MX-04' => 'Mexico: Campeche', 'MX-05' => 'Mexico: Chiapas', 'MX-06' => 'Mexico: Chihuahua', 'MX-07' => 'Mexico: Coahuila de Zaragoza', 'MX-08' => 'Mexico: Colima', 'MX-09' => 'Mexico: Distrito Federal', 'MX-10' => 'Mexico: Durango', 'MX-11' => 'Mexico: Guanajuato', 'MX-12' => 'Mexico: Guerrero', 'MX-13' => 'Mexico: Hidalgo', 'MX-14' => 'Mexico: Jalisco', 'MX-15' => 'Mexico: Mexico', 'MX-16' => 'Mexico: Michoacan de Ocampo', 'MX-17' => 'Mexico: Morelos', 'MX-18' => 'Mexico: Nayarit', 'MX-19' => 'Mexico: Nuevo Leon', 'MX-20' => 'Mexico: Oaxaca', 'MX-21' => 'Mexico: Puebla', 'MX-22' => 'Mexico: Queretaro de Arteaga', 'MX-23' => 'Mexico: Quintana Roo', 'MX-24' => 'Mexico: San Luis Potosi', 'MX-25' => 'Mexico: Sinaloa', 'MX-26' => 'Mexico: Sonora', 'MX-27' => 'Mexico: Tabasco', 'MX-28' => 'Mexico: Tamaulipas', 'MX-29' => 'Mexico: Tlaxcala', 'MX-30' => 'Mexico: Veracruz-Llave', 'MX-31' => 'Mexico: Yucatan', 'MX-32' => 'Mexico: Zacatecas', '--FM' => '','-FM' => 'Micronesia', 'FM-03' => 'Micronesia: Chuuk', 'FM-01' => 'Micronesia: Kosrae', 'FM-02' => 'Micronesia: Pohnpei', 'FM-04' => 'Micronesia: Yap', '--MD' => '','-MD' => 'Moldova', 'MD-46' => 'Moldova: Balti', 'MD-47' => 'Moldova: Cahul', 'MD-48' => 'Moldova: Chisinau', 'MD-50' => 'Moldova: Edinet', 'MD-51' => 'Moldova: Gagauzia', 'MD-52' => 'Moldova: Lapusna', 'MD-53' => 'Moldova: Orhei', 'MD-54' => 'Moldova: Soroca', 'MD-49' => 'Moldova: Stinga Nistrului', 'MD-55' => 'Moldova: Tighina', 'MD-56' => 'Moldova: Ungheni', '--MC' => '','-MC' => 'Monaco', 'MC-01' => 'Monaco: La Condamine', 'MC-02' => 'Monaco: Monaco', 'MC-03' => 'Monaco: Monte-Carlo', '--MN' => '','-MN' => 'Mongolia', 'MN-01' => 'Mongolia: Arhangay', 'MN-02' => 'Mongolia: Bayanhongor', 'MN-03' => 'Mongolia: Bayan-Olgiy', 'MN-21' => 'Mongolia: Bulgan', 'MN-23' => 'Mongolia: Darhan Uul', 'MN-05' => 'Mongolia: Darhan', 'MN-06' => 'Mongolia: Dornod', 'MN-07' => 'Mongolia: Dornogovi', 'MN-08' => 'Mongolia: Dundgovi', 'MN-09' => 'Mongolia: Dzavhan', 'MN-22' => 'Mongolia: Erdenet', 'MN-10' => 'Mongolia: Govi-Altay', 'MN-24' => 'Mongolia: Govi-Sumber', 'MN-11' => 'Mongolia: Hentiy', 'MN-12' => 'Mongolia: Hovd', 'MN-13' => 'Mongolia: Hovsgol', 'MN-14' => 'Mongolia: Omnogovi', 'MN-25' => 'Mongolia: Orhon', 'MN-15' => 'Mongolia: Ovorhangay', 'MN-16' => 'Mongolia: Selenge', 'MN-17' => 'Mongolia: Suhbaatar', 'MN-18' => 'Mongolia: Tov', 'MN-20' => 'Mongolia: Ulaanbaatar', 'MN-19' => 'Mongolia: Uvs', '--MS' => '','-MS' => 'Montserrat', 'MS-01' => 'Montserrat: Saint Anthony', 'MS-02' => 'Montserrat: Saint Georges', 'MS-03' => 'Montserrat: Saint Peter', '--MA' => '','-MA' => 'Morocco', 'MA-01' => 'Morocco: Agadir', 'MA-02' => 'Morocco: Al Hoceima', 'MA-03' => 'Morocco: Azilal', 'MA-04' => 'Morocco: Ben Slimane', 'MA-05' => 'Morocco: Beni Mellal', 'MA-06' => 'Morocco: Boulemane', 'MA-07' => 'Morocco: Casablanca', 'MA-08' => 'Morocco: Chaouen', 'MA-09' => 'Morocco: El Jadida', 'MA-10' => 'Morocco: El Kelaa des Srarhna', 'MA-11' => 'Morocco: Er Rachidia', 'MA-12' => 'Morocco: Essaouira', 'MA-13' => 'Morocco: Fes', 'MA-14' => 'Morocco: Figuig', 'MA-33' => 'Morocco: Guelmim', 'MA-34' => 'Morocco: Ifrane', 'MA-15' => 'Morocco: Kenitra', 'MA-16' => 'Morocco: Khemisset', 'MA-17' => 'Morocco: Khenifra', 'MA-18' => 'Morocco: Khouribga', 'MA-35' => 'Morocco: Laayoune', 'MA-41' => 'Morocco: Larache', 'MA-19' => 'Morocco: Marrakech', 'MA-20' => 'Morocco: Meknes', 'MA-21' => 'Morocco: Nador', 'MA-22' => 'Morocco: Ouarzazate', 'MA-23' => 'Morocco: Oujda', 'MA-24' => 'Morocco: Rabat-Sale', 'MA-25' => 'Morocco: Safi', 'MA-26' => 'Morocco: Settat', 'MA-38' => 'Morocco: Sidi Kacem', 'MA-27' => 'Morocco: Tanger', 'MA-36' => 'Morocco: Tan-Tan', 'MA-37' => 'Morocco: Taounate', 'MA-39' => 'Morocco: Taroudannt', 'MA-29' => 'Morocco: Tata', 'MA-30' => 'Morocco: Taza', 'MA-40' => 'Morocco: Tetouan', 'MA-32' => 'Morocco: Tiznit', '--MZ' => '','-MZ' => 'Mozambique', 'MZ-01' => 'Mozambique: Cabo Delgado', 'MZ-02' => 'Mozambique: Gaza', 'MZ-03' => 'Mozambique: Inhambane', 'MZ-10' => 'Mozambique: Manica', 'MZ-04' => 'Mozambique: Maputo', 'MZ-06' => 'Mozambique: Nampula', 'MZ-07' => 'Mozambique: Niassa', 'MZ-05' => 'Mozambique: Sofala', 'MZ-08' => 'Mozambique: Tete', 'MZ-09' => 'Mozambique: Zambezia', '--MM' => '','-MM' => 'Myanmar', 'MM-02' => 'Myanmar: Chin State', 'MM-03' => 'Myanmar: Irrawaddy', 'MM-04' => 'Myanmar: Kachin State', 'MM-05' => 'Myanmar: Karan State', 'MM-06' => 'Myanmar: Kayah State', 'MM-07' => 'Myanmar: Magwe', 'MM-08' => 'Myanmar: Mandalay', 'MM-13' => 'Myanmar: Mon State', 'MM-09' => 'Myanmar: Pegu', 'MM-01' => 'Myanmar: Rakhine State', 'MM-14' => 'Myanmar: Rangoon', 'MM-10' => 'Myanmar: Sagaing', 'MM-11' => 'Myanmar: Shan State', 'MM-12' => 'Myanmar: Tenasserim', 'MM-17' => 'Myanmar: Yangon', '--NA' => '','-NA' => 'Namibia', 'NA-01' => 'Namibia: Bethanien', 'NA-03' => 'Namibia: Boesmanland', 'NA-02' => 'Namibia: Caprivi Oos', 'NA-28' => 'Namibia: Caprivi', 'NA-22' => 'Namibia: Damaraland', 'NA-29' => 'Namibia: Erongo', 'NA-04' => 'Namibia: Gobabis', 'NA-05' => 'Namibia: Grootfontein', 'NA-30' => 'Namibia: Hardap', 'NA-23' => 'Namibia: Hereroland Oos', 'NA-24' => 'Namibia: Hereroland Wes', 'NA-06' => 'Namibia: Kaokoland', 'NA-31' => 'Namibia: Karas', 'NA-20' => 'Namibia: Karasburg', 'NA-07' => 'Namibia: Karibib', 'NA-25' => 'Namibia: Kavango', 'NA-08' => 'Namibia: Keetmanshoop', 'NA-32' => 'Namibia: Kunene', 'NA-09' => 'Namibia: Luderitz', 'NA-10' => 'Namibia: Maltahohe', 'NA-26' => 'Namibia: Mariental', 'NA-27' => 'Namibia: Namaland', 'NA-33' => 'Namibia: Ohangwena', 'NA-11' => 'Namibia: Okahandja', 'NA-34' => 'Namibia: Okavango', 'NA-35' => 'Namibia: Omaheke', 'NA-12' => 'Namibia: Omaruru', 'NA-36' => 'Namibia: Omusati', 'NA-37' => 'Namibia: Oshana', 'NA-38' => 'Namibia: Oshikoto', 'NA-13' => 'Namibia: Otjiwarongo', 'NA-39' => 'Namibia: Otjozondjupa', 'NA-14' => 'Namibia: Outjo', 'NA-15' => 'Namibia: Owambo', 'NA-16' => 'Namibia: Rehoboth', 'NA-17' => 'Namibia: Swakopmund', 'NA-18' => 'Namibia: Tsumeb', 'NA-21' => 'Namibia: Windhoek', '--NR' => '','-NR' => 'Nauru', 'NR-01' => 'Nauru: Aiwo', 'NR-02' => 'Nauru: Anabar', 'NR-03' => 'Nauru: Anetan', 'NR-04' => 'Nauru: Anibare', 'NR-05' => 'Nauru: Baiti', 'NR-06' => 'Nauru: Boe', 'NR-07' => 'Nauru: Buada', 'NR-08' => 'Nauru: Denigomodu', 'NR-09' => 'Nauru: Ewa', 'NR-10' => 'Nauru: Ijuw', 'NR-11' => 'Nauru: Meneng', 'NR-12' => 'Nauru: Nibok', 'NR-13' => 'Nauru: Uaboe', 'NR-14' => 'Nauru: Yaren', '--NP' => '','-NP' => 'Nepal', 'NP-01' => 'Nepal: Bagmati', 'NP-02' => 'Nepal: Bheri', 'NP-03' => 'Nepal: Dhawalagiri', 'NP-04' => 'Nepal: Gandaki', 'NP-05' => 'Nepal: Janakpur', 'NP-06' => 'Nepal: Karnali', 'NP-07' => 'Nepal: Kosi', 'NP-08' => 'Nepal: Lumbini', 'NP-09' => 'Nepal: Mahakali', 'NP-10' => 'Nepal: Mechi', 'NP-11' => 'Nepal: Narayani', 'NP-12' => 'Nepal: Rapti', 'NP-13' => 'Nepal: Sagarmatha', 'NP-14' => 'Nepal: Seti', '--NL' => '','-NL' => 'Netherlands', 'NL-01' => 'Netherlands: Drenthe', 'NL-16' => 'Netherlands: Flevoland', 'NL-02' => 'Netherlands: Friesland', 'NL-03' => 'Netherlands: Gelderland', 'NL-04' => 'Netherlands: Groningen', 'NL-05' => 'Netherlands: Limburg', 'NL-06' => 'Netherlands: Noord-Brabant', 'NL-07' => 'Netherlands: Noord-Holland', 'NL-15' => 'Netherlands: Overijssel', 'NL-09' => 'Netherlands: Utrecht', 'NL-10' => 'Netherlands: Zeeland', 'NL-11' => 'Netherlands: Zuid-Holland', '--NZ' => '','-NZ' => 'New Zealand', 'NZ-01' => 'New Zealand: Akaroa', 'NZ-03' => 'New Zealand: Amuri', 'NZ-04' => 'New Zealand: Ashburton', 'NZ-07' => 'New Zealand: Bay of Islands', 'NZ-08' => 'New Zealand: Bruce', 'NZ-09' => 'New Zealand: Buller', 'NZ-10' => 'New Zealand: Chatham Islands', 'NZ-11' => 'New Zealand: Cheviot', 'NZ-12' => 'New Zealand: Clifton', 'NZ-13' => 'New Zealand: Clutha', 'NZ-14' => 'New Zealand: Cook', 'NZ-16' => 'New Zealand: Dannevirke', 'NZ-17' => 'New Zealand: Egmont', 'NZ-18' => 'New Zealand: Eketahuna', 'NZ-19' => 'New Zealand: Ellesmere', 'NZ-20' => 'New Zealand: Eltham', 'NZ-21' => 'New Zealand: Eyre', 'NZ-22' => 'New Zealand: Featherston', 'NZ-24' => 'New Zealand: Franklin', 'NZ-26' => 'New Zealand: Golden Bay', 'NZ-27' => 'New Zealand: Great Barrier Island', 'NZ-28' => 'New Zealand: Grey', 'NZ-29' => 'New Zealand: Hauraki Plains', 'NZ-30' => 'New Zealand: Hawera', 'NZ-31' => 'New Zealand: Hawke\'s Bay', 'NZ-32' => 'New Zealand: Heathcote', 'NZ-D9' => 'New Zealand: Hikurangi', 'NZ-33' => 'New Zealand: Hobson', 'NZ-34' => 'New Zealand: Hokianga', 'NZ-35' => 'New Zealand: Horowhenua', 'NZ-D4' => 'New Zealand: Hurunui', 'NZ-36' => 'New Zealand: Hutt', 'NZ-37' => 'New Zealand: Inangahua', 'NZ-38' => 'New Zealand: Inglewood', 'NZ-39' => 'New Zealand: Kaikoura', 'NZ-40' => 'New Zealand: Kairanga', 'NZ-41' => 'New Zealand: Kiwitea', 'NZ-43' => 'New Zealand: Lake', 'NZ-45' => 'New Zealand: Mackenzie', 'NZ-46' => 'New Zealand: Malvern', 'NZ-E1' => 'New Zealand: Manaia', 'NZ-47' => 'New Zealand: Manawatu', 'NZ-48' => 'New Zealand: Mangonui', 'NZ-49' => 'New Zealand: Maniototo', 'NZ-50' => 'New Zealand: Marlborough', 'NZ-51' => 'New Zealand: Masterton', 'NZ-52' => 'New Zealand: Matamata', 'NZ-53' => 'New Zealand: Mount Herbert', 'NZ-54' => 'New Zealand: Ohinemuri', 'NZ-55' => 'New Zealand: Opotiki', 'NZ-56' => 'New Zealand: Oroua', 'NZ-57' => 'New Zealand: Otamatea', 'NZ-58' => 'New Zealand: Otorohanga', 'NZ-59' => 'New Zealand: Oxford', 'NZ-60' => 'New Zealand: Pahiatua', 'NZ-61' => 'New Zealand: Paparua', 'NZ-63' => 'New Zealand: Patea', 'NZ-65' => 'New Zealand: Piako', 'NZ-66' => 'New Zealand: Pohangina', 'NZ-67' => 'New Zealand: Raglan', 'NZ-68' => 'New Zealand: Rangiora', 'NZ-69' => 'New Zealand: Rangitikei', 'NZ-70' => 'New Zealand: Rodney', 'NZ-71' => 'New Zealand: Rotorua', 'NZ-E2' => 'New Zealand: Runanga', 'NZ-E3' => 'New Zealand: Saint Kilda', 'NZ-D5' => 'New Zealand: Silverpeaks', 'NZ-72' => 'New Zealand: Southland', 'NZ-73' => 'New Zealand: Stewart Island', 'NZ-74' => 'New Zealand: Stratford', 'NZ-D6' => 'New Zealand: Strathallan', 'NZ-76' => 'New Zealand: Taranaki', 'NZ-77' => 'New Zealand: Taumarunui', 'NZ-78' => 'New Zealand: Taupo', 'NZ-79' => 'New Zealand: Tauranga', 'NZ-E4' => 'New Zealand: Thames-Coromandel', 'NZ-81' => 'New Zealand: Tuapeka', 'NZ-82' => 'New Zealand: Vincent', 'NZ-83' => 'New Zealand: Waiapu', 'NZ-D8' => 'New Zealand: Waiheke', 'NZ-84' => 'New Zealand: Waihemo', 'NZ-85' => 'New Zealand: Waikato', 'NZ-86' => 'New Zealand: Waikohu', 'NZ-88' => 'New Zealand: Waimairi', 'NZ-89' => 'New Zealand: Waimarino', 'NZ-91' => 'New Zealand: Waimate West', 'NZ-90' => 'New Zealand: Waimate', 'NZ-92' => 'New Zealand: Waimea', 'NZ-93' => 'New Zealand: Waipa', 'NZ-95' => 'New Zealand: Waipawa', 'NZ-96' => 'New Zealand: Waipukurau', 'NZ-97' => 'New Zealand: Wairarapa South', 'NZ-98' => 'New Zealand: Wairewa', 'NZ-99' => 'New Zealand: Wairoa', 'NZ-A4' => 'New Zealand: Waitaki', 'NZ-A6' => 'New Zealand: Waitomo', 'NZ-A8' => 'New Zealand: Waitotara', 'NZ-E6' => 'New Zealand: Wallace', 'NZ-B2' => 'New Zealand: Wanganui', 'NZ-E5' => 'New Zealand: Waverley', 'NZ-B3' => 'New Zealand: Westland', 'NZ-B4' => 'New Zealand: Whakatane', 'NZ-A1' => 'New Zealand: Whangarei', 'NZ-A2' => 'New Zealand: Whangaroa', 'NZ-A3' => 'New Zealand: Woodmark', '--NI' => '','-NI' => 'Nicaragua', 'NI-01' => 'Nicaragua: Boaco', 'NI-02' => 'Nicaragua: Carazo', 'NI-03' => 'Nicaragua: Chinandega', 'NI-04' => 'Nicaragua: Chontales', 'NI-05' => 'Nicaragua: Esteli', 'NI-06' => 'Nicaragua: Granada', 'NI-07' => 'Nicaragua: Jinotega', 'NI-08' => 'Nicaragua: Leon', 'NI-09' => 'Nicaragua: Madriz', 'NI-10' => 'Nicaragua: Managua', 'NI-11' => 'Nicaragua: Masaya', 'NI-12' => 'Nicaragua: Matagalpa', 'NI-13' => 'Nicaragua: Nueva Segovia', 'NI-14' => 'Nicaragua: Rio San Juan', 'NI-15' => 'Nicaragua: Rivas', 'NI-16' => 'Nicaragua: Zelaya', '--NE' => '','-NE' => 'Niger', 'NE-01' => 'Niger: Agadez', 'NE-02' => 'Niger: Diffa', 'NE-03' => 'Niger: Dosso', 'NE-04' => 'Niger: Maradi', 'NE-05' => 'Niger: Niamey', 'NE-06' => 'Niger: Tahoua', 'NE-07' => 'Niger: Zinder', '--NG' => '','-NG' => 'Nigeria', 'NG-45' => 'Nigeria: Abia', 'NG-11' => 'Nigeria: Abuja Capital Territory', 'NG-35' => 'Nigeria: Adamawa', 'NG-21' => 'Nigeria: Akwa Ibom', 'NG-25' => 'Nigeria: Anambra', 'NG-46' => 'Nigeria: Bauchi', 'NG-52' => 'Nigeria: Bayelsa', 'NG-26' => 'Nigeria: Benue', 'NG-27' => 'Nigeria: Borno', 'NG-22' => 'Nigeria: Cross River', 'NG-36' => 'Nigeria: Delta', 'NG-53' => 'Nigeria: Ebonyi', 'NG-37' => 'Nigeria: Edo', 'NG-54' => 'Nigeria: Ekiti', 'NG-47' => 'Nigeria: Enugu', 'NG-55' => 'Nigeria: Gombe', 'NG-28' => 'Nigeria: Imo', 'NG-39' => 'Nigeria: Jigawa', 'NG-23' => 'Nigeria: Kaduna', 'NG-29' => 'Nigeria: Kano', 'NG-24' => 'Nigeria: Katsina', 'NG-40' => 'Nigeria: Kebbi', 'NG-41' => 'Nigeria: Kogi', 'NG-30' => 'Nigeria: Kwara', 'NG-05' => 'Nigeria: Lagos', 'NG-56' => 'Nigeria: Nassarawa', 'NG-31' => 'Nigeria: Niger', 'NG-16' => 'Nigeria: Ogun', 'NG-48' => 'Nigeria: Ondo', 'NG-42' => 'Nigeria: Osun', 'NG-32' => 'Nigeria: Oyo', 'NG-49' => 'Nigeria: Plateau', 'NG-50' => 'Nigeria: Rivers', 'NG-51' => 'Nigeria: Sokoto', 'NG-43' => 'Nigeria: Taraba', 'NG-44' => 'Nigeria: Yobe', 'NG-57' => 'Nigeria: Zamfara', '--KP' => '','-KP' => 'North Korea', 'KP-01' => 'North Korea: Chagang-do', 'KP-17' => 'North Korea: Hamgyong-bukto', 'KP-03' => 'North Korea: Hamgyong-namdo', 'KP-07' => 'North Korea: Hwanghae-bukto', 'KP-06' => 'North Korea: Hwanghae-namdo', 'KP-08' => 'North Korea: Kaesong-si', 'KP-09' => 'North Korea: Kangwon-do', 'KP-18' => 'North Korea: Najin Sonbong-si', 'KP-14' => 'North Korea: Namp\'o-si', 'KP-11' => 'North Korea: P\'yongan-bukto', 'KP-15' => 'North Korea: P\'yongan-namdo', 'KP-12' => 'North Korea: P\'yongyang-si', 'KP-13' => 'North Korea: Yanggang-do', '--NO' => '','-NO' => 'Norway', 'NO-01' => 'Norway: Akershus', 'NO-02' => 'Norway: Aust-Agder', 'NO-04' => 'Norway: Buskerud', 'NO-05' => 'Norway: Finnmark', 'NO-06' => 'Norway: Hedmark', 'NO-07' => 'Norway: Hordaland', 'NO-08' => 'Norway: More og Romsdal', 'NO-09' => 'Norway: Nordland', 'NO-10' => 'Norway: Nord-Trondelag', 'NO-11' => 'Norway: Oppland', 'NO-12' => 'Norway: Oslo', 'NO-13' => 'Norway: Ostfold', 'NO-14' => 'Norway: Rogaland', 'NO-15' => 'Norway: Sogn og Fjordane', 'NO-16' => 'Norway: Sor-Trondelag', 'NO-17' => 'Norway: Telemark', 'NO-18' => 'Norway: Troms', 'NO-19' => 'Norway: Vest-Agder', 'NO-20' => 'Norway: Vestfold', '--OM' => '','-OM' => 'Oman', 'OM-01' => 'Oman: Ad Dakhiliyah', 'OM-02' => 'Oman: Al Batinah', 'OM-03' => 'Oman: Al Wusta', 'OM-04' => 'Oman: Ash Sharqiyah', 'OM-05' => 'Oman: Az Zahirah', 'OM-06' => 'Oman: Masqat', 'OM-07' => 'Oman: Musandam', 'OM-08' => 'Oman: Zufar', '--PK' => '','-PK' => 'Pakistan', 'PK-06' => 'Pakistan: Azad Kashmir', 'PK-02' => 'Pakistan: Balochistan', 'PK-01' => 'Pakistan: Federally Administered Tribal Areas', 'PK-08' => 'Pakistan: Islamabad', 'PK-07' => 'Pakistan: Northern Areas', 'PK-03' => 'Pakistan: North-West Frontier', 'PK-04' => 'Pakistan: Punjab', 'PK-05' => 'Pakistan: Sindh', '--PA' => '','-PA' => 'Panama', 'PA-01' => 'Panama: Bocas del Toro', 'PA-02' => 'Panama: Chiriqui', 'PA-03' => 'Panama: Cocle', 'PA-04' => 'Panama: Colon', 'PA-05' => 'Panama: Darien', 'PA-06' => 'Panama: Herrera', 'PA-07' => 'Panama: Los Santos', 'PA-08' => 'Panama: Panama', 'PA-09' => 'Panama: San Blas', 'PA-10' => 'Panama: Veraguas', '--PG' => '','-PG' => 'Papua New Guinea', 'PG-01' => 'Papua New Guinea: Central', 'PG-08' => 'Papua New Guinea: Chimbu', 'PG-10' => 'Papua New Guinea: East New Britain', 'PG-11' => 'Papua New Guinea: East Sepik', 'PG-09' => 'Papua New Guinea: Eastern Highlands', 'PG-19' => 'Papua New Guinea: Enga', 'PG-02' => 'Papua New Guinea: Gulf', 'PG-12' => 'Papua New Guinea: Madang', 'PG-13' => 'Papua New Guinea: Manus', 'PG-03' => 'Papua New Guinea: Milne Bay', 'PG-14' => 'Papua New Guinea: Morobe', 'PG-20' => 'Papua New Guinea: National Capital', 'PG-15' => 'Papua New Guinea: New Ireland', 'PG-07' => 'Papua New Guinea: North Solomons', 'PG-04' => 'Papua New Guinea: Northern', 'PG-18' => 'Papua New Guinea: Sandaun', 'PG-05' => 'Papua New Guinea: Southern Highlands', 'PG-17' => 'Papua New Guinea: West New Britain', 'PG-16' => 'Papua New Guinea: Western Highlands', 'PG-06' => 'Papua New Guinea: Western', '--PY' => '','-PY' => 'Paraguay', 'PY-23' => 'Paraguay: Alto Paraguay', 'PY-01' => 'Paraguay: Alto Parana', 'PY-02' => 'Paraguay: Amambay', 'PY-03' => 'Paraguay: Boqueron', 'PY-04' => 'Paraguay: Caaguazu', 'PY-05' => 'Paraguay: Caazapa', 'PY-19' => 'Paraguay: Canindeyu', 'PY-06' => 'Paraguay: Central', 'PY-20' => 'Paraguay: Chaco', 'PY-07' => 'Paraguay: Concepcion', 'PY-08' => 'Paraguay: Cordillera', 'PY-10' => 'Paraguay: Guaira', 'PY-11' => 'Paraguay: Itapua', 'PY-12' => 'Paraguay: Misiones', 'PY-13' => 'Paraguay: Neembucu', 'PY-21' => 'Paraguay: Nueva Asuncion', 'PY-15' => 'Paraguay: Paraguari', 'PY-16' => 'Paraguay: Presidente Hayes', 'PY-17' => 'Paraguay: San Pedro', '--PE' => '','-PE' => 'Peru', 'PE-01' => 'Peru: Amazonas', 'PE-02' => 'Peru: Ancash', 'PE-03' => 'Peru: Apurimac', 'PE-04' => 'Peru: Arequipa', 'PE-05' => 'Peru: Ayacucho', 'PE-06' => 'Peru: Cajamarca', 'PE-07' => 'Peru: Callao', 'PE-08' => 'Peru: Cusco', 'PE-09' => 'Peru: Huancavelica', 'PE-10' => 'Peru: Huanuco', 'PE-11' => 'Peru: Ica', 'PE-12' => 'Peru: Junin', 'PE-13' => 'Peru: La Libertad', 'PE-14' => 'Peru: Lambayeque', 'PE-15' => 'Peru: Lima', 'PE-16' => 'Peru: Loreto', 'PE-17' => 'Peru: Madre de Dios', 'PE-18' => 'Peru: Moquegua', 'PE-19' => 'Peru: Pasco', 'PE-20' => 'Peru: Piura', 'PE-21' => 'Peru: Puno', 'PE-22' => 'Peru: San Martin', 'PE-23' => 'Peru: Tacna', 'PE-24' => 'Peru: Tumbes', 'PE-25' => 'Peru: Ucayali', '--PH' => '','-PH' => 'Philippines', 'PH-01' => 'Philippines: Abra', 'PH-02' => 'Philippines: Agusan del Norte', 'PH-03' => 'Philippines: Agusan del Sur', 'PH-04' => 'Philippines: Aklan', 'PH-05' => 'Philippines: Albay', 'PH-A1' => 'Philippines: Angeles', 'PH-06' => 'Philippines: Antique', 'PH-G8' => 'Philippines: Aurora', 'PH-A2' => 'Philippines: Bacolod', 'PH-A3' => 'Philippines: Bago', 'PH-A4' => 'Philippines: Baguio', 'PH-A5' => 'Philippines: Bais', 'PH-A6' => 'Philippines: Basilan City', 'PH-22' => 'Philippines: Basilan', 'PH-07' => 'Philippines: Bataan', 'PH-08' => 'Philippines: Batanes', 'PH-A7' => 'Philippines: Batangas City', 'PH-09' => 'Philippines: Batangas', 'PH-10' => 'Philippines: Benguet', 'PH-11' => 'Philippines: Bohol', 'PH-12' => 'Philippines: Bukidnon', 'PH-13' => 'Philippines: Bulacan', 'PH-A8' => 'Philippines: Butuan', 'PH-A9' => 'Philippines: Cabanatuan', 'PH-B1' => 'Philippines: Cadiz', 'PH-B2' => 'Philippines: Cagayan de Oro', 'PH-14' => 'Philippines: Cagayan', 'PH-B3' => 'Philippines: Calbayog', 'PH-B4' => 'Philippines: Caloocan', 'PH-15' => 'Philippines: Camarines Norte', 'PH-16' => 'Philippines: Camarines Sur', 'PH-17' => 'Philippines: Camiguin', 'PH-B5' => 'Philippines: Canlaon', 'PH-18' => 'Philippines: Capiz', 'PH-19' => 'Philippines: Catanduanes', 'PH-B6' => 'Philippines: Cavite City', 'PH-20' => 'Philippines: Cavite', 'PH-B7' => 'Philippines: Cebu City', 'PH-21' => 'Philippines: Cebu', 'PH-B8' => 'Philippines: Cotabato', 'PH-B9' => 'Philippines: Dagupan', 'PH-C1' => 'Philippines: Danao', 'PH-C2' => 'Philippines: Dapitan', 'PH-C3' => 'Philippines: Davao City', 'PH-25' => 'Philippines: Davao del Sur', 'PH-26' => 'Philippines: Davao Oriental', 'PH-24' => 'Philippines: Davao', 'PH-C4' => 'Philippines: Dipolog', 'PH-C5' => 'Philippines: Dumaguete', 'PH-23' => 'Philippines: Eastern Samar', 'PH-C6' => 'Philippines: General Santos', 'PH-C7' => 'Philippines: Gingoog', 'PH-27' => 'Philippines: Ifugao', 'PH-C8' => 'Philippines: Iligan', 'PH-28' => 'Philippines: Ilocos Norte', 'PH-29' => 'Philippines: Ilocos Sur', 'PH-C9' => 'Philippines: Iloilo City', 'PH-30' => 'Philippines: Iloilo', 'PH-D1' => 'Philippines: Iriga', 'PH-31' => 'Philippines: Isabela', 'PH-32' => 'Philippines: Kalinga-Apayao', 'PH-D2' => 'Philippines: La Carlota', 'PH-36' => 'Philippines: La Union', 'PH-33' => 'Philippines: Laguna', 'PH-34' => 'Philippines: Lanao del Norte', 'PH-35' => 'Philippines: Lanao del Sur', 'PH-D3' => 'Philippines: Laoag', 'PH-D4' => 'Philippines: Lapu-Lapu', 'PH-D5' => 'Philippines: Legaspi', 'PH-37' => 'Philippines: Leyte', 'PH-D6' => 'Philippines: Lipa', 'PH-D7' => 'Philippines: Lucena', 'PH-56' => 'Philippines: Maguindanao', 'PH-D8' => 'Philippines: Mandaue', 'PH-D9' => 'Philippines: Manila', 'PH-E1' => 'Philippines: Marawi', 'PH-38' => 'Philippines: Marinduque', 'PH-39' => 'Philippines: Masbate', 'PH-40' => 'Philippines: Mindoro Occidental', 'PH-41' => 'Philippines: Mindoro Oriental', 'PH-42' => 'Philippines: Misamis Occidental', 'PH-43' => 'Philippines: Misamis Oriental', 'PH-44' => 'Philippines: Mountain', 'PH-E2' => 'Philippines: Naga', 'PH-H3' => 'Philippines: Negros Occidental', 'PH-46' => 'Philippines: Negros Oriental', 'PH-57' => 'Philippines: North Cotabato', 'PH-67' => 'Philippines: Northern Samar', 'PH-47' => 'Philippines: Nueva Ecija', 'PH-48' => 'Philippines: Nueva Vizcaya', 'PH-E3' => 'Philippines: Olongapo', 'PH-E4' => 'Philippines: Ormoc', 'PH-E5' => 'Philippines: Oroquieta', 'PH-E6' => 'Philippines: Ozamis', 'PH-E7' => 'Philippines: Pagadian', 'PH-49' => 'Philippines: Palawan', 'PH-E8' => 'Philippines: Palayan', 'PH-50' => 'Philippines: Pampanga', 'PH-51' => 'Philippines: Pangasinan', 'PH-E9' => 'Philippines: Pasay', 'PH-F1' => 'Philippines: Puerto Princesa', 'PH-F2' => 'Philippines: Quezon City', 'PH-H2' => 'Philippines: Quezon', 'PH-68' => 'Philippines: Quirino', 'PH-53' => 'Philippines: Rizal', 'PH-54' => 'Philippines: Romblon', 'PH-F3' => 'Philippines: Roxas', 'PH-55' => 'Philippines: Samar', 'PH-F4' => 'Philippines: San Carlos', 'PH-F5' => 'Philippines: San Carlos', 'PH-F6' => 'Philippines: San Jose', 'PH-F7' => 'Philippines: San Pablo', 'PH-F8' => 'Philippines: Silay', 'PH-69' => 'Philippines: Siquijor', 'PH-58' => 'Philippines: Sorsogon', 'PH-70' => 'Philippines: South Cotabato', 'PH-59' => 'Philippines: Southern Leyte', 'PH-71' => 'Philippines: Sultan Kudarat', 'PH-60' => 'Philippines: Sulu', 'PH-61' => 'Philippines: Surigao del Norte', 'PH-62' => 'Philippines: Surigao del Sur', 'PH-F9' => 'Philippines: Surigao', 'PH-G1' => 'Philippines: Tacloban', 'PH-G2' => 'Philippines: Tagaytay', 'PH-G3' => 'Philippines: Tagbilaran', 'PH-G4' => 'Philippines: Tangub', 'PH-63' => 'Philippines: Tarlac', 'PH-72' => 'Philippines: Tawitawi', 'PH-G5' => 'Philippines: Toledo', 'PH-G6' => 'Philippines: Trece Martires', 'PH-64' => 'Philippines: Zambales', 'PH-65' => 'Philippines: Zamboanga del Norte', 'PH-66' => 'Philippines: Zamboanga del Sur', 'PH-G7' => 'Philippines: Zamboanga', '--PL' => '','-PL' => 'Poland', 'PL-23' => 'Poland: Biala Podlaska', 'PL-24' => 'Poland: Bialystok', 'PL-25' => 'Poland: Bielsko', 'PL-26' => 'Poland: Bydgoszcz', 'PL-27' => 'Poland: Chelm', 'PL-28' => 'Poland: Ciechanow', 'PL-29' => 'Poland: Czestochowa', 'PL-72' => 'Poland: Dolnoslaskie', 'PL-30' => 'Poland: Elblag', 'PL-31' => 'Poland: Gdansk', 'PL-32' => 'Poland: Gorzow', 'PL-33' => 'Poland: Jelenia Gora', 'PL-34' => 'Poland: Kalisz', 'PL-35' => 'Poland: Katowice', 'PL-36' => 'Poland: Kielce', 'PL-37' => 'Poland: Konin', 'PL-38' => 'Poland: Koszalin', 'PL-39' => 'Poland: Krakow', 'PL-40' => 'Poland: Krosno', 'PL-73' => 'Poland: Kujawsko-Pomorskie', 'PL-41' => 'Poland: Legnica', 'PL-42' => 'Poland: Leszno', 'PL-43' => 'Poland: Lodz', 'PL-74' => 'Poland: Lodzkie', 'PL-44' => 'Poland: Lomza', 'PL-75' => 'Poland: Lubelskie', 'PL-45' => 'Poland: Lublin', 'PL-76' => 'Poland: Lubuskie', 'PL-77' => 'Poland: Malopolskie', 'PL-78' => 'Poland: Mazowieckie', 'PL-46' => 'Poland: Nowy Sacz', 'PL-47' => 'Poland: Olsztyn', 'PL-48' => 'Poland: Opole', 'PL-79' => 'Poland: Opolskie', 'PL-49' => 'Poland: Ostroleka', 'PL-50' => 'Poland: Pila', 'PL-51' => 'Poland: Piotrkow', 'PL-52' => 'Poland: Plock', 'PL-80' => 'Poland: Podkarpackie', 'PL-81' => 'Poland: Podlaskie', 'PL-82' => 'Poland: Pomorskie', 'PL-53' => 'Poland: Poznan', 'PL-54' => 'Poland: Przemysl', 'PL-55' => 'Poland: Radom', 'PL-56' => 'Poland: Rzeszow', 'PL-57' => 'Poland: Siedlce', 'PL-58' => 'Poland: Sieradz', 'PL-59' => 'Poland: Skierniewice', 'PL-83' => 'Poland: Slaskie', 'PL-60' => 'Poland: Slupsk', 'PL-61' => 'Poland: Suwalki', 'PL-84' => 'Poland: Swietokrzyskie', 'PL-62' => 'Poland: Szczecin', 'PL-63' => 'Poland: Tarnobrzeg', 'PL-64' => 'Poland: Tarnow', 'PL-65' => 'Poland: Torun', 'PL-66' => 'Poland: Walbrzych', 'PL-85' => 'Poland: Warminsko-Mazurskie', 'PL-67' => 'Poland: Warszawa', 'PL-86' => 'Poland: Wielkopolskie', 'PL-68' => 'Poland: Wloclawek', 'PL-69' => 'Poland: Wroclaw', 'PL-87' => 'Poland: Zachodniopomorskie', 'PL-70' => 'Poland: Zamosc', 'PL-71' => 'Poland: Zielona Gora', '--PT' => '','-PT' => 'Portugal', 'PT-02' => 'Portugal: Aveiro', 'PT-23' => 'Portugal: Azores', 'PT-03' => 'Portugal: Beja', 'PT-04' => 'Portugal: Braga', 'PT-05' => 'Portugal: Braganca', 'PT-06' => 'Portugal: Castelo Branco', 'PT-07' => 'Portugal: Coimbra', 'PT-08' => 'Portugal: Evora', 'PT-09' => 'Portugal: Faro', 'PT-11' => 'Portugal: Guarda', 'PT-13' => 'Portugal: Leiria', 'PT-14' => 'Portugal: Lisboa', 'PT-10' => 'Portugal: Madeira', 'PT-16' => 'Portugal: Portalegre', 'PT-17' => 'Portugal: Porto', 'PT-18' => 'Portugal: Santarem', 'PT-19' => 'Portugal: Setubal', 'PT-20' => 'Portugal: Viana do Castelo', 'PT-21' => 'Portugal: Vila Real', 'PT-22' => 'Portugal: Viseu', '--QA' => '','-QA' => 'Qatar', 'QA-01' => 'Qatar: Ad Dawhah', 'QA-02' => 'Qatar: Al Ghuwariyah', 'QA-03' => 'Qatar: Al Jumaliyah', 'QA-04' => 'Qatar: Al Khawr', 'QA-10' => 'Qatar: Al Wakrah', 'QA-06' => 'Qatar: Ar Rayyan', 'QA-11' => 'Qatar: Jariyan al Batnah', 'QA-08' => 'Qatar: Madinat ach Shamal', 'QA-12' => 'Qatar: Umm Sa\'id', 'QA-09' => 'Qatar: Umm Salal', '--RO' => '','-RO' => 'Romania', 'RO-01' => 'Romania: Alba', 'RO-02' => 'Romania: Arad', 'RO-03' => 'Romania: Arges', 'RO-04' => 'Romania: Bacau', 'RO-05' => 'Romania: Bihor', 'RO-06' => 'Romania: Bistrita-Nasaud', 'RO-07' => 'Romania: Botosani', 'RO-08' => 'Romania: Braila', 'RO-09' => 'Romania: Brasov', 'RO-10' => 'Romania: Bucuresti', 'RO-11' => 'Romania: Buzau', 'RO-41' => 'Romania: Calarasi', 'RO-12' => 'Romania: Caras-Severin', 'RO-13' => 'Romania: Cluj', 'RO-14' => 'Romania: Constanta', 'RO-15' => 'Romania: Covasna', 'RO-16' => 'Romania: Dambovita', 'RO-17' => 'Romania: Dolj', 'RO-18' => 'Romania: Galati', 'RO-42' => 'Romania: Giurgiu', 'RO-19' => 'Romania: Gorj', 'RO-20' => 'Romania: Harghita', 'RO-21' => 'Romania: Hunedoara', 'RO-22' => 'Romania: Ialomita', 'RO-23' => 'Romania: Iasi', 'RO-43' => 'Romania: Ilfov', 'RO-25' => 'Romania: Maramures', 'RO-26' => 'Romania: Mehedinti', 'RO-27' => 'Romania: Mures', 'RO-28' => 'Romania: Neamt', 'RO-29' => 'Romania: Olt', 'RO-30' => 'Romania: Prahova', 'RO-31' => 'Romania: Salaj', 'RO-32' => 'Romania: Satu Mare', 'RO-33' => 'Romania: Sibiu', 'RO-34' => 'Romania: Suceava', 'RO-35' => 'Romania: Teleorman', 'RO-36' => 'Romania: Timis', 'RO-37' => 'Romania: Tulcea', 'RO-39' => 'Romania: Valcea', 'RO-38' => 'Romania: Vaslui', 'RO-40' => 'Romania: Vrancea', '--RU' => '','-RU' => 'Russian Federation', 'RU-01' => 'Russian Federation: Adygeya', 'RU-02' => 'Russian Federation: Aginsky Buryatsky AO', 'RU-04' => 'Russian Federation: Altaisky krai', 'RU-05' => 'Russian Federation: Amur', 'RU-06' => 'Russian Federation: Arkhangel\'sk', 'RU-07' => 'Russian Federation: Astrakhan\'', 'RU-08' => 'Russian Federation: Bashkortostan', 'RU-09' => 'Russian Federation: Belgorod', 'RU-10' => 'Russian Federation: Bryansk', 'RU-11' => 'Russian Federation: Buryat', 'RU-12' => 'Russian Federation: Chechnya', 'RU-13' => 'Russian Federation: Chelyabinsk', 'RU-14' => 'Russian Federation: Chita', 'RU-15' => 'Russian Federation: Chukot', 'RU-16' => 'Russian Federation: Chuvashia', 'RU-17' => 'Russian Federation: Dagestan', 'RU-18' => 'Russian Federation: Evenk', 'RU-03' => 'Russian Federation: Gorno-Altay', 'RU-19' => 'Russian Federation: Ingush', 'RU-20' => 'Russian Federation: Irkutsk', 'RU-21' => 'Russian Federation: Ivanovo', 'RU-22' => 'Russian Federation: Kabardin-Balkar', 'RU-23' => 'Russian Federation: Kaliningrad', 'RU-24' => 'Russian Federation: Kalmyk', 'RU-25' => 'Russian Federation: Kaluga', 'RU-26' => 'Russian Federation: Kamchatka', 'RU-27' => 'Russian Federation: Karachay-Cherkess', 'RU-28' => 'Russian Federation: Karelia', 'RU-29' => 'Russian Federation: Kemerovo', 'RU-30' => 'Russian Federation: Khabarovsk', 'RU-31' => 'Russian Federation: Khakass', 'RU-32' => 'Russian Federation: Khanty-Mansiy', 'RU-33' => 'Russian Federation: Kirov', 'RU-34' => 'Russian Federation: Komi', 'RU-35' => 'Russian Federation: Komi-Permyak', 'RU-36' => 'Russian Federation: Koryak', 'RU-37' => 'Russian Federation: Kostroma', 'RU-38' => 'Russian Federation: Krasnodar', 'RU-39' => 'Russian Federation: Krasnoyarsk', 'RU-40' => 'Russian Federation: Kurgan', 'RU-41' => 'Russian Federation: Kursk', 'RU-42' => 'Russian Federation: Leningrad', 'RU-43' => 'Russian Federation: Lipetsk', 'RU-44' => 'Russian Federation: Magadan', 'RU-45' => 'Russian Federation: Mariy-El', 'RU-46' => 'Russian Federation: Mordovia', 'RU-48' => 'Russian Federation: Moscow City', 'RU-47' => 'Russian Federation: Moskva', 'RU-49' => 'Russian Federation: Murmansk', 'RU-50' => 'Russian Federation: Nenets', 'RU-51' => 'Russian Federation: Nizhegorod', 'RU-68' => 'Russian Federation: North Ossetia', 'RU-52' => 'Russian Federation: Novgorod', 'RU-53' => 'Russian Federation: Novosibirsk', 'RU-54' => 'Russian Federation: Omsk', 'RU-56' => 'Russian Federation: Orel', 'RU-55' => 'Russian Federation: Orenburg', 'RU-57' => 'Russian Federation: Penza', 'RU-58' => 'Russian Federation: Perm\'', 'RU-59' => 'Russian Federation: Primor\'ye', 'RU-60' => 'Russian Federation: Pskov', 'RU-61' => 'Russian Federation: Rostov', 'RU-62' => 'Russian Federation: Ryazan\'', 'RU-66' => 'Russian Federation: Saint Petersburg City', 'RU-63' => 'Russian Federation: Sakha', 'RU-64' => 'Russian Federation: Sakhalin', 'RU-65' => 'Russian Federation: Samara', 'RU-67' => 'Russian Federation: Saratov', 'RU-69' => 'Russian Federation: Smolensk', 'RU-70' => 'Russian Federation: Stavropol\'', 'RU-71' => 'Russian Federation: Sverdlovsk', 'RU-72' => 'Russian Federation: Tambovskaya oblast', 'RU-73' => 'Russian Federation: Tatarstan', 'RU-74' => 'Russian Federation: Taymyr', 'RU-75' => 'Russian Federation: Tomsk', 'RU-76' => 'Russian Federation: Tula', 'RU-79' => 'Russian Federation: Tuva', 'RU-77' => 'Russian Federation: Tver\'', 'RU-78' => 'Russian Federation: Tyumen\'', 'RU-80' => 'Russian Federation: Udmurt', 'RU-81' => 'Russian Federation: Ul\'yanovsk', 'RU-82' => 'Russian Federation: Ust-Orda Buryat', 'RU-83' => 'Russian Federation: Vladimir', 'RU-84' => 'Russian Federation: Volgograd', 'RU-85' => 'Russian Federation: Vologda', 'RU-86' => 'Russian Federation: Voronezh', 'RU-87' => 'Russian Federation: Yamal-Nenets', 'RU-88' => 'Russian Federation: Yaroslavl\'', 'RU-89' => 'Russian Federation: Yevrey', '--RW' => '','-RW' => 'Rwanda', 'RW-01' => 'Rwanda: Butare', 'RW-02' => 'Rwanda: Byumba', 'RW-03' => 'Rwanda: Cyangugu', 'RW-04' => 'Rwanda: Gikongoro', 'RW-05' => 'Rwanda: Gisenyi', 'RW-06' => 'Rwanda: Gitarama', 'RW-07' => 'Rwanda: Kibungo', 'RW-08' => 'Rwanda: Kibuye', 'RW-09' => 'Rwanda: Kigali', 'RW-10' => 'Rwanda: Ruhengeri', '--SH' => '','-SH' => 'Saint Helena', 'SH-01' => 'Saint Helena: Ascension', 'SH-02' => 'Saint Helena: Saint Helena', 'SH-03' => 'Saint Helena: Tristan da Cunha', '--KN' => '','-KN' => 'Saint Kitts and Nevis', 'KN-01' => 'Saint Kitts and Nevis: Christ Church Nichola Town', 'KN-02' => 'Saint Kitts and Nevis: Saint Anne Sandy Point', 'KN-03' => 'Saint Kitts and Nevis: Saint George Basseterre', 'KN-04' => 'Saint Kitts and Nevis: Saint George Gingerland', 'KN-05' => 'Saint Kitts and Nevis: Saint James Windward', 'KN-06' => 'Saint Kitts and Nevis: Saint John Capisterre', 'KN-07' => 'Saint Kitts and Nevis: Saint John Figtree', 'KN-08' => 'Saint Kitts and Nevis: Saint Mary Cayon', 'KN-09' => 'Saint Kitts and Nevis: Saint Paul Capisterre', 'KN-10' => 'Saint Kitts and Nevis: Saint Paul Charlestown', 'KN-11' => 'Saint Kitts and Nevis: Saint Peter Basseterre', 'KN-12' => 'Saint Kitts and Nevis: Saint Thomas Lowland', 'KN-13' => 'Saint Kitts and Nevis: Saint Thomas Middle Island', 'KN-15' => 'Saint Kitts and Nevis: Trinity Palmetto Point', '--LC' => '','-LC' => 'Saint Lucia', 'LC-01' => 'Saint Lucia: Anse-la-Raye', 'LC-03' => 'Saint Lucia: Castries', 'LC-04' => 'Saint Lucia: Choiseul', 'LC-02' => 'Saint Lucia: Dauphin', 'LC-05' => 'Saint Lucia: Dennery', 'LC-06' => 'Saint Lucia: Gros-Islet', 'LC-07' => 'Saint Lucia: Laborie', 'LC-08' => 'Saint Lucia: Micoud', 'LC-11' => 'Saint Lucia: Praslin', 'LC-09' => 'Saint Lucia: Soufriere', 'LC-10' => 'Saint Lucia: Vieux-Fort', '--VC' => '','-VC' => 'Saint Vincent and the Grenadines', 'VC-01' => 'Saint Vincent and the Grenadines: Charlotte', 'VC-06' => 'Saint Vincent and the Grenadines: Grenadines', 'VC-02' => 'Saint Vincent and the Grenadines: Saint Andrew', 'VC-03' => 'Saint Vincent and the Grenadines: Saint David', 'VC-04' => 'Saint Vincent and the Grenadines: Saint George', 'VC-05' => 'Saint Vincent and the Grenadines: Saint Patrick', '--WS' => '','-WS' => 'Samoa', 'WS-02' => 'Samoa: Aiga-i-le-Tai', 'WS-03' => 'Samoa: Atua', 'WS-04' => 'Samoa: Fa', 'WS-05' => 'Samoa: Gaga', 'WS-07' => 'Samoa: Gagaifomauga', 'WS-08' => 'Samoa: Palauli', 'WS-09' => 'Samoa: Satupa', 'WS-10' => 'Samoa: Tuamasaga', 'WS-06' => 'Samoa: Va', 'WS-11' => 'Samoa: Vaisigano', '--SM' => '','-SM' => 'San Marino', 'SM-01' => 'San Marino: Acquaviva', 'SM-06' => 'San Marino: Borgo Maggiore', 'SM-02' => 'San Marino: Chiesanuova', 'SM-03' => 'San Marino: Domagnano', 'SM-04' => 'San Marino: Faetano', 'SM-05' => 'San Marino: Fiorentino', 'SM-08' => 'San Marino: Monte Giardino', 'SM-07' => 'San Marino: San Marino', 'SM-09' => 'San Marino: Serravalle', '--ST' => '','-ST' => 'Sao Tome and Principe', 'ST-01' => 'Sao Tome and Principe: Principe', 'ST-02' => 'Sao Tome and Principe: Sao Tome', '--SA' => '','-SA' => 'Saudi Arabia', 'SA-02' => 'Saudi Arabia: Al Bahah', 'SA-15' => 'Saudi Arabia: Al Hudud ash Shamaliyah', 'SA-03' => 'Saudi Arabia: Al Jawf', 'SA-20' => 'Saudi Arabia: Al Jawf', 'SA-05' => 'Saudi Arabia: Al Madinah', 'SA-08' => 'Saudi Arabia: Al Qasim', 'SA-09' => 'Saudi Arabia: Al Qurayyat', 'SA-10' => 'Saudi Arabia: Ar Riyad', 'SA-06' => 'Saudi Arabia: Ash Sharqiyah', 'SA-13' => 'Saudi Arabia: Ha\'il', 'SA-17' => 'Saudi Arabia: Jizan', 'SA-14' => 'Saudi Arabia: Makkah', 'SA-16' => 'Saudi Arabia: Najran', 'SA-19' => 'Saudi Arabia: Tabuk', '--SN' => '','-SN' => 'Senegal', 'SN-01' => 'Senegal: Dakar', 'SN-03' => 'Senegal: Diourbel', 'SN-09' => 'Senegal: Fatick', 'SN-10' => 'Senegal: Kaolack', 'SN-11' => 'Senegal: Kolda', 'SN-08' => 'Senegal: Louga', 'SN-04' => 'Senegal: Saint-Louis', 'SN-05' => 'Senegal: Tambacounda', 'SN-07' => 'Senegal: Thies', 'SN-12' => 'Senegal: Ziguinchor', '--RS' => '','-RS' => 'Serbia', 'RS-01' => 'Serbia: Kosovo', 'RS-02' => 'Serbia: Vojvodina', '--SC' => '','-SC' => 'Seychelles', 'SC-01' => 'Seychelles: Anse aux Pins', 'SC-02' => 'Seychelles: Anse Boileau', 'SC-03' => 'Seychelles: Anse Etoile', 'SC-04' => 'Seychelles: Anse Louis', 'SC-05' => 'Seychelles: Anse Royale', 'SC-06' => 'Seychelles: Baie Lazare', 'SC-07' => 'Seychelles: Baie Sainte Anne', 'SC-08' => 'Seychelles: Beau Vallon', 'SC-09' => 'Seychelles: Bel Air', 'SC-10' => 'Seychelles: Bel Ombre', 'SC-11' => 'Seychelles: Cascade', 'SC-12' => 'Seychelles: Glacis', 'SC-13' => 'Seychelles: Grand\' Anse', 'SC-14' => 'Seychelles: Grand\' Anse', 'SC-15' => 'Seychelles: La Digue', 'SC-16' => 'Seychelles: La Riviere Anglaise', 'SC-17' => 'Seychelles: Mont Buxton', 'SC-18' => 'Seychelles: Mont Fleuri', 'SC-19' => 'Seychelles: Plaisance', 'SC-20' => 'Seychelles: Pointe La Rue', 'SC-21' => 'Seychelles: Port Glaud', 'SC-22' => 'Seychelles: Saint Louis', 'SC-23' => 'Seychelles: Takamaka', '--SL' => '','-SL' => 'Sierra Leone', 'SL-01' => 'Sierra Leone: Eastern', 'SL-02' => 'Sierra Leone: Northern', 'SL-03' => 'Sierra Leone: Southern', 'SL-04' => 'Sierra Leone: Western Area', '--SK' => '','-SK' => 'Slovakia', 'SK-01' => 'Slovakia: Banska Bystrica', 'SK-02' => 'Slovakia: Bratislava', 'SK-03' => 'Slovakia: Kosice', 'SK-04' => 'Slovakia: Nitra', 'SK-05' => 'Slovakia: Presov', 'SK-06' => 'Slovakia: Trencin', 'SK-07' => 'Slovakia: Trnava', 'SK-08' => 'Slovakia: Zilina', '--SI' => '','-SI' => 'Slovenia', 'SI-01' => 'Slovenia: Ajdovscina', 'SI-02' => 'Slovenia: Beltinci', 'SI-03' => 'Slovenia: Bled', 'SI-04' => 'Slovenia: Bohinj', 'SI-05' => 'Slovenia: Borovnica', 'SI-06' => 'Slovenia: Bovec', 'SI-07' => 'Slovenia: Brda', 'SI-08' => 'Slovenia: Brezice', 'SI-09' => 'Slovenia: Brezovica', 'SI-11' => 'Slovenia: Celje', 'SI-12' => 'Slovenia: Cerklje na Gorenjskem', 'SI-13' => 'Slovenia: Cerknica', 'SI-14' => 'Slovenia: Cerkno', 'SI-15' => 'Slovenia: Crensovci', 'SI-16' => 'Slovenia: Crna na Koroskem', 'SI-17' => 'Slovenia: Crnomelj', 'SI-19' => 'Slovenia: Divaca', 'SI-20' => 'Slovenia: Dobrepolje', 'SI-G4' => 'Slovenia: Dobrova-Horjul-Polhov Gradec', 'SI-22' => 'Slovenia: Dol pri Ljubljani', 'SI-G7' => 'Slovenia: Domzale', 'SI-24' => 'Slovenia: Dornava', 'SI-25' => 'Slovenia: Dravograd', 'SI-26' => 'Slovenia: Duplek', 'SI-27' => 'Slovenia: Gorenja Vas-Poljane', 'SI-28' => 'Slovenia: Gorisnica', 'SI-29' => 'Slovenia: Gornja Radgona', 'SI-30' => 'Slovenia: Gornji Grad', 'SI-31' => 'Slovenia: Gornji Petrovci', 'SI-32' => 'Slovenia: Grosuplje', 'SI-34' => 'Slovenia: Hrastnik', 'SI-35' => 'Slovenia: Hrpelje-Kozina', 'SI-36' => 'Slovenia: Idrija', 'SI-37' => 'Slovenia: Ig', 'SI-38' => 'Slovenia: Ilirska Bistrica', 'SI-39' => 'Slovenia: Ivancna Gorica', 'SI-40' => 'Slovenia: Izola-Isola', 'SI-H4' => 'Slovenia: Jesenice', 'SI-42' => 'Slovenia: Jursinci', 'SI-H6' => 'Slovenia: Kamnik', 'SI-44' => 'Slovenia: Kanal', 'SI-45' => 'Slovenia: Kidricevo', 'SI-46' => 'Slovenia: Kobarid', 'SI-47' => 'Slovenia: Kobilje', 'SI-H7' => 'Slovenia: Kocevje', 'SI-49' => 'Slovenia: Komen', 'SI-50' => 'Slovenia: Koper-Capodistria', 'SI-51' => 'Slovenia: Kozje', 'SI-52' => 'Slovenia: Kranj', 'SI-53' => 'Slovenia: Kranjska Gora', 'SI-54' => 'Slovenia: Krsko', 'SI-55' => 'Slovenia: Kungota', 'SI-I2' => 'Slovenia: Kuzma', 'SI-57' => 'Slovenia: Lasko', 'SI-I3' => 'Slovenia: Lenart', 'SI-I5' => 'Slovenia: Litija', 'SI-61' => 'Slovenia: Ljubljana', 'SI-62' => 'Slovenia: Ljubno', 'SI-I6' => 'Slovenia: Ljutomer', 'SI-64' => 'Slovenia: Logatec', 'SI-I7' => 'Slovenia: Loska Dolina', 'SI-66' => 'Slovenia: Loski Potok', 'SI-I9' => 'Slovenia: Luce', 'SI-68' => 'Slovenia: Lukovica', 'SI-J1' => 'Slovenia: Majsperk', 'SI-J2' => 'Slovenia: Maribor', 'SI-71' => 'Slovenia: Medvode', 'SI-72' => 'Slovenia: Menges', 'SI-73' => 'Slovenia: Metlika', 'SI-74' => 'Slovenia: Mezica', 'SI-J5' => 'Slovenia: Miren-Kostanjevica', 'SI-76' => 'Slovenia: Mislinja', 'SI-77' => 'Slovenia: Moravce', 'SI-78' => 'Slovenia: Moravske Toplice', 'SI-79' => 'Slovenia: Mozirje', 'SI-80' => 'Slovenia: Murska Sobota', 'SI-81' => 'Slovenia: Muta', 'SI-82' => 'Slovenia: Naklo', 'SI-83' => 'Slovenia: Nazarje', 'SI-84' => 'Slovenia: Nova Gorica', 'SI-J7' => 'Slovenia: Novo Mesto', 'SI-86' => 'Slovenia: Odranci', 'SI-87' => 'Slovenia: Ormoz', 'SI-88' => 'Slovenia: Osilnica', 'SI-89' => 'Slovenia: Pesnica', 'SI-J9' => 'Slovenia: Piran', 'SI-91' => 'Slovenia: Pivka', 'SI-92' => 'Slovenia: Podcetrtek', 'SI-94' => 'Slovenia: Postojna', 'SI-K5' => 'Slovenia: Preddvor', 'SI-K7' => 'Slovenia: Ptuj', 'SI-97' => 'Slovenia: Puconci', 'SI-98' => 'Slovenia: Racam', 'SI-99' => 'Slovenia: Radece', 'SI-A1' => 'Slovenia: Radenci', 'SI-A2' => 'Slovenia: Radlje ob Dravi', 'SI-A3' => 'Slovenia: Radovljica', 'SI-L1' => 'Slovenia: Ribnica', 'SI-A7' => 'Slovenia: Rogaska Slatina', 'SI-A6' => 'Slovenia: Rogasovci', 'SI-A8' => 'Slovenia: Rogatec', 'SI-L3' => 'Slovenia: Ruse', 'SI-B1' => 'Slovenia: Semic', 'SI-B2' => 'Slovenia: Sencur', 'SI-B3' => 'Slovenia: Sentilj', 'SI-B4' => 'Slovenia: Sentjernej', 'SI-L7' => 'Slovenia: Sentjur pri Celju', 'SI-B6' => 'Slovenia: Sevnica', 'SI-B7' => 'Slovenia: Sezana', 'SI-B8' => 'Slovenia: Skocjan', 'SI-B9' => 'Slovenia: Skofja Loka', 'SI-C1' => 'Slovenia: Skofljica', 'SI-C2' => 'Slovenia: Slovenj Gradec', 'SI-L8' => 'Slovenia: Slovenska Bistrica', 'SI-C4' => 'Slovenia: Slovenske Konjice', 'SI-C5' => 'Slovenia: Smarje pri Jelsah', 'SI-C6' => 'Slovenia: Smartno ob Paki', 'SI-C7' => 'Slovenia: Sostanj', 'SI-C8' => 'Slovenia: Starse', 'SI-C9' => 'Slovenia: Store', 'SI-D1' => 'Slovenia: Sveti Jurij', 'SI-D2' => 'Slovenia: Tolmin', 'SI-D3' => 'Slovenia: Trbovlje', 'SI-D4' => 'Slovenia: Trebnje', 'SI-D5' => 'Slovenia: Trzic', 'SI-D6' => 'Slovenia: Turnisce', 'SI-D7' => 'Slovenia: Velenje', 'SI-D8' => 'Slovenia: Velike Lasce', 'SI-N2' => 'Slovenia: Videm', 'SI-E1' => 'Slovenia: Vipava', 'SI-E2' => 'Slovenia: Vitanje', 'SI-E3' => 'Slovenia: Vodice', 'SI-N3' => 'Slovenia: Vojnik', 'SI-E5' => 'Slovenia: Vrhnika', 'SI-E6' => 'Slovenia: Vuzenica', 'SI-E7' => 'Slovenia: Zagorje ob Savi', 'SI-N5' => 'Slovenia: Zalec', 'SI-E9' => 'Slovenia: Zavrc', 'SI-F1' => 'Slovenia: Zelezniki', 'SI-F2' => 'Slovenia: Ziri', 'SI-F3' => 'Slovenia: Zrece', '--SB' => '','-SB' => 'Solomon Islands', 'SB-05' => 'Solomon Islands: Central', 'SB-06' => 'Solomon Islands: Guadalcanal', 'SB-07' => 'Solomon Islands: Isabel', 'SB-08' => 'Solomon Islands: Makira', 'SB-03' => 'Solomon Islands: Malaita', 'SB-09' => 'Solomon Islands: Temotu', 'SB-04' => 'Solomon Islands: Western', '--SO' => '','-SO' => 'Somalia', 'SO-01' => 'Somalia: Bakool', 'SO-02' => 'Somalia: Banaadir', 'SO-03' => 'Somalia: Bari', 'SO-04' => 'Somalia: Bay', 'SO-05' => 'Somalia: Galguduud', 'SO-06' => 'Somalia: Gedo', 'SO-07' => 'Somalia: Hiiraan', 'SO-08' => 'Somalia: Jubbada Dhexe', 'SO-09' => 'Somalia: Jubbada Hoose', 'SO-10' => 'Somalia: Mudug', 'SO-11' => 'Somalia: Nugaal', 'SO-12' => 'Somalia: Sanaag', 'SO-13' => 'Somalia: Shabeellaha Dhexe', 'SO-14' => 'Somalia: Shabeellaha Hoose', 'SO-15' => 'Somalia: Togdheer', 'SO-16' => 'Somalia: Woqooyi Galbeed', '--ZA' => '','-ZA' => 'South Africa', 'ZA-05' => 'South Africa: Eastern Cape', 'ZA-03' => 'South Africa: Free State', 'ZA-06' => 'South Africa: Gauteng', 'ZA-02' => 'South Africa: KwaZulu-Natal', 'ZA-09' => 'South Africa: Limpopo', 'ZA-07' => 'South Africa: Mpumalanga', 'ZA-08' => 'South Africa: Northern Cape', 'ZA-10' => 'South Africa: North-West', 'ZA-11' => 'South Africa: Western Cape', '--KR' => '','-KR' => 'South Korea', 'KR-01' => 'South Korea: Cheju-do', 'KR-03' => 'South Korea: Cholla-bukto', 'KR-16' => 'South Korea: Cholla-namdo', 'KR-05' => 'South Korea: Ch\'ungch\'ong-bukto', 'KR-17' => 'South Korea: Ch\'ungch\'ong-namdo', 'KR-12' => 'South Korea: Inch\'on-jikhalsi', 'KR-06' => 'South Korea: Kangwon-do', 'KR-18' => 'South Korea: Kwangju-jikhalsi', 'KR-13' => 'South Korea: Kyonggi-do', 'KR-14' => 'South Korea: Kyongsang-bukto', 'KR-20' => 'South Korea: Kyongsang-namdo', 'KR-10' => 'South Korea: Pusan-jikhalsi', 'KR-11' => 'South Korea: Seoul-t\'ukpyolsi', 'KR-15' => 'South Korea: Taegu-jikhalsi', 'KR-19' => 'South Korea: Taejon-jikhalsi', 'KR-21' => 'South Korea: Ulsan-gwangyoksi', '--ES' => '','-ES' => 'Spain', 'ES-51' => 'Spain: Andalucia', 'ES-52' => 'Spain: Aragon', 'ES-34' => 'Spain: Asturias', 'ES-53' => 'Spain: Canarias', 'ES-39' => 'Spain: Cantabria', 'ES-55' => 'Spain: Castilla y Leon', 'ES-54' => 'Spain: Castilla-La Mancha', 'ES-56' => 'Spain: Catalonia', 'ES-60' => 'Spain: Comunidad Valenciana', 'ES-57' => 'Spain: Extremadura', 'ES-58' => 'Spain: Galicia', 'ES-07' => 'Spain: Islas Baleares', 'ES-27' => 'Spain: La Rioja', 'ES-29' => 'Spain: Madrid', 'ES-31' => 'Spain: Murcia', 'ES-32' => 'Spain: Navarra', 'ES-59' => 'Spain: Pais Vasco', '--LK' => '','-LK' => 'Sri Lanka', 'LK-01' => 'Sri Lanka: Amparai', 'LK-02' => 'Sri Lanka: Anuradhapura', 'LK-03' => 'Sri Lanka: Badulla', 'LK-04' => 'Sri Lanka: Batticaloa', 'LK-23' => 'Sri Lanka: Colombo', 'LK-06' => 'Sri Lanka: Galle', 'LK-24' => 'Sri Lanka: Gampaha', 'LK-07' => 'Sri Lanka: Hambantota', 'LK-25' => 'Sri Lanka: Jaffna', 'LK-09' => 'Sri Lanka: Kalutara', 'LK-10' => 'Sri Lanka: Kandy', 'LK-11' => 'Sri Lanka: Kegalla', 'LK-12' => 'Sri Lanka: Kurunegala', 'LK-26' => 'Sri Lanka: Mannar', 'LK-14' => 'Sri Lanka: Matale', 'LK-15' => 'Sri Lanka: Matara', 'LK-16' => 'Sri Lanka: Moneragala', 'LK-27' => 'Sri Lanka: Mullaittivu', 'LK-17' => 'Sri Lanka: Nuwara Eliya', 'LK-18' => 'Sri Lanka: Polonnaruwa', 'LK-19' => 'Sri Lanka: Puttalam', 'LK-20' => 'Sri Lanka: Ratnapura', 'LK-21' => 'Sri Lanka: Trincomalee', 'LK-28' => 'Sri Lanka: Vavuniya', '--SD' => '','-SD' => 'Sudan', 'SD-28' => 'Sudan: Al Istiwa\'iyah', 'SD-29' => 'Sudan: Al Khartum', 'SD-27' => 'Sudan: Al Wusta', 'SD-30' => 'Sudan: Ash Shamaliyah', 'SD-31' => 'Sudan: Ash Sharqiyah', 'SD-32' => 'Sudan: Bahr al Ghazal', 'SD-33' => 'Sudan: Darfur', 'SD-34' => 'Sudan: Kurdufan', '--SR' => '','-SR' => 'Suriname', 'SR-10' => 'Suriname: Brokopondo', 'SR-11' => 'Suriname: Commewijne', 'SR-12' => 'Suriname: Coronie', 'SR-13' => 'Suriname: Marowijne', 'SR-14' => 'Suriname: Nickerie', 'SR-15' => 'Suriname: Para', 'SR-16' => 'Suriname: Paramaribo', 'SR-17' => 'Suriname: Saramacca', 'SR-18' => 'Suriname: Sipaliwini', 'SR-19' => 'Suriname: Wanica', '--SZ' => '','-SZ' => 'Swaziland', 'SZ-01' => 'Swaziland: Hhohho', 'SZ-02' => 'Swaziland: Lubombo', 'SZ-03' => 'Swaziland: Manzini', 'SZ-05' => 'Swaziland: Praslin', 'SZ-04' => 'Swaziland: Shiselweni', '--SE' => '','-SE' => 'Sweden', 'SE-01' => 'Sweden: Alvsborgs Lan', 'SE-02' => 'Sweden: Blekinge Lan', 'SE-10' => 'Sweden: Dalarnas Lan', 'SE-03' => 'Sweden: Gavleborgs Lan', 'SE-04' => 'Sweden: Goteborgs och Bohus Lan', 'SE-05' => 'Sweden: Gotlands Lan', 'SE-06' => 'Sweden: Hallands Lan', 'SE-07' => 'Sweden: Jamtlands Lan', 'SE-08' => 'Sweden: Jonkopings Lan', 'SE-09' => 'Sweden: Kalmar Lan', 'SE-11' => 'Sweden: Kristianstads Lan', 'SE-12' => 'Sweden: Kronobergs Lan', 'SE-13' => 'Sweden: Malmohus Lan', 'SE-14' => 'Sweden: Norrbottens Lan', 'SE-15' => 'Sweden: Orebro Lan', 'SE-16' => 'Sweden: Ostergotlands Lan', 'SE-27' => 'Sweden: Skane Lan', 'SE-17' => 'Sweden: Skaraborgs Lan', 'SE-18' => 'Sweden: Sodermanlands Lan', 'SE-26' => 'Sweden: Stockholms Lan', 'SE-21' => 'Sweden: Uppsala Lan', 'SE-22' => 'Sweden: Varmlands Lan', 'SE-23' => 'Sweden: Vasterbottens Lan', 'SE-24' => 'Sweden: Vasternorrlands Lan', 'SE-25' => 'Sweden: Vastmanlands Lan', 'SE-28' => 'Sweden: Vastra Gotaland', '--CH' => '','-CH' => 'Switzerland', 'CH-01' => 'Switzerland: Aargau', 'CH-02' => 'Switzerland: Ausser-Rhoden', 'CH-03' => 'Switzerland: Basel-Landschaft', 'CH-04' => 'Switzerland: Basel-Stadt', 'CH-05' => 'Switzerland: Bern', 'CH-06' => 'Switzerland: Fribourg', 'CH-07' => 'Switzerland: Geneve', 'CH-08' => 'Switzerland: Glarus', 'CH-09' => 'Switzerland: Graubunden', 'CH-10' => 'Switzerland: Inner-Rhoden', 'CH-26' => 'Switzerland: Jura', 'CH-11' => 'Switzerland: Luzern', 'CH-12' => 'Switzerland: Neuchatel', 'CH-13' => 'Switzerland: Nidwalden', 'CH-14' => 'Switzerland: Obwalden', 'CH-15' => 'Switzerland: Sankt Gallen', 'CH-16' => 'Switzerland: Schaffhausen', 'CH-17' => 'Switzerland: Schwyz', 'CH-18' => 'Switzerland: Solothurn', 'CH-19' => 'Switzerland: Thurgau', 'CH-20' => 'Switzerland: Ticino', 'CH-21' => 'Switzerland: Uri', 'CH-22' => 'Switzerland: Valais', 'CH-23' => 'Switzerland: Vaud', 'CH-24' => 'Switzerland: Zug', 'CH-25' => 'Switzerland: Zurich', '--SY' => '','-SY' => 'Syrian Arab Republic', 'SY-01' => 'Syrian Arab Republic: Al Hasakah', 'SY-02' => 'Syrian Arab Republic: Al Ladhiqiyah', 'SY-03' => 'Syrian Arab Republic: Al Qunaytirah', 'SY-04' => 'Syrian Arab Republic: Ar Raqqah', 'SY-05' => 'Syrian Arab Republic: As Suwayda\'', 'SY-06' => 'Syrian Arab Republic: Dar', 'SY-07' => 'Syrian Arab Republic: Dayr az Zawr', 'SY-13' => 'Syrian Arab Republic: Dimashq', 'SY-09' => 'Syrian Arab Republic: Halab', 'SY-10' => 'Syrian Arab Republic: Hamah', 'SY-11' => 'Syrian Arab Republic: Hims', 'SY-12' => 'Syrian Arab Republic: Idlib', 'SY-08' => 'Syrian Arab Republic: Rif Dimashq', 'SY-14' => 'Syrian Arab Republic: Tartus', '--TW' => '','-TW' => 'Taiwan', 'TW-01' => 'Taiwan: Fu-chien', 'TW-02' => 'Taiwan: Kao-hsiung', 'TW-03' => 'Taiwan: T\'ai-pei', 'TW-04' => 'Taiwan: T\'ai-wan', '--TJ' => '','-TJ' => 'Tajikistan', 'TJ-02' => 'Tajikistan: Khatlon', 'TJ-01' => 'Tajikistan: Kuhistoni Badakhshon', 'TJ-03' => 'Tajikistan: Sughd', '--TZ' => '','-TZ' => 'Tanwzania', 'TZ-01' => 'Tanwzania: Arusha', 'TZ-23' => 'Tanwzania: Dar es Salaam', 'TZ-03' => 'Tanwzania: Dodoma', 'TZ-04' => 'Tanwzania: Iringa', 'TZ-19' => 'Tanwzania: Kagera', 'TZ-05' => 'Tanwzania: Kigoma', 'TZ-06' => 'Tanwzania: Kilimanjaro', 'TZ-07' => 'Tanwzania: Lindi', 'TZ-08' => 'Tanwzania: Mara', 'TZ-09' => 'Tanwzania: Mbeya', 'TZ-10' => 'Tanwzania: Morogoro', 'TZ-11' => 'Tanwzania: Mtwara', 'TZ-12' => 'Tanwzania: Mwanza', 'TZ-13' => 'Tanwzania: Pemba North', 'TZ-20' => 'Tanwzania: Pemba South', 'TZ-02' => 'Tanwzania: Pwani', 'TZ-24' => 'Tanwzania: Rukwa', 'TZ-14' => 'Tanwzania: Ruvuma', 'TZ-15' => 'Tanwzania: Shinyanga', 'TZ-16' => 'Tanwzania: Singida', 'TZ-17' => 'Tanwzania: Tabora', 'TZ-18' => 'Tanwzania: Tanga', 'TZ-21' => 'Tanwzania: Zanzibar Central', 'TZ-22' => 'Tanwzania: Zanzibar North', 'TZ-25' => 'Tanwzania: Zanzibar Urban', '--TH' => '','-TH' => 'Thailand', 'TH-35' => 'Thailand: Ang Thong', 'TH-28' => 'Thailand: Buriram', 'TH-44' => 'Thailand: Chachoengsao', 'TH-32' => 'Thailand: Chai Nat', 'TH-26' => 'Thailand: Chaiyaphum', 'TH-48' => 'Thailand: Chanthaburi', 'TH-02' => 'Thailand: Chiang Mai', 'TH-03' => 'Thailand: Chiang Rai', 'TH-46' => 'Thailand: Chon Buri', 'TH-58' => 'Thailand: Chumphon', 'TH-23' => 'Thailand: Kalasin', 'TH-11' => 'Thailand: Kamphaeng Phet', 'TH-50' => 'Thailand: Kanchanaburi', 'TH-22' => 'Thailand: Khon Kaen', 'TH-63' => 'Thailand: Krabi', 'TH-40' => 'Thailand: Krung Thep', 'TH-06' => 'Thailand: Lampang', 'TH-05' => 'Thailand: Lamphun', 'TH-18' => 'Thailand: Loei', 'TH-34' => 'Thailand: Lop Buri', 'TH-01' => 'Thailand: Mae Hong Son', 'TH-24' => 'Thailand: Maha Sarakham', 'TH-78' => 'Thailand: Mukdahan', 'TH-43' => 'Thailand: Nakhon Nayok', 'TH-53' => 'Thailand: Nakhon Pathom', 'TH-21' => 'Thailand: Nakhon Phanom', 'TH-27' => 'Thailand: Nakhon Ratchasima', 'TH-16' => 'Thailand: Nakhon Sawan', 'TH-64' => 'Thailand: Nakhon Si Thammarat', 'TH-04' => 'Thailand: Nan', 'TH-31' => 'Thailand: Narathiwat', 'TH-17' => 'Thailand: Nong Khai', 'TH-38' => 'Thailand: Nonthaburi', 'TH-39' => 'Thailand: Pathum Thani', 'TH-69' => 'Thailand: Pattani', 'TH-61' => 'Thailand: Phangnga', 'TH-66' => 'Thailand: Phatthalung', 'TH-41' => 'Thailand: Phayao', 'TH-14' => 'Thailand: Phetchabun', 'TH-56' => 'Thailand: Phetchaburi', 'TH-13' => 'Thailand: Phichit', 'TH-12' => 'Thailand: Phitsanulok', 'TH-36' => 'Thailand: Phra Nakhon Si Ayutthaya', 'TH-07' => 'Thailand: Phrae', 'TH-62' => 'Thailand: Phuket', 'TH-45' => 'Thailand: Prachin Buri', 'TH-57' => 'Thailand: Prachuap Khiri Khan', 'TH-59' => 'Thailand: Ranong', 'TH-52' => 'Thailand: Ratchaburi', 'TH-47' => 'Thailand: Rayong', 'TH-25' => 'Thailand: Roi Et', 'TH-20' => 'Thailand: Sakon Nakhon', 'TH-42' => 'Thailand: Samut Prakan', 'TH-55' => 'Thailand: Samut Sakhon', 'TH-54' => 'Thailand: Samut Songkhram', 'TH-37' => 'Thailand: Saraburi', 'TH-67' => 'Thailand: Satun', 'TH-33' => 'Thailand: Sing Buri', 'TH-30' => 'Thailand: Sisaket', 'TH-68' => 'Thailand: Songkhla', 'TH-09' => 'Thailand: Sukhothai', 'TH-51' => 'Thailand: Suphan Buri', 'TH-60' => 'Thailand: Surat Thani', 'TH-29' => 'Thailand: Surin', 'TH-08' => 'Thailand: Tak', 'TH-65' => 'Thailand: Trang', 'TH-49' => 'Thailand: Trat', 'TH-75' => 'Thailand: Ubon Ratchathani', 'TH-76' => 'Thailand: Udon Thani', 'TH-15' => 'Thailand: Uthai Thani', 'TH-10' => 'Thailand: Uttaradit', 'TH-70' => 'Thailand: Yala', 'TH-72' => 'Thailand: Yasothon', '--TG' => '','-TG' => 'Togo', 'TG-01' => 'Togo: Amlame', 'TG-02' => 'Togo: Aneho', 'TG-03' => 'Togo: Atakpame', 'TG-15' => 'Togo: Badou', 'TG-04' => 'Togo: Bafilo', 'TG-05' => 'Togo: Bassar', 'TG-06' => 'Togo: Dapaong', 'TG-07' => 'Togo: Kante', 'TG-08' => 'Togo: Klouto', 'TG-14' => 'Togo: Kpagouda', 'TG-09' => 'Togo: Lama-Kara', 'TG-10' => 'Togo: Lome', 'TG-11' => 'Togo: Mango', 'TG-12' => 'Togo: Niamtougou', 'TG-13' => 'Togo: Notse', 'TG-16' => 'Togo: Sotouboua', 'TG-17' => 'Togo: Tabligbo', 'TG-19' => 'Togo: Tchamba', 'TG-20' => 'Togo: Tchaoudjo', 'TG-18' => 'Togo: Tsevie', 'TG-21' => 'Togo: Vogan', '--TO' => '','-TO' => 'Tonga', 'TO-01' => 'Tonga: Ha', 'TO-02' => 'Tonga: Tongatapu', 'TO-03' => 'Tonga: Vava', '--TT' => '','-TT' => 'Trinidad and Tobago', 'TT-01' => 'Trinidad and Tobago: Arima', 'TT-02' => 'Trinidad and Tobago: Caroni', 'TT-03' => 'Trinidad and Tobago: Mayaro', 'TT-04' => 'Trinidad and Tobago: Nariva', 'TT-05' => 'Trinidad and Tobago: Port-of-Spain', 'TT-06' => 'Trinidad and Tobago: Saint Andrew', 'TT-07' => 'Trinidad and Tobago: Saint David', 'TT-08' => 'Trinidad and Tobago: Saint George', 'TT-09' => 'Trinidad and Tobago: Saint Patrick', 'TT-10' => 'Trinidad and Tobago: San Fernando', 'TT-11' => 'Trinidad and Tobago: Tobago', 'TT-12' => 'Trinidad and Tobago: Victoria', '--TN' => '','-TN' => 'Tunisia', 'TN-15' => 'Tunisia: Al Mahdiyah', 'TN-16' => 'Tunisia: Al Munastir', 'TN-02' => 'Tunisia: Al Qasrayn', 'TN-03' => 'Tunisia: Al Qayrawan', 'TN-38' => 'Tunisia: Ariana', 'TN-17' => 'Tunisia: Bajah', 'TN-18' => 'Tunisia: Banzart', 'TN-27' => 'Tunisia: Bin', 'TN-06' => 'Tunisia: Jundubah', 'TN-14' => 'Tunisia: Kef', 'TN-28' => 'Tunisia: Madanin', 'TN-39' => 'Tunisia: Manouba', 'TN-19' => 'Tunisia: Nabul', 'TN-29' => 'Tunisia: Qabis', 'TN-10' => 'Tunisia: Qafsah', 'TN-31' => 'Tunisia: Qibili', 'TN-32' => 'Tunisia: Safaqis', 'TN-33' => 'Tunisia: Sidi Bu Zayd', 'TN-22' => 'Tunisia: Silyanah', 'TN-23' => 'Tunisia: Susah', 'TN-34' => 'Tunisia: Tatawin', 'TN-35' => 'Tunisia: Tawzar', 'TN-36' => 'Tunisia: Tunis', 'TN-37' => 'Tunisia: Zaghwan', '--TR' => '','-TR' => 'Turkey', 'TR-81' => 'Turkey: Adana', 'TR-02' => 'Turkey: Adiyaman', 'TR-03' => 'Turkey: Afyon', 'TR-04' => 'Turkey: Agri', 'TR-75' => 'Turkey: Aksaray', 'TR-05' => 'Turkey: Amasya', 'TR-68' => 'Turkey: Ankara', 'TR-07' => 'Turkey: Antalya', 'TR-86' => 'Turkey: Ardahan', 'TR-08' => 'Turkey: Artvin', 'TR-09' => 'Turkey: Aydin', 'TR-10' => 'Turkey: Balikesir', 'TR-87' => 'Turkey: Bartin', 'TR-76' => 'Turkey: Batman', 'TR-77' => 'Turkey: Bayburt', 'TR-11' => 'Turkey: Bilecik', 'TR-12' => 'Turkey: Bingol', 'TR-13' => 'Turkey: Bitlis', 'TR-14' => 'Turkey: Bolu', 'TR-15' => 'Turkey: Burdur', 'TR-16' => 'Turkey: Bursa', 'TR-17' => 'Turkey: Canakkale', 'TR-82' => 'Turkey: Cankiri', 'TR-19' => 'Turkey: Corum', 'TR-20' => 'Turkey: Denizli', 'TR-21' => 'Turkey: Diyarbakir', 'TR-93' => 'Turkey: Duzce', 'TR-22' => 'Turkey: Edirne', 'TR-23' => 'Turkey: Elazig', 'TR-24' => 'Turkey: Erzincan', 'TR-25' => 'Turkey: Erzurum', 'TR-26' => 'Turkey: Eskisehir', 'TR-83' => 'Turkey: Gaziantep', 'TR-28' => 'Turkey: Giresun', 'TR-69' => 'Turkey: Gumushane', 'TR-70' => 'Turkey: Hakkari', 'TR-31' => 'Turkey: Hatay', 'TR-32' => 'Turkey: Icel', 'TR-88' => 'Turkey: Igdir', 'TR-33' => 'Turkey: Isparta', 'TR-34' => 'Turkey: Istanbul', 'TR-35' => 'Turkey: Izmir', 'TR-46' => 'Turkey: Kahramanmaras', 'TR-89' => 'Turkey: Karabuk', 'TR-78' => 'Turkey: Karaman', 'TR-84' => 'Turkey: Kars', 'TR-37' => 'Turkey: Kastamonu', 'TR-38' => 'Turkey: Kayseri', 'TR-90' => 'Turkey: Kilis', 'TR-79' => 'Turkey: Kirikkale', 'TR-39' => 'Turkey: Kirklareli', 'TR-40' => 'Turkey: Kirsehir', 'TR-41' => 'Turkey: Kocaeli', 'TR-71' => 'Turkey: Konya', 'TR-43' => 'Turkey: Kutahya', 'TR-44' => 'Turkey: Malatya', 'TR-45' => 'Turkey: Manisa', 'TR-72' => 'Turkey: Mardin', 'TR-48' => 'Turkey: Mugla', 'TR-49' => 'Turkey: Mus', 'TR-50' => 'Turkey: Nevsehir', 'TR-73' => 'Turkey: Nigde', 'TR-52' => 'Turkey: Ordu', 'TR-91' => 'Turkey: Osmaniye', 'TR-53' => 'Turkey: Rize', 'TR-54' => 'Turkey: Sakarya', 'TR-55' => 'Turkey: Samsun', 'TR-63' => 'Turkey: Sanliurfa', 'TR-74' => 'Turkey: Siirt', 'TR-57' => 'Turkey: Sinop', 'TR-80' => 'Turkey: Sirnak', 'TR-58' => 'Turkey: Sivas', 'TR-59' => 'Turkey: Tekirdag', 'TR-60' => 'Turkey: Tokat', 'TR-61' => 'Turkey: Trabzon', 'TR-62' => 'Turkey: Tunceli', 'TR-64' => 'Turkey: Usak', 'TR-65' => 'Turkey: Van', 'TR-92' => 'Turkey: Yalova', 'TR-66' => 'Turkey: Yozgat', 'TR-85' => 'Turkey: Zonguldak', '--TM' => '','-TM' => 'Turkmenistan', 'TM-01' => 'Turkmenistan: Ahal', 'TM-02' => 'Turkmenistan: Balkan', 'TM-03' => 'Turkmenistan: Dashoguz', 'TM-04' => 'Turkmenistan: Lebap', 'TM-05' => 'Turkmenistan: Mary', '--UG' => '','-UG' => 'Uganda', 'UG-65' => 'Uganda: Adjumani', 'UG-77' => 'Uganda: Arua', 'UG-66' => 'Uganda: Bugiri', 'UG-67' => 'Uganda: Busia', 'UG-05' => 'Uganda: Busoga', 'UG-18' => 'Uganda: Central', 'UG-20' => 'Uganda: Eastern', 'UG-78' => 'Uganda: Iganga', 'UG-79' => 'Uganda: Kabarole', 'UG-80' => 'Uganda: Kaberamaido', 'UG-37' => 'Uganda: Kampala', 'UG-81' => 'Uganda: Kamwenge', 'UG-82' => 'Uganda: Kanungu', 'UG-08' => 'Uganda: Karamoja', 'UG-69' => 'Uganda: Katakwi', 'UG-83' => 'Uganda: Kayunga', 'UG-84' => 'Uganda: Kitgum', 'UG-85' => 'Uganda: Kyenjojo', 'UG-86' => 'Uganda: Mayuge', 'UG-87' => 'Uganda: Mbale', 'UG-88' => 'Uganda: Moroto', 'UG-89' => 'Uganda: Mpigi', 'UG-90' => 'Uganda: Mukono', 'UG-91' => 'Uganda: Nakapiripirit', 'UG-73' => 'Uganda: Nakasongola', 'UG-21' => 'Uganda: Nile', 'UG-22' => 'Uganda: North Buganda', 'UG-23' => 'Uganda: Northern', 'UG-92' => 'Uganda: Pader', 'UG-93' => 'Uganda: Rukungiri', 'UG-74' => 'Uganda: Sembabule', 'UG-94' => 'Uganda: Sironko', 'UG-95' => 'Uganda: Soroti', 'UG-12' => 'Uganda: South Buganda', 'UG-24' => 'Uganda: Southern', 'UG-96' => 'Uganda: Wakiso', 'UG-25' => 'Uganda: Western', 'UG-97' => 'Uganda: Yumbe', '--UA' => '','-UA' => 'Ukraine', 'UA-01' => 'Ukraine: Cherkas\'ka Oblast\'', 'UA-02' => 'Ukraine: Chernihivs\'ka Oblast\'', 'UA-03' => 'Ukraine: Chernivets\'ka Oblast\'', 'UA-04' => 'Ukraine: Dnipropetrovs\'ka Oblast\'', 'UA-05' => 'Ukraine: Donets\'ka Oblast\'', 'UA-06' => 'Ukraine: Ivano-Frankivs\'ka Oblast\'', 'UA-07' => 'Ukraine: Kharkivs\'ka Oblast\'', 'UA-08' => 'Ukraine: Khersons\'ka Oblast\'', 'UA-09' => 'Ukraine: Khmel\'nyts\'ka Oblast\'', 'UA-10' => 'Ukraine: Kirovohrads\'ka Oblast\'', 'UA-11' => 'Ukraine: Krym', 'UA-12' => 'Ukraine: Kyyiv', 'UA-13' => 'Ukraine: Kyyivs\'ka Oblast\'', 'UA-14' => 'Ukraine: Luhans\'ka Oblast\'', 'UA-15' => 'Ukraine: L\'vivs\'ka Oblast\'', 'UA-16' => 'Ukraine: Mykolayivs\'ka Oblast\'', 'UA-17' => 'Ukraine: Odes\'ka Oblast\'', 'UA-18' => 'Ukraine: Poltavs\'ka Oblast\'', 'UA-19' => 'Ukraine: Rivnens\'ka Oblast\'', 'UA-20' => 'Ukraine: Sevastopol\'', 'UA-21' => 'Ukraine: Sums\'ka Oblast\'', 'UA-22' => 'Ukraine: Ternopil\'s\'ka Oblast\'', 'UA-23' => 'Ukraine: Vinnyts\'ka Oblast\'', 'UA-24' => 'Ukraine: Volyns\'ka Oblast\'', 'UA-25' => 'Ukraine: Zakarpats\'ka Oblast\'', 'UA-26' => 'Ukraine: Zaporiz\'ka Oblast\'', 'UA-27' => 'Ukraine: Zhytomyrs\'ka Oblast\'', '--AE' => '','-AE' => 'United Arab Emirates', 'AE-01' => 'United Arab Emirates: Abu Dhabi', 'AE-02' => 'United Arab Emirates: Ajman', 'AE-03' => 'United Arab Emirates: Dubai', 'AE-04' => 'United Arab Emirates: Fujairah', 'AE-05' => 'United Arab Emirates: Ras Al Khaimah', 'AE-06' => 'United Arab Emirates: Sharjah', 'AE-07' => 'United Arab Emirates: Umm Al Quwain', '--GB' => '','-GB' => 'United Kingdom', 'GB-T5' => 'United Kingdom: Aberdeen City', 'GB-T6' => 'United Kingdom: Aberdeenshire', 'GB-T7' => 'United Kingdom: Angus', 'GB-Q6' => 'United Kingdom: Antrim', 'GB-Q7' => 'United Kingdom: Ards', 'GB-T8' => 'United Kingdom: Argyll and Bute', 'GB-Q8' => 'United Kingdom: Armagh', 'GB-01' => 'United Kingdom: Avon', 'GB-Q9' => 'United Kingdom: Ballymena', 'GB-R1' => 'United Kingdom: Ballymoney', 'GB-R2' => 'United Kingdom: Banbridge', 'GB-A1' => 'United Kingdom: Barking and Dagenham', 'GB-A2' => 'United Kingdom: Barnet', 'GB-A3' => 'United Kingdom: Barnsley', 'GB-A4' => 'United Kingdom: Bath and North East Somerset', 'GB-A5' => 'United Kingdom: Bedfordshire', 'GB-R3' => 'United Kingdom: Belfast', 'GB-03' => 'United Kingdom: Berkshire', 'GB-A6' => 'United Kingdom: Bexley', 'GB-A7' => 'United Kingdom: Birmingham', 'GB-A8' => 'United Kingdom: Blackburn with Darwen', 'GB-A9' => 'United Kingdom: Blackpool', 'GB-X2' => 'United Kingdom: Blaenau Gwent', 'GB-B1' => 'United Kingdom: Bolton', 'GB-B2' => 'United Kingdom: Bournemouth', 'GB-B3' => 'United Kingdom: Bracknell Forest', 'GB-B4' => 'United Kingdom: Bradford', 'GB-B5' => 'United Kingdom: Brent', 'GB-X3' => 'United Kingdom: Bridgend', 'GB-B6' => 'United Kingdom: Brighton and Hove', 'GB-B7' => 'United Kingdom: Bristol', 'GB-B8' => 'United Kingdom: Bromley', 'GB-B9' => 'United Kingdom: Buckinghamshire', 'GB-C1' => 'United Kingdom: Bury', 'GB-X4' => 'United Kingdom: Caerphilly', 'GB-C2' => 'United Kingdom: Calderdale', 'GB-C3' => 'United Kingdom: Cambridgeshire', 'GB-C4' => 'United Kingdom: Camden', 'GB-X5' => 'United Kingdom: Cardiff', 'GB-X7' => 'United Kingdom: Carmarthenshire', 'GB-R4' => 'United Kingdom: Carrickfergus', 'GB-R5' => 'United Kingdom: Castlereagh', 'GB-79' => 'United Kingdom: Central', 'GB-X6' => 'United Kingdom: Ceredigion', 'GB-C5' => 'United Kingdom: Cheshire', 'GB-U1' => 'United Kingdom: Clackmannanshire', 'GB-07' => 'United Kingdom: Cleveland', 'GB-90' => 'United Kingdom: Clwyd', 'GB-R6' => 'United Kingdom: Coleraine', 'GB-X8' => 'United Kingdom: Conwy', 'GB-R7' => 'United Kingdom: Cookstown', 'GB-C6' => 'United Kingdom: Cornwall', 'GB-C7' => 'United Kingdom: Coventry', 'GB-R8' => 'United Kingdom: Craigavon', 'GB-C8' => 'United Kingdom: Croydon', 'GB-C9' => 'United Kingdom: Cumbria', 'GB-D1' => 'United Kingdom: Darlington', 'GB-X9' => 'United Kingdom: Denbighshire', 'GB-D2' => 'United Kingdom: Derby', 'GB-D3' => 'United Kingdom: Derbyshire', 'GB-S6' => 'United Kingdom: Derry', 'GB-D4' => 'United Kingdom: Devon', 'GB-D5' => 'United Kingdom: Doncaster', 'GB-D6' => 'United Kingdom: Dorset', 'GB-R9' => 'United Kingdom: Down', 'GB-D7' => 'United Kingdom: Dudley', 'GB-U2' => 'United Kingdom: Dumfries and Galloway', 'GB-U3' => 'United Kingdom: Dundee City', 'GB-S1' => 'United Kingdom: Dungannon', 'GB-D8' => 'United Kingdom: Durham', 'GB-91' => 'United Kingdom: Dyfed', 'GB-D9' => 'United Kingdom: Ealing', 'GB-U4' => 'United Kingdom: East Ayrshire', 'GB-U5' => 'United Kingdom: East Dunbartonshire', 'GB-U6' => 'United Kingdom: East Lothian', 'GB-U7' => 'United Kingdom: East Renfrewshire', 'GB-E1' => 'United Kingdom: East Riding of Yorkshire', 'GB-E2' => 'United Kingdom: East Sussex', 'GB-U8' => 'United Kingdom: Edinburgh', 'GB-W8' => 'United Kingdom: Eilean Siar', 'GB-E3' => 'United Kingdom: Enfield', 'GB-E4' => 'United Kingdom: Essex', 'GB-U9' => 'United Kingdom: Falkirk', 'GB-S2' => 'United Kingdom: Fermanagh', 'GB-V1' => 'United Kingdom: Fife', 'GB-Y1' => 'United Kingdom: Flintshire', 'GB-E5' => 'United Kingdom: Gateshead', 'GB-V2' => 'United Kingdom: Glasgow City', 'GB-E6' => 'United Kingdom: Gloucestershire', 'GB-82' => 'United Kingdom: Grampian', 'GB-17' => 'United Kingdom: Greater London', 'GB-18' => 'United Kingdom: Greater Manchester', 'GB-E7' => 'United Kingdom: Greenwich', 'GB-92' => 'United Kingdom: Gwent', 'GB-Y2' => 'United Kingdom: Gwynedd', 'GB-E8' => 'United Kingdom: Hackney', 'GB-E9' => 'United Kingdom: Halton', 'GB-F1' => 'United Kingdom: Hammersmith and Fulham', 'GB-F2' => 'United Kingdom: Hampshire', 'GB-F3' => 'United Kingdom: Haringey', 'GB-F4' => 'United Kingdom: Harrow', 'GB-F5' => 'United Kingdom: Hartlepool', 'GB-F6' => 'United Kingdom: Havering', 'GB-20' => 'United Kingdom: Hereford and Worcester', 'GB-F7' => 'United Kingdom: Herefordshire', 'GB-F8' => 'United Kingdom: Hertford', 'GB-V3' => 'United Kingdom: Highland', 'GB-F9' => 'United Kingdom: Hillingdon', 'GB-G1' => 'United Kingdom: Hounslow', 'GB-22' => 'United Kingdom: Humberside', 'GB-V4' => 'United Kingdom: Inverclyde', 'GB-X1' => 'United Kingdom: Isle of Anglesey', 'GB-G2' => 'United Kingdom: Isle of Wight', 'GB-G3' => 'United Kingdom: Islington', 'GB-G4' => 'United Kingdom: Kensington and Chelsea', 'GB-G5' => 'United Kingdom: Kent', 'GB-G6' => 'United Kingdom: Kingston upon Hull', 'GB-G7' => 'United Kingdom: Kingston upon Thames', 'GB-G8' => 'United Kingdom: Kirklees', 'GB-G9' => 'United Kingdom: Knowsley', 'GB-H1' => 'United Kingdom: Lambeth', 'GB-H2' => 'United Kingdom: Lancashire', 'GB-S3' => 'United Kingdom: Larne', 'GB-H3' => 'United Kingdom: Leeds', 'GB-H4' => 'United Kingdom: Leicester', 'GB-H5' => 'United Kingdom: Leicestershire', 'GB-H6' => 'United Kingdom: Lewisham', 'GB-S4' => 'United Kingdom: Limavady', 'GB-H7' => 'United Kingdom: Lincolnshire', 'GB-S5' => 'United Kingdom: Lisburn', 'GB-H8' => 'United Kingdom: Liverpool', 'GB-H9' => 'United Kingdom: London', 'GB-84' => 'United Kingdom: Lothian', 'GB-I1' => 'United Kingdom: Luton', 'GB-S7' => 'United Kingdom: Magherafelt', 'GB-I2' => 'United Kingdom: Manchester', 'GB-I3' => 'United Kingdom: Medway', 'GB-28' => 'United Kingdom: Merseyside', 'GB-Y3' => 'United Kingdom: Merthyr Tydfil', 'GB-I4' => 'United Kingdom: Merton', 'GB-94' => 'United Kingdom: Mid Glamorgan', 'GB-I5' => 'United Kingdom: Middlesbrough', 'GB-V5' => 'United Kingdom: Midlothian', 'GB-I6' => 'United Kingdom: Milton Keynes', 'GB-Y4' => 'United Kingdom: Monmouthshire', 'GB-V6' => 'United Kingdom: Moray', 'GB-S8' => 'United Kingdom: Moyle', 'GB-Y5' => 'United Kingdom: Neath Port Talbot', 'GB-I7' => 'United Kingdom: Newcastle upon Tyne', 'GB-I8' => 'United Kingdom: Newham', 'GB-Y6' => 'United Kingdom: Newport', 'GB-S9' => 'United Kingdom: Newry and Mourne', 'GB-T1' => 'United Kingdom: Newtownabbey', 'GB-I9' => 'United Kingdom: Norfolk', 'GB-V7' => 'United Kingdom: North Ayrshire', 'GB-T2' => 'United Kingdom: North Down', 'GB-J2' => 'United Kingdom: North East Lincolnshire', 'GB-V8' => 'United Kingdom: North Lanarkshire', 'GB-J3' => 'United Kingdom: North Lincolnshire', 'GB-J4' => 'United Kingdom: North Somerset', 'GB-J5' => 'United Kingdom: North Tyneside', 'GB-J7' => 'United Kingdom: North Yorkshire', 'GB-J1' => 'United Kingdom: Northamptonshire', 'GB-J6' => 'United Kingdom: Northumberland', 'GB-J8' => 'United Kingdom: Nottingham', 'GB-J9' => 'United Kingdom: Nottinghamshire', 'GB-K1' => 'United Kingdom: Oldham', 'GB-T3' => 'United Kingdom: Omagh', 'GB-V9' => 'United Kingdom: Orkney', 'GB-K2' => 'United Kingdom: Oxfordshire', 'GB-Y7' => 'United Kingdom: Pembrokeshire', 'GB-W1' => 'United Kingdom: Perth and Kinross', 'GB-K3' => 'United Kingdom: Peterborough', 'GB-K4' => 'United Kingdom: Plymouth', 'GB-K5' => 'United Kingdom: Poole', 'GB-K6' => 'United Kingdom: Portsmouth', 'GB-Y8' => 'United Kingdom: Powys', 'GB-K7' => 'United Kingdom: Reading', 'GB-K8' => 'United Kingdom: Redbridge', 'GB-K9' => 'United Kingdom: Redcar and Cleveland', 'GB-W2' => 'United Kingdom: Renfrewshire', 'GB-Y9' => 'United Kingdom: Rhondda Cynon Taff', 'GB-L1' => 'United Kingdom: Richmond upon Thames', 'GB-L2' => 'United Kingdom: Rochdale', 'GB-L3' => 'United Kingdom: Rotherham', 'GB-L4' => 'United Kingdom: Rutland', 'GB-L5' => 'United Kingdom: Salford', 'GB-L7' => 'United Kingdom: Sandwell', 'GB-T9' => 'United Kingdom: Scottish Borders', 'GB-L8' => 'United Kingdom: Sefton', 'GB-L9' => 'United Kingdom: Sheffield', 'GB-W3' => 'United Kingdom: Shetland Islands', 'GB-L6' => 'United Kingdom: Shropshire', 'GB-M1' => 'United Kingdom: Slough', 'GB-M2' => 'United Kingdom: Solihull', 'GB-M3' => 'United Kingdom: Somerset', 'GB-W4' => 'United Kingdom: South Ayrshire', 'GB-96' => 'United Kingdom: South Glamorgan', 'GB-M6' => 'United Kingdom: South Gloucestershire', 'GB-W5' => 'United Kingdom: South Lanarkshire', 'GB-M7' => 'United Kingdom: South Tyneside', 'GB-37' => 'United Kingdom: South Yorkshire', 'GB-M4' => 'United Kingdom: Southampton', 'GB-M5' => 'United Kingdom: Southend-on-Sea', 'GB-M8' => 'United Kingdom: Southwark', 'GB-N1' => 'United Kingdom: St. Helens', 'GB-M9' => 'United Kingdom: Staffordshire', 'GB-W6' => 'United Kingdom: Stirling', 'GB-N2' => 'United Kingdom: Stockport', 'GB-N3' => 'United Kingdom: Stockton-on-Tees', 'GB-N4' => 'United Kingdom: Stoke-on-Trent', 'GB-T4' => 'United Kingdom: Strabane', 'GB-87' => 'United Kingdom: Strathclyde', 'GB-N5' => 'United Kingdom: Suffolk', 'GB-N6' => 'United Kingdom: Sunderland', 'GB-N7' => 'United Kingdom: Surrey', 'GB-N8' => 'United Kingdom: Sutton', 'GB-Z1' => 'United Kingdom: Swansea', 'GB-N9' => 'United Kingdom: Swindon', 'GB-O1' => 'United Kingdom: Tameside', 'GB-88' => 'United Kingdom: Tayside', 'GB-O2' => 'United Kingdom: Telford and Wrekin', 'GB-O3' => 'United Kingdom: Thurrock', 'GB-O4' => 'United Kingdom: Torbay', 'GB-Z2' => 'United Kingdom: Torfaen', 'GB-O5' => 'United Kingdom: Tower Hamlets', 'GB-O6' => 'United Kingdom: Trafford', 'GB-41' => 'United Kingdom: Tyne and Wear', 'GB-Z3' => 'United Kingdom: Vale of Glamorgan', 'GB-O7' => 'United Kingdom: Wakefield', 'GB-O8' => 'United Kingdom: Walsall', 'GB-O9' => 'United Kingdom: Waltham Forest', 'GB-P1' => 'United Kingdom: Wandsworth', 'GB-P2' => 'United Kingdom: Warrington', 'GB-P3' => 'United Kingdom: Warwickshire', 'GB-P4' => 'United Kingdom: West Berkshire', 'GB-W7' => 'United Kingdom: West Dunbartonshire', 'GB-97' => 'United Kingdom: West Glamorgan', 'GB-W9' => 'United Kingdom: West Lothian', 'GB-43' => 'United Kingdom: West Midlands', 'GB-P6' => 'United Kingdom: West Sussex', 'GB-45' => 'United Kingdom: West Yorkshire', 'GB-P5' => 'United Kingdom: Westminster', 'GB-P7' => 'United Kingdom: Wigan', 'GB-P8' => 'United Kingdom: Wiltshire', 'GB-P9' => 'United Kingdom: Windsor and Maidenhead', 'GB-Q1' => 'United Kingdom: Wirral', 'GB-Q2' => 'United Kingdom: Wokingham', 'GB-Q3' => 'United Kingdom: Wolverhampton', 'GB-Q4' => 'United Kingdom: Worcestershire', 'GB-Z4' => 'United Kingdom: Wrexham', 'GB-Q5' => 'United Kingdom: York', '--US' => '','-US' => 'United States', 'US-AL' => 'United States: Alabama', 'US-AK' => 'United States: Alaska', 'US-AS' => 'United States: American Samoa', 'US-AZ' => 'United States: Arizona', 'US-AR' => 'United States: Arkansas', 'US-AA' => 'United States: Armed Forces Americas', 'US-AE' => 'United States: Armed Forces Europe', 'US-AP' => 'United States: Armed Forces Pacific', 'US-CA' => 'United States: California', 'US-CO' => 'United States: Colorado', 'US-CT' => 'United States: Connecticut', 'US-DE' => 'United States: Delaware', 'US-DC' => 'United States: District of Columbia', 'US-FM' => 'United States: Federated States of Micronesia', 'US-FL' => 'United States: Florida', 'US-GA' => 'United States: Georgia', 'US-GU' => 'United States: Guam', 'US-HI' => 'United States: Hawaii', 'US-ID' => 'United States: Idaho', 'US-IL' => 'United States: Illinois', 'US-IN' => 'United States: Indiana', 'US-IA' => 'United States: Iowa', 'US-KS' => 'United States: Kansas', 'US-KY' => 'United States: Kentucky', 'US-LA' => 'United States: Louisiana', 'US-ME' => 'United States: Maine', 'US-MH' => 'United States: Marshall Islands', 'US-MD' => 'United States: Maryland', 'US-MA' => 'United States: Massachusetts', 'US-MI' => 'United States: Michigan', 'US-MN' => 'United States: Minnesota', 'US-MS' => 'United States: Mississippi', 'US-MO' => 'United States: Missouri', 'US-MT' => 'United States: Montana', 'US-NE' => 'United States: Nebraska', 'US-NV' => 'United States: Nevada', 'US-NH' => 'United States: New Hampshire', 'US-NJ' => 'United States: New Jersey', 'US-NM' => 'United States: New Mexico', 'US-NY' => 'United States: New York', 'US-NC' => 'United States: North Carolina', 'US-ND' => 'United States: North Dakota', 'US-MP' => 'United States: Northern Mariana Islands', 'US-OH' => 'United States: Ohio', 'US-OK' => 'United States: Oklahoma', 'US-OR' => 'United States: Oregon', 'US-PW' => 'United States: Palau', 'US-PA' => 'United States: Pennsylvania', 'US-PR' => 'United States: Puerto Rico', 'US-RI' => 'United States: Rhode Island', 'US-SC' => 'United States: South Carolina', 'US-SD' => 'United States: South Dakota', 'US-TN' => 'United States: Tennessee', 'US-TX' => 'United States: Texas', 'US-UT' => 'United States: Utah', 'US-VT' => 'United States: Vermont', 'US-VI' => 'United States: Virgin Islands', 'US-VA' => 'United States: Virginia', 'US-WA' => 'United States: Washington', 'US-WV' => 'United States: West Virginia', 'US-WI' => 'United States: Wisconsin', 'US-WY' => 'United States: Wyoming', '--UY' => '','-UY' => 'Uruguay', 'UY-01' => 'Uruguay: Artigas', 'UY-02' => 'Uruguay: Canelones', 'UY-03' => 'Uruguay: Cerro Largo', 'UY-04' => 'Uruguay: Colonia', 'UY-05' => 'Uruguay: Durazno', 'UY-06' => 'Uruguay: Flores', 'UY-07' => 'Uruguay: Florida', 'UY-08' => 'Uruguay: Lavalleja', 'UY-09' => 'Uruguay: Maldonado', 'UY-10' => 'Uruguay: Montevideo', 'UY-11' => 'Uruguay: Paysandu', 'UY-12' => 'Uruguay: Rio Negro', 'UY-13' => 'Uruguay: Rivera', 'UY-14' => 'Uruguay: Rocha', 'UY-15' => 'Uruguay: Salto', 'UY-16' => 'Uruguay: San Jose', 'UY-17' => 'Uruguay: Soriano', 'UY-18' => 'Uruguay: Tacuarembo', 'UY-19' => 'Uruguay: Treinta y Tres', '--UZ' => '','-UZ' => 'Uzbekistan', 'UZ-01' => 'Uzbekistan: Andijon', 'UZ-02' => 'Uzbekistan: Bukhoro', 'UZ-03' => 'Uzbekistan: Farghona', 'UZ-04' => 'Uzbekistan: Jizzakh', 'UZ-05' => 'Uzbekistan: Khorazm', 'UZ-06' => 'Uzbekistan: Namangan', 'UZ-07' => 'Uzbekistan: Nawoiy', 'UZ-08' => 'Uzbekistan: Qashqadaryo', 'UZ-09' => 'Uzbekistan: Qoraqalpoghiston', 'UZ-10' => 'Uzbekistan: Samarqand', 'UZ-11' => 'Uzbekistan: Sirdaryo', 'UZ-12' => 'Uzbekistan: Surkhondaryo', 'UZ-13' => 'Uzbekistan: Toshkent', 'UZ-14' => 'Uzbekistan: Toshkent', '--VU' => '','-VU' => 'Vanuatu', 'VU-05' => 'Vanuatu: Ambrym', 'VU-06' => 'Vanuatu: Aoba', 'VU-08' => 'Vanuatu: Efate', 'VU-09' => 'Vanuatu: Epi', 'VU-10' => 'Vanuatu: Malakula', 'VU-16' => 'Vanuatu: Malampa', 'VU-11' => 'Vanuatu: Paama', 'VU-17' => 'Vanuatu: Penama', 'VU-12' => 'Vanuatu: Pentecote', 'VU-13' => 'Vanuatu: Sanma', 'VU-18' => 'Vanuatu: Shefa', 'VU-14' => 'Vanuatu: Shepherd', 'VU-15' => 'Vanuatu: Tafea', 'VU-07' => 'Vanuatu: Torba', '--VE' => '','-VE' => 'Venezuela', 'VE-01' => 'Venezuela: Amazonas', 'VE-02' => 'Venezuela: Anzoategui', 'VE-03' => 'Venezuela: Apure', 'VE-04' => 'Venezuela: Aragua', 'VE-05' => 'Venezuela: Barinas', 'VE-06' => 'Venezuela: Bolivar', 'VE-07' => 'Venezuela: Carabobo', 'VE-08' => 'Venezuela: Cojedes', 'VE-09' => 'Venezuela: Delta Amacuro', 'VE-24' => 'Venezuela: Dependencias Federales', 'VE-25' => 'Venezuela: Distrito Federal', 'VE-11' => 'Venezuela: Falcon', 'VE-12' => 'Venezuela: Guarico', 'VE-13' => 'Venezuela: Lara', 'VE-14' => 'Venezuela: Merida', 'VE-15' => 'Venezuela: Miranda', 'VE-16' => 'Venezuela: Monagas', 'VE-17' => 'Venezuela: Nueva Esparta', 'VE-18' => 'Venezuela: Portuguesa', 'VE-19' => 'Venezuela: Sucre', 'VE-20' => 'Venezuela: Tachira', 'VE-21' => 'Venezuela: Trujillo', 'VE-26' => 'Venezuela: Vargas', 'VE-22' => 'Venezuela: Yaracuy', 'VE-23' => 'Venezuela: Zulia', '--VN' => '','-VN' => 'Vietnam', 'VN-43' => 'Vietnam: An Giang', 'VN-53' => 'Vietnam: Ba Ria-Vung Tau', 'VN-02' => 'Vietnam: Bac Thai', 'VN-03' => 'Vietnam: Ben Tre', 'VN-54' => 'Vietnam: Binh Dinh', 'VN-55' => 'Vietnam: Binh Thuan', 'VN-56' => 'Vietnam: Can Tho', 'VN-05' => 'Vietnam: Cao Bang', 'VN-44' => 'Vietnam: Dac Lac', 'VN-45' => 'Vietnam: Dong Nai', 'VN-20' => 'Vietnam: Dong Nam Bo', 'VN-46' => 'Vietnam: Dong Thap', 'VN-57' => 'Vietnam: Gia Lai', 'VN-11' => 'Vietnam: Ha Bac', 'VN-58' => 'Vietnam: Ha Giang', 'VN-51' => 'Vietnam: Ha Noi', 'VN-59' => 'Vietnam: Ha Tay', 'VN-60' => 'Vietnam: Ha Tinh', 'VN-12' => 'Vietnam: Hai Hung', 'VN-13' => 'Vietnam: Hai Phong', 'VN-52' => 'Vietnam: Ho Chi Minh', 'VN-61' => 'Vietnam: Hoa Binh', 'VN-62' => 'Vietnam: Khanh Hoa', 'VN-47' => 'Vietnam: Kien Giang', 'VN-63' => 'Vietnam: Kon Tum', 'VN-22' => 'Vietnam: Lai Chau', 'VN-23' => 'Vietnam: Lam Dong', 'VN-39' => 'Vietnam: Lang Son', 'VN-64' => 'Vietnam: Lao Cai', 'VN-24' => 'Vietnam: Long An', 'VN-48' => 'Vietnam: Minh Hai', 'VN-65' => 'Vietnam: Nam Ha', 'VN-66' => 'Vietnam: Nghe An', 'VN-67' => 'Vietnam: Ninh Binh', 'VN-68' => 'Vietnam: Ninh Thuan', 'VN-69' => 'Vietnam: Phu Yen', 'VN-70' => 'Vietnam: Quang Binh', 'VN-29' => 'Vietnam: Quang Nam-Da Nang', 'VN-71' => 'Vietnam: Quang Ngai', 'VN-30' => 'Vietnam: Quang Ninh', 'VN-72' => 'Vietnam: Quang Tri', 'VN-73' => 'Vietnam: Soc Trang', 'VN-32' => 'Vietnam: Son La', 'VN-49' => 'Vietnam: Song Be', 'VN-33' => 'Vietnam: Tay Ninh', 'VN-35' => 'Vietnam: Thai Binh', 'VN-34' => 'Vietnam: Thanh Hoa', 'VN-74' => 'Vietnam: Thua Thien', 'VN-37' => 'Vietnam: Tien Giang', 'VN-75' => 'Vietnam: Tra Vinh', 'VN-76' => 'Vietnam: Tuyen Quang', 'VN-77' => 'Vietnam: Vinh Long', 'VN-50' => 'Vietnam: Vinh Phu', 'VN-78' => 'Vietnam: Yen Bai', '--YE' => '','-YE' => 'Yemen', 'YE-01' => 'Yemen: Abyan', 'YE-20' => 'Yemen: Al Bayda\'', 'YE-08' => 'Yemen: Al Hudaydah', 'YE-21' => 'Yemen: Al Jawf', 'YE-03' => 'Yemen: Al Mahrah', 'YE-10' => 'Yemen: Al Mahwit', 'YE-11' => 'Yemen: Dhamar', 'YE-04' => 'Yemen: Hadramawt', 'YE-22' => 'Yemen: Hajjah', 'YE-23' => 'Yemen: Ibb', 'YE-24' => 'Yemen: Lahij', 'YE-14' => 'Yemen: Ma\'rib', 'YE-15' => 'Yemen: Sa', 'YE-16' => 'Yemen: San', 'YE-05' => 'Yemen: Shabwah', 'YE-25' => 'Yemen: Ta', '--ZM' => '','-ZM' => 'Zambia', 'ZM-02' => 'Zambia: Central', 'ZM-08' => 'Zambia: Copperbelt', 'ZM-03' => 'Zambia: Eastern', 'ZM-04' => 'Zambia: Luapula', 'ZM-09' => 'Zambia: Lusaka', 'ZM-05' => 'Zambia: Northern', 'ZM-06' => 'Zambia: North-Western', 'ZM-07' => 'Zambia: Southern', 'ZM-01' => 'Zambia: Western', '--ZW' => '','-ZW' => 'Zimbabwe', 'ZW-09' => 'Zimbabwe: Bulawayo', 'ZW-10' => 'Zimbabwe: Harare', 'ZW-01' => 'Zimbabwe: Manicaland', 'ZW-03' => 'Zimbabwe: Mashonaland Central', 'ZW-04' => 'Zimbabwe: Mashonaland East', 'ZW-05' => 'Zimbabwe: Mashonaland West', 'ZW-08' => 'Zimbabwe: Masvingo', 'ZW-06' => 'Zimbabwe: Matabeleland North', 'ZW-07' => 'Zimbabwe: Matabeleland South', 'ZW-02' => 'Zimbabwe: Midlands\' showon.php000064400000002272152325744550006611 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use RegularLabs\Library\Field; use RegularLabs\Library\ShowOn as RL_ShowOn; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_ShowOn extends Field { public $type = 'ShowOn'; protected function getInput() { $value = (string) $this->get('value'); $class = $this->get('class', ''); $formControl = $this->get('form', $this->formControl); $formControl = $formControl == 'root' ? '' : $formControl; if ( ! $value) { return RL_ShowOn::close(); } return '</div></div>' . RL_ShowOn::open($value, $formControl, $this->group, $class) . '<div><div>'; } protected function getLabel() { return ''; } } simplecategories.php000064400000006753152325744550010643 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\Field; use RegularLabs\Library\ShowOn as RL_ShowOn; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_SimpleCategories extends Field { public $type = 'SimpleCategories'; protected function getInput() { $size = (int) $this->get('size'); $attr = $this->get('onchange') ? ' onchange="' . $this->get('onchange') . '"' : ''; $categories = $this->getOptions(); $options = parent::getOptions(); if ($this->get('show_none', 1)) { $options[] = JHtml::_('select.option', '', '- ' . JText::_('JNONE') . ' -'); } if ($this->get('show_new', 1)) { $options[] = JHtml::_('select.option', '-1', '- ' . JText::_('RL_NEW_CATEGORY') . ' -'); } $options = array_merge($options, $categories); if ( ! $this->get('show_new', 1)) { return JHtml::_('select.genericlist', $options, $this->name, trim($attr), 'value', 'text', $this->value, $this->id ); } JHtml::_('jquery.framework'); RL_Document::script('regularlabs/simplecategories.min.js'); $selectlist = $this->selectListSimple( $options, $this->getName($this->fieldname . '_select'), $this->value, $this->getId('', $this->fieldname . '_select'), $size, false ); $html = []; $html[] = '<div class="rl_simplecategory">'; $html[] = '<div class="rl_simplecategory_select">' . $selectlist . '</div>'; $html[] = RL_ShowOn::show( '<div class="rl_simplecategory_new">' . '<input type="text" id="' . $this->id . '_new" value="" placeholder="' . JText::_('RL_NEW_CATEGORY_ENTER') . '">' . '</div>', $this->fieldname . '_select:-1', $this->formControl ); $html[] = '<input type="hidden" class="rl_simplecategory_value" id="' . $this->id . '" name="' . $this->name . '" value="' . $this->value . '" />'; $html[] = '</div>'; return implode('', $html); } protected function getOptions() { $table = $this->get('table'); if ( ! $table) { return []; } // Get the user groups from the database. $query = $this->db->getQuery(true) ->select([ $this->db->quoteName('category', 'value'), $this->db->quoteName('category', 'text'), ]) ->from($this->db->quoteName('#__' . $table)) ->where($this->db->quoteName('category') . ' != ' . $this->db->quote('')) ->group($this->db->quoteName('category')) ->order($this->db->quoteName('category') . ' ASC'); $this->db->setQuery($query); return $this->db->loadObjectList(); } } subform.php000064400000001555152325744550006754 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; JFormHelper::loadFieldClass('subform'); class JFormFieldRL_Subform extends JFormFieldSubform { public function __construct($form = null) { parent::__construct($form); } protected function getLayoutPaths() { $paths = parent::getLayoutPaths(); $paths[] = JPATH_LIBRARIES . '/regularlabs/layouts'; return $paths; } } tags.php000064400000005637152325744550006242 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Tags extends Field { public $type = 'Tags'; public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $simple = $attributes->get('simple'); $options = $this->getOptions( (bool) $attributes->get('show_all'), (bool) $attributes->get('use_names') ); return $this->selectList($options, $name, $value, $id, $size, true, $simple); } protected function getInput() { $size = (int) $this->get('size'); $simple = (int) $this->get('simple'); $show_ignore = $this->get('show_ignore'); $use_names = $this->get('use_names'); if ($show_ignore && in_array('-1', $this->value)) { $this->value = ['-1']; } return $this->selectListAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'simple', 'show_ignore', 'use_names'), $simple ); } protected function getOptions($show_ignore = false, $use_names = false, $value = []) { // assemble items to the array $options = []; if ($show_ignore) { $options[] = JHtml::_('select.option', '-1', '- ' . JText::_('RL_IGNORE') . ' -'); $options[] = JHtml::_('select.option', '-', ' ', 'value', 'text', true); } $options = array_merge($options, $this->getTags($use_names)); return $options; } protected function getTags($use_names) { $value = $use_names ? 'a.title' : 'a.id'; $query = $this->db->getQuery(true) ->select($value . ' as value, a.title as text, a.parent_id AS parent') ->from('#__tags AS a') ->select('COUNT(DISTINCT b.id) - 1 AS level') ->join('LEFT', '#__tags AS b ON a.lft > b.lft AND a.rgt < b.rgt') ->where('a.alias <> ' . $this->db->quote('root')) ->where('a.published IN (0,1)') ->group('a.id') ->order('a.lft ASC'); $this->db->setQuery($query); return $this->db->loadObjectList(); } } templates.php000064400000007345152325744550007300 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Templates extends Field { public $type = 'Templates'; public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $multiple = $attributes->get('multiple'); $options = $this->getOptions(); return $this->selectList($options, $name, $value, $id, $size, $multiple); } protected function getInput() { // fix old '::' separator and change it to '--' $value = json_encode($this->value); $value = str_replace('::', '--', $value); $value = (array) json_decode($value, true); $size = (int) $this->get('size'); $multiple = $this->get('multiple'); return $this->selectListAjax( $this->type, $this->name, $value, $this->id, compact('size', 'multiple') ); } protected function getOptions() { $options = []; $templates = $this->getTemplates(); foreach ($templates as $styles) { $level = 0; foreach ($styles as $style) { $style->level = $level; $options[] = $style; if (count($styles) <= 2) { break; } $level = 1; } } return $options; } protected function getTemplates() { $groups = []; $lang = JFactory::getLanguage(); // Get the database object and a new query object. $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select('s.id, s.title, e.name as name, s.template') ->from('#__template_styles as s') ->where('s.client_id = 0') ->join('LEFT', '#__extensions as e on e.element=s.template') ->where('e.enabled=1') ->where($db->quoteName('e.type') . '=' . $db->quote('template')) ->order('s.template') ->order('s.title'); // Set the query and load the styles. $db->setQuery($query); $styles = $db->loadObjectList(); // Build the grouped list array. if ($styles) { foreach ($styles as $style) { $template = $style->template; $lang->load('tpl_' . $template . '.sys', JPATH_SITE) || $lang->load('tpl_' . $template . '.sys', JPATH_SITE . '/templates/' . $template); $name = JText::_($style->name); // Initialize the group if necessary. if ( ! isset($groups[$template])) { $groups[$template] = []; $groups[$template][] = JHtml::_('select.option', $template, $name); } $groups[$template][] = JHtml::_('select.option', $template . '--' . $style->id, $style->title); } } return $groups; } } text.php000064400000004170152325744550006257 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\StringHelper as RL_String; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; JFormHelper::loadFieldClass('text'); class JFormFieldRL_Text extends JFormFieldText { public $type = 'Text'; public function setup(SimpleXMLElement $element, $value, $group = null) { $this->element = $element; $element['label'] = $this->prepareText($element['label']); $element['description'] = $this->prepareText($element['description']); $element['hint'] = $this->prepareText($element['hint']); $element['translateDescription'] = false; return parent::setup($element, $value, $group); } private function get($val, $default = '') { if ( ! isset($this->params[$val]) || (string) $this->params[$val] == '') { return $default; } return (string) $this->params[$val]; } private function prepareText($string = '') { $string = trim($string); if ($string == '') { return ''; } // variables $var1 = JText::_($this->get('var1')); $var2 = JText::_($this->get('var2')); $var3 = JText::_($this->get('var3')); $var4 = JText::_($this->get('var4')); $var5 = JText::_($this->get('var5')); $string = JText::sprintf($string, $var1, $var2, $var3, $var4, $var5); $string = trim(RL_String::html_entity_decoder($string)); $string = str_replace('"', '"', $string); $string = str_replace('span style="font-family:monospace;"', 'span class="rl-code"', $string); return $string; } } textareaplus.php000064400000007755152325744550010030 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Date\Date as JDate; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Field; use RegularLabs\Library\StringHelper as RL_String; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_TextAreaPlus extends Field { public $type = 'TextAreaPlus'; protected function getInput() { $width = $this->get('width', 600); $height = $this->get('height', 80); $class = ' class="' . trim('rl_textarea ' . $this->get('class')) . '"'; $type = $this->get('texttype'); $hint = $this->get('hint'); if (is_array($this->value)) { $this->value = trim(implode("\n", $this->value)); } if ($type == 'html') { // Convert <br> tags so they are not visible when editing $this->value = str_replace('<br>', "\n", $this->value); } else if ($type == 'regex') { // Protects the special characters $this->value = str_replace('[:REGEX_ENTER:]', '\n', $this->value); } if ($this->get('translate') && $this->get('translate') !== 'false') { $this->value = JText::_($this->value); $hint = JText::_($hint); } $this->value = htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'); $hint = $hint ? ' placeholder="' . $hint . '"' : ''; return '<textarea name="' . $this->name . '" cols="' . (round($width / 7.5)) . '" rows="' . (round($height / 15)) . '"' . ' style="width:' . (($width == '600') ? '100%' : $width . 'px') . ';height:' . $height . 'px"' . ' id="' . $this->id . '"' . $class . $hint . '>' . $this->value . '</textarea>'; } protected function getLabel() { $resize = $this->get('resize', 0); $show_insert_date_name = $this->get('show_insert_date_name', 0); $add_separator = $this->get('add_separator', 1); $label = RL_String::html_entity_decoder(JText::_($this->get('label'))); $attribs = 'id="' . $this->id . '-lbl" for="' . $this->id . '"'; if ($this->description) { $attribs .= ' class="hasPopover" title="' . $label . '"' . ' data-content="' . JText::_($this->description) . '"'; } $html = '<label ' . $attribs . '>' . $label; if ($show_insert_date_name) { $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); $date_name = JDate::getInstance()->format('[Y-m-d]') . ' ' . $user->name . ' : '; $separator = $add_separator ? '---' : 'none'; $onclick = "RegularLabsForm.prependTextarea('" . $this->id . "', '" . addslashes($date_name) . "', '" . $separator . "');"; $html .= '<br><span role="button" class="btn btn-mini rl_insert_date" onclick="' . $onclick . '">' . JText::_('RL_INSERT_DATE_NAME') . '</span>'; } if ($resize) { $html .= '<br><span role="button" class="rl_resize_textarea rl_maximize"' . ' data-id="' . $this->id . '" data-min="' . $this->get('height', 80) . '" data-max="' . $resize . '">' . '<span class="rl_resize_textarea_maximize">' . '[ + ]' . '</span>' . '<span class="rl_resize_textarea_minimize">' . '[ - ]' . '</span>' . '</span>'; } $html .= '</label>'; return $html; } } toggler.php000064400000007110152325744550006733 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Form\FormField as JFormField; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\RegEx as RL_RegEx; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; /** * @deprecated 2018-10-30 Use ShowOn instead */ /** * To use this, make a start xml param tag with the param and value set * And an end xml param tag without the param and value set * Everything between those tags will be included in the slide * * Available extra parameters: * param The name of the reference parameter * value a comma separated list of value on which to show the framework */ class JFormFieldRL_Toggler extends JFormField { public $type = 'Toggler'; protected function getInput() { if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return null; } $field = new RLFieldToggler; return $field->getInput($this->element->attributes()); } protected function getLabel() { return ''; } } class RLFieldToggler { public function getInput($params) { $this->params = $params; $option = JFactory::getApplication()->input->get('option'); // do not place toggler stuff on JoomFish pages if ($option == 'com_joomfish') { return ''; } $param = $this->get('param'); $value = $this->get('value'); $nofx = $this->get('nofx'); $method = $this->get('method'); $div = $this->get('div', 0); RL_Document::script('regularlabs/toggler.min.js'); $param = RL_RegEx::replace('^\s*(.*?)\s*$', '\1', $param); $param = RL_RegEx::replace('\s*\|\s*', '|', $param); $html = []; if ( ! $param) { return '</div>'; } $param = RL_RegEx::replace('[^a-z0-9-\.\|\@]', '_', $param); $param = str_replace('@', '_', $param); $set_groups = explode('|', $param); $set_values = explode('|', $value); $ids = []; foreach ($set_groups as $i => $group) { $count = $i; if ($count >= count($set_values)) { $count = 0; } $value = explode(',', $set_values[$count]); foreach ($value as $val) { $ids[] = $group . '.' . $val; } } if ( ! $div) { $html[] = '</div></div>'; } $html[] = '<div id="' . rand(1_000_000, 9_999_999) . '___' . implode('___', $ids) . '" class="rl_toggler'; if ($nofx) { $html[] = ' rl_toggler_nofx'; } if ($method == 'and') { $html[] = ' rl_toggler_and'; } $html[] = '">'; if ( ! $div) { $html[] = '<div><div>'; } return implode('', $html); } private function get($val, $default = '') { if ( ! isset($this->params[$val]) || (string) $this->params[$val] == '') { return $default; } return (string) $this->params[$val]; } } users.php000064400000005303152325744550006433 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\Registry\Registry; use RegularLabs\Library\Field; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Users extends Field { public $type = 'Users'; public function getAjaxRaw(Registry $attributes) { $name = $attributes->get('name', $this->type); $id = $attributes->get('id', strtolower($name)); $value = $attributes->get('value', []); $size = $attributes->get('size'); $multiple = $attributes->get('multiple'); $show_current = $attributes->get('show_current'); $options = $this->getUsers(); if (is_array($options) && $show_current) { array_unshift($options, JHtml::_('select.option', 'current', '- ' . JText::_('RL_CURRENT_USER') . ' -')); } return $this->selectListSimple($options, $name, $value, $id, $size, $multiple); } public function getUsers() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__users AS u'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('u.name, u.username, u.id, u.block as disabled') ->order('name'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); $list = array_map(function ($item) { if ($item->disabled) { $item->name .= ' (' . JText::_('JDISABLED') . ')'; } return $item; }, $list); return $this->getOptionsByList($list, ['username', 'id']); } protected function getInput() { if ( ! is_array($this->value)) { $this->value = explode(',', $this->value); } $size = (int) $this->get('size'); $multiple = $this->get('multiple'); $show_current = $this->get('show_current'); return $this->selectListSimpleAjax( $this->type, $this->name, $this->value, $this->id, compact('size', 'multiple', 'show_current') ); } } version.php000064400000003502152325744550006756 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use RegularLabs\Library\Field; use RegularLabs\Library\Version as RL_Version; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_Version extends Field { public $type = 'Version'; protected function getInput() { $extension = $this->get('extension'); $xml = $this->get('xml'); if ( ! $xml && $this->form->getValue('element')) { if ($this->form->getValue('folder')) { $xml = 'plugins/' . $this->form->getValue('folder') . '/' . $this->form->getValue('element') . '/' . $this->form->getValue('element') . '.xml'; } else { $xml = 'administrator/modules/' . $this->form->getValue('element') . '/' . $this->form->getValue('element') . '.xml'; } if ( ! file_exists(JPATH_SITE . '/' . $xml)) { return ''; } } if (empty($extension) || empty($xml)) { return ''; } $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); if ( ! $user->authorise('core.manage', 'com_installer')) { return ''; } return '</div><div class="hide">' . RL_Version::getMessage($extension); } protected function getLabel() { return ''; } } virtuemart.php000064400000010267152325744550007501 0ustar00<?php /** * @package Regular Labs Library * @version 23.7.24631 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\FieldGroup; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; class JFormFieldRL_VirtueMart extends FieldGroup { public $language = null; public $type = 'VirtueMart'; public function getCategories() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__virtuemart_categories AS c') ->where('c.published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear() ->select('c.virtuemart_category_id as id, cc.category_parent_id AS parent_id, l.category_name AS title, c.published') ->from('#__virtuemart_categories_' . $this->getActiveLanguage() . ' AS l') ->join('', '#__virtuemart_categories AS c using (virtuemart_category_id)') ->join('LEFT', '#__virtuemart_category_categories AS cc ON l.virtuemart_category_id = cc.category_child_id') ->where('c.published > -1') ->group('c.virtuemart_category_id') ->order('c.ordering, l.category_name'); $this->db->setQuery($query); $items = $this->db->loadObjectList(); return $this->getOptionsTreeByList($items); } public function getProducts() { $query = $this->db->getQuery(true) ->select('COUNT(*)') ->from('#__virtuemart_products AS p') ->where('p.published > -1'); $this->db->setQuery($query); $total = $this->db->loadResult(); if ($total > $this->max_list_count) { return -1; } $query->clear('select') ->select('p.virtuemart_product_id as id, l.product_name AS name, p.product_sku as sku, cl.category_name AS cat, p.published') ->join('LEFT', '#__virtuemart_products_' . $this->getActiveLanguage() . ' AS l ON l.virtuemart_product_id = p.virtuemart_product_id') ->join('LEFT', '#__virtuemart_product_categories AS x ON x.virtuemart_product_id = p.virtuemart_product_id') ->join('LEFT', '#__virtuemart_categories AS c ON c.virtuemart_category_id = x.virtuemart_category_id') ->join('LEFT', '#__virtuemart_categories_' . $this->getActiveLanguage() . ' AS cl ON cl.virtuemart_category_id = c.virtuemart_category_id') ->group('p.virtuemart_product_id') ->order('l.product_name, p.product_sku'); $this->db->setQuery($query); $list = $this->db->loadObjectList(); return $this->getOptionsByList($list, ['sku', 'cat', 'id']); } protected function getInput() { $error = $this->missingFilesOrTables(['categories', 'products']); if ($error) { return $error; } return $this->getSelectList(); } private function getActiveLanguage() { if (isset($this->language)) { return $this->language; } $this->language = 'en_gb'; if ( ! class_exists('VmConfig')) { require_once JPATH_ROOT . '/administrator/components/com_virtuemart/helpers/config.php'; } if ( ! class_exists('VmConfig')) { return $this->language; } VmConfig::loadConfig(); if ( ! empty(VmConfig::$vmlang)) { $this->language = str_replace('-', '_', strtolower(VmConfig::$vmlang)); return $this->language; } $active_languages = VmConfig::get('active_languages', []); if ( ! isset($active_languages[0])) { return $this->language; } $this->language = str_replace('-', '_', strtolower($active_languages[0])); return $this->language; } }
/home/digilove/public_html/includes/../41423/fields.tar