Commit 4ac89c31 authored by Liam Sharpe's avatar Liam Sharpe Committed by Robert Lyon

Bug 1484781: Added aria-hidden=true to all icons

behatnotneeded

Change-Id: I39faf88ac8932891a704868f5282a5794ae1387d
parent 5a7040ae
......@@ -102,7 +102,7 @@ foreach ($iframesources as $url => $name) {
'type' => 'button',
'class' => 'btn-default btn-sm',
'usebuttontag' => true,
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation"></span><span class="sr-only">'. get_string('delete') . '</span>',
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation" aria-hidden="true"></span><span class="sr-only">'. get_string('delete') . '</span>',
'confirm' => get_string('confirmdeletemenuitem', 'admin'),
),
......
......@@ -149,12 +149,12 @@ $failurestring = json_encode(get_string('upgradefailure', 'admin'));
$javascript = <<<JAVASCRIPT
function installplugin(name) {
$(name + '.message').innerHTML = '<span class="{$loadingicon}" title=' + {$loadingstring} + '" role="presentation"></span>';
$(name + '.message').innerHTML = '<span class="{$loadingicon}" title=' + {$loadingstring} + '" role="presentation" aria-hidden="true"></span>';
sendjsonrequest('../upgrade.json.php', { 'name': name }, 'GET', function (data) {
if (!data.error) {
var message = {$successstring} + data.newversion;
$(name + '.message').innerHTML = '<span class="{$successicon}" title=":)" role="presentation"></span>' + message;
$(name + '.message').innerHTML = '<span class="{$successicon}" title=":)" role="presentation" aria-hidden="true"></span>' + message;
$(name + '.install').innerHTML = '';
jQuery($(name)).removeClass('list-group-item-danger').addClass('list-group-item-success');
// move the whole thing into the list of installed plugins
......@@ -174,7 +174,7 @@ function installplugin(name) {
else {
message = {$failurestring};
}
$(name).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation"></span>' + message;
$(name).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation" aria-hidden="true"></span>' + message;
}
},
function () {
......
......@@ -105,7 +105,7 @@ $networkingform = pieform(
'name' => 'submit', // must be called submit so we can access it's value
'type' => 'button',
'usebuttontag' => true,
'content' => '<span class="icon icon-refresh icon-lg left text-danger" role="presentation"></span> '. get_string('deletekey', 'admin'),
'content' => '<span class="icon icon-refresh icon-lg left text-danger" role="presentation" aria-hidden="true"></span> '. get_string('deletekey', 'admin'),
'value' => 'deletekey'
)
)
......
......@@ -145,18 +145,18 @@ $js = <<< EOJS
return; // done
}
$(element).innerHTML = '<span class="{$loadingicon}" title="' + {$loadingstring} + '" role="presentation"></span>';
$(element).innerHTML = '<span class="{$loadingicon}" title="' + {$loadingstring} + '" role="presentation" aria-hidden="true"></span>';
sendjsonrequest('upgrade.json.php', { 'name': element, 'last': todo.length == 0 }, 'GET', function (data) {
if ( !data.error ) {
var message;
if (data.coredata) {
message = {$coresuccess};
$(data.key).innerHTML = '<span class="{$successicon}" title=":)" role="presentation"></span>' + message;
$(data.key).innerHTML = '<span class="{$successicon}" title=":)" role="presentation" aria-hidden="true"></span>' + message;
}
else if (data.localdata) {
message = {$localsuccess};
$(data.key).innerHTML = '<span class="{$successicon}" title=":)" role="presentation"></span>' + message;
$(data.key).innerHTML = '<span class="{$successicon}" title=":)" role="presentation" aria-hidden="true"></span>' + message;
}
else if (data.install || data.upgrade) {
if (data.install) {
......@@ -171,15 +171,15 @@ $js = <<< EOJS
}
}
message += data.newversion ? data.newversion : '';
$(data.key).innerHTML = '<span class="{$successicon}" title=":)" role="presentation"></span>' + message;
$(data.key).innerHTML = '<span class="{$successicon}" title=":)" role="presentation" aria-hidden="true"></span>' + message;
}
else if (data.done) {
message = data.message;
$(data.key).innerHTML = '<span class="{$warningicon}" title=":|" role="presentation"></span> ' + message;
$(data.key).innerHTML = '<span class="{$warningicon}" title=":|" role="presentation" aria-hidden="true"></span> ' + message;
}
else {
message = data.message;
$(data.key).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation"></span>' + message;
$(data.key).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation" aria-hidden="true"></span>' + message;
}
if (data.feedback) {
var feedback_element = DIV();
......@@ -196,11 +196,11 @@ $js = <<< EOJS
else {
message = {$failurestring};
}
$(data.key).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation"></span>' + message;
$(data.key).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation" aria-hidden="true"></span>' + message;
}
},
function () {
$(element).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation"></span>' + {$failurestring};
$(element).innerHTML = '<span class="{$failureicon}" title=":(" role="presentation" aria-hidden="true"></span>' + {$failurestring};
},
true);
}
......
......@@ -177,7 +177,7 @@ $deleteform = pieform(array(
'usebuttontag' => true,
'class' => 'btn-default',
'confirm' => get_string('confirmdeleteusers', 'admin'),
'value' => '<span class="icon icon-lg icon-user-times left text-danger" role="presentation"></span>' . get_string('deleteusers', 'admin'),
'value' => '<span class="icon icon-lg icon-user-times left text-danger" role="presentation" aria-hidden="true"></span>' . get_string('deleteusers', 'admin'),
),
),
));
......
......@@ -679,7 +679,7 @@ $deleteform = pieform(array(
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default',
'value' => '<span class="icon icon-trash icon-lg text-danger left" role="presentation"></span><span>'. get_string('deleteuser', 'admin') . '</span>',
'value' => '<span class="icon icon-trash icon-lg text-danger left" role="presentation" aria-hidden="true"></span><span>'. get_string('deleteuser', 'admin') . '</span>',
'confirm' => get_string('confirmdeleteuser', 'admin'),
),
),
......
......@@ -1073,7 +1073,7 @@ if ($institution && $institution != 'mahara') {
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default',
'value' => '<span class="icon icon-lg text-danger icon-ban left" role="presentation"></span>' . get_string('suspendinstitution','admin'),
'value' => '<span class="icon icon-lg text-danger icon-ban left" role="presentation" aria-hidden="true"></span>' . get_string('suspendinstitution','admin'),
),
)
);
......@@ -1095,7 +1095,7 @@ if ($institution && $institution != 'mahara') {
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default',
'value' => '<span class="icon icon-lg text-success icon-check left" role="presentation"></span>' . get_string('unsuspendinstitution','admin'),
'value' => '<span class="icon icon-lg text-success icon-check left" role="presentation" aria-hidden="true"></span>' . get_string('unsuspendinstitution','admin'),
'description' => get_string('unsuspendinstitutiondescription','admin'),
),
)
......
......@@ -1168,7 +1168,7 @@ class ArtefactTypeAnnotationfeedback extends ArtefactType {
'usebuttontag' => true,
'class' => 'btn-link btn-xs quiet',
'name' => 'make_annotation_feedback_public_submit',
'value' => '<span class="icon icon-lock text-default left" role="presentation"></span>' . get_string('makepublic', 'artefact.annotation'),
'value' => '<span class="icon icon-lock text-default left" role="presentation" aria-hidden="true"></span>' . get_string('makepublic', 'artefact.annotation'),
),
),
);
......@@ -1196,7 +1196,7 @@ class ArtefactTypeAnnotationfeedback extends ArtefactType {
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default',
'value' => '<span class="icon icon-trash text-danger" role="presentation"></span><span class="sr-only">' . get_string('delete') . '</span>',
'value' => '<span class="icon icon-trash text-danger" role="presentation" aria-hidden="true"></span><span class="sr-only">' . get_string('delete') . '</span>',
'elementtitle' => get_string('delete'),
'confirm' => get_string('reallydeletethisannotationfeedback', 'artefact.annotation'),
'name' => 'delete_annotation_feedback_submit',
......
......@@ -552,7 +552,7 @@ class ArtefactTypeBlog extends ArtefactType {
'alt' => get_string('deletespecific', 'mahara', $title),
'elementtitle' => get_string('delete'),
'confirm' => $confirm,
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation"></span><span class="sr-only">' . get_string('delete') . '</span>',
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation" aria-hidden="true"></span><span class="sr-only">' . get_string('delete') . '</span>',
),
'delete' => array(
'type' => 'hidden',
......@@ -1124,10 +1124,10 @@ class ArtefactTypeBlogPost extends ArtefactType {
$published = $post->published;
}
if ($published) {
$strchangepoststatus = '<span class="icon icon-times icon-lg left text-danger" role="presentation"></span> ' .get_string('unpublish', 'artefact.blog');
$strchangepoststatus = '<span class="icon icon-times icon-lg left text-danger" role="presentation" aria-hidden="true"></span> ' .get_string('unpublish', 'artefact.blog');
}
else {
$strchangepoststatus = '<span class="icon icon-check icon-lg left text-success" role="presentation"></span> ' . get_string('publish', 'artefact.blog');
$strchangepoststatus = '<span class="icon icon-check icon-lg left text-success" role="presentation" aria-hidden="true"></span> ' . get_string('publish', 'artefact.blog');
}
return pieform(array(
'name' => 'changepoststatus_' . $id,
......@@ -1174,7 +1174,7 @@ class ArtefactTypeBlogPost extends ArtefactType {
'class' => 'btn-default btn-sm',
'elementtitle' => get_string('delete'),
'confirm' => get_string('deleteblogpost?', 'artefact.blog'),
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation"></span><span class="sr-only">' .get_string('delete') . '</span>',
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation" aria-hidden="true"></span><span class="sr-only">' .get_string('delete') . '</span>',
),
),
));
......
......@@ -161,13 +161,13 @@ function changepoststatus_success(form, data) {
removeElementClass($('posttitle_' + data.id), 'draft');
addElementClass($('posttitle_' + data.id), 'published');
$('poststatus' + data.id).innerHTML = {$strpublished};
$('changepoststatus_' + data.id + '_submit').innerHTML = '<span class="icon icon-times icon-lg left text-danger" role="presentation"></span> ' + {$strchangepoststatusunpublish};
$('changepoststatus_' + data.id + '_submit').innerHTML = '<span class="icon icon-times icon-lg left text-danger" role="presentation" aria-hidden="true"></span> ' + {$strchangepoststatusunpublish};
}
else {
removeElementClass($('posttitle_' + data.id), 'published');
addElementClass($('posttitle_' + data.id), 'draft');
$('poststatus' + data.id).innerHTML = {$strdraft};
$('changepoststatus_' + data.id + '_submit').innerHTML = '<span class="icon icon-check icon-lg left text-success" role="presentation"></span>' + {$strchangepoststatuspublish};
$('changepoststatus_' + data.id + '_submit').innerHTML = '<span class="icon icon-check icon-lg left text-success" role="presentation" aria-hidden="true"></span>' + {$strchangepoststatuspublish};
}
}
function delete_success(form, data) {
......
......@@ -988,7 +988,7 @@ class ArtefactTypeComment extends ArtefactType {
'usebuttontag' => true,
'class' => 'btn-link btn-xs',
'name' => 'make_public_submit',
'value' => '<span class="icon icon-lock text-default left" role="presentation"></span>' . get_string('makepublic', 'artefact.comment'),
'value' => '<span class="icon icon-lock text-default left" role="presentation" aria-hidden="true"></span>' . get_string('makepublic', 'artefact.comment'),
),
),
);
......@@ -1006,7 +1006,7 @@ class ArtefactTypeComment extends ArtefactType {
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default btn-sm',
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation"></span> <span class="sr-only">' . get_string('delete') . '</span>',
'value' => '<span class="icon icon-trash icon-lg text-danger" role="presentation" aria-hidden="true"></span> <span class="sr-only">' . get_string('delete') . '</span>',
'confirm' => get_string('reallydeletethiscomment', 'artefact.comment'),
'name' => 'delete_comment_submit',
),
......
......@@ -336,7 +336,7 @@ class PluginBlocktypeInternalmedia extends MaharaCoreBlocktype {
$html = '<span class="blocktype_internalmedia_mp3" id="' . $id . '" style="display:block;width:'.$width.'px;height:'.$height.'px;"></span>';
$html .= '<span id="' . $id . '_h">' . get_string('flashanimation', 'blocktype.file/internalmedia') . '</span>';
$html .= '<div class="media-download content-text"><span class="icon icon-download left" role="presentation"></span><span class="sr-only">'.get_string('Download', 'artefact.internal').'</span><a class="media-link text-small" href="' . $url . '">' . hsc($artefact->get('title')) . '</a>';
$html .= '<div class="media-download content-text"><span class="icon icon-download left" role="presentation" aria-hidden="true"></span><span class="sr-only">'.get_string('Download', 'artefact.internal').'</span><a class="media-link text-small" href="' . $url . '">' . hsc($artefact->get('title')) . '</a>';
$html .= '<span class="text-midtone text-small"> ['.$filesize.'] </span></div>';
$html .= '<script type="application/javascript">
flowplayer("'.$id.'", "'.$playerurl.'", {
......
......@@ -219,7 +219,7 @@ function deletenote_form($id, $notedata) {
'usebuttontag' => true,
'class' => 'btn-default btn-xs last',
'elementtitle' => get_string('delete'),
'value' => '<span class="icon icon-trash text-danger icon-lg" role="presentation"></span> ',
'value' => '<span class="icon icon-trash text-danger icon-lg" role="presentation" aria-hidden="true"></span> ',
),
),
);
......
......@@ -115,7 +115,7 @@ class PluginBlocktypeMyfriends extends MaharaCoreBlocktype {
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default',
'value' => '<span class="icon icon-user-plus icon-lg left" role="presentation"></span>' .get_string('addtomyfriends', 'group')
'value' => '<span class="icon icon-user-plus icon-lg left" role="presentation" aria-hidden="true"></span>' .get_string('addtomyfriends', 'group')
),
'id' => array(
'type' => 'hidden',
......
......@@ -140,7 +140,7 @@ if ($views) {
'usebuttontag' => true,
'class' => 'btn-link btn-sm',
'confirm' => get_string('viewconfirmremove', 'collection'),
'value' => '<span class="icon icon-times icon-lg text-danger" role="presentation"><span class="sr-only">' . get_string('remove') . '</span></span>' ),
'value' => '<span class="icon icon-times icon-lg text-danger" role="presentation" aria-hidden="true"><span class="sr-only">' . get_string('remove') . '</span></span>' ),
),
));
}
......
......@@ -110,7 +110,7 @@ if ($views) {
'usebuttontag' => true,
'class' => 'btn-link btn-sm',
'confirm' => get_string('viewconfirmremove', 'collection'),
'value' => '<span class="icon icon-times icon-lg text-danger" role="presentation"><span class="sr-only">' . get_string('remove') . '</span></span>',
'value' => '<span class="icon icon-times icon-lg text-danger" role="presentation" aria-hidden="true"><span class="sr-only">' . get_string('remove') . '</span></span>',
),
),
));
......@@ -141,7 +141,7 @@ if ($available = Collection::available_views($owner, $groupid, $institutionname)
'class' => 'btn-primary pull-right add-pages',
'type' => 'button',
'usebuttontag' => true,
'value' => '<span class="icon icon-arrow-right left" role="presentation"></span>' . get_string('addviews','collection'),
'value' => '<span class="icon icon-arrow-right left" role="presentation" aria-hidden="true"></span>' . get_string('addviews','collection'),
'goto' => get_config('wwwroot') . 'collection/views.php?id='.$id,
);
......
......@@ -54,7 +54,7 @@ $elements['submit'] = array(
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-primary input-group-btn',
'value' => '<span class="icon icon-filter left" role="presentation"></span> ' . get_string('filter'),
'value' => '<span class="icon icon-filter left" role="presentation" aria-hidden="true"></span> ' . get_string('filter'),
);
$form = pieform(array(
'name' => 'filter',
......
......@@ -72,7 +72,7 @@ if ($forums) {
'usebuttontag' => true,
'class' => 'btn-default btn-sm',
'renderelementsonly' => true,
'value' => $forum->subscribed ? '<span class="icon icon-lg icon-times left text-danger" role="presentation"></span> ' . get_string('Unsubscribe', 'interaction.forum') : '<span class="icon icon-lg icon-star left" role="presentation"></span> ' . get_string('Subscribe', 'interaction.forum'),
'value' => $forum->subscribed ? '<span class="icon icon-lg icon-times left text-danger" role="presentation" aria-hidden="true"></span> ' . get_string('Unsubscribe', 'interaction.forum') : '<span class="icon icon-lg icon-star left" role="presentation" aria-hidden="true"></span> ' . get_string('Subscribe', 'interaction.forum'),
'help' => false
),
'forum' => array(
......
......@@ -80,7 +80,7 @@ if ($membership && !$topic->forumsubscribed) {
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default',
'value' => $topic->topicsubscribed ? '<span class="icon icon-times icon-lg text-danger left" role="presentation"></span>'. get_string('unsubscribefromtopic', 'interaction.forum') : '<span class="icon icon-star icon-lg left" role="presentation"></span>' . get_string('subscribetotopic', 'interaction.forum'),
'value' => $topic->topicsubscribed ? '<span class="icon icon-times icon-lg text-danger left" role="presentation" aria-hidden="true"></span>'. get_string('unsubscribefromtopic', 'interaction.forum') : '<span class="icon icon-star icon-lg left" role="presentation" aria-hidden="true"></span>' . get_string('subscribetotopic', 'interaction.forum'),
'help' => false
),
'topic' => array(
......
......@@ -182,7 +182,7 @@ if ($membership) {
'type' => 'button',
'usebuttontag' => true,
'class' => 'btn-default',
'value' => $forum->subscribed ? '<span class="icon icon-lg icon-times left text-danger" role="presentation"></span> ' . get_string('unsubscribefromforum', 'interaction.forum') : '<span class="icon icon-lg icon-star left" role="presentation"></span> ' . get_string('subscribetoforum', 'interaction.forum'),
'value' => $forum->subscribed ? '<span class="icon icon-lg icon-times left text-danger" role="presentation" aria-hidden="true"></span> ' . get_string('unsubscribefromforum', 'interaction.forum') : '<span class="icon icon-lg icon-star left" role="presentation" aria-hidden="true"></span> ' . get_string('subscribetoforum', 'interaction.forum'),
'help' => false
),
'forum' => array(
......
......@@ -22,3 +22,4 @@ Changes:
* Keep focus position when loading more elements with infinite scrolling
* Add label to "Remove tag" button
* Make "Remove tag" button work with the keyboard
* Adding the 'aria-hidden="true"' to presentation icons
\ No newline at end of file
......@@ -1445,8 +1445,8 @@ S2.define('select2/selection/single',[
$selection.html(
'<span class="select2-selection__rendered"></span>' +
'<span class="select2-selection__arrow" role="presentation">' +
'<b role="presentation"></b>' +
'<span class="select2-selection__arrow" role="presentation" aria-hidden="true">' +
'<b role="presentation" aria-hidden="true"></b>' +
'</span>'
);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -1429,8 +1429,8 @@ S2.define('select2/selection/single',[
$selection.html(
'<span class="select2-selection__rendered"></span>' +
'<span class="select2-selection__arrow" role="presentation">' +
'<b role="presentation"></b>' +
'<span class="select2-selection__arrow" role="presentation" aria-hidden="true">' +
'<b role="presentation" aria-hidden="true"></b>' +
'</span>'
);
......@@ -1566,7 +1566,7 @@ S2.define('select2/selection/multiple',[
MultipleSelection.prototype.selectionContainer = function () {
var $container = $(
'<li class="select2-selection__choice">' +
'<span class="select2-selection__choice__remove" role="presentation">' +
'<span class="select2-selection__choice__remove" role="presentation" aria-hidden="true">' +
'&times;' +
'</span>' +
'</li>'
......
/*! Select2 4.0.0 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){return n.apply(b,v.call(arguments,0).concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice;this.listeners=this.listeners||{},a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),this.$results.append(d)},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")});var f=e.filter("[aria-selected=true]");f.length>0?f.first().trigger("mouseenter"):e.first().trigger("mouseenter")})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";{a(h)}this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b){var c=this,d=b.id+"-results";this.$results.attr("id",d),b.on("results:all",function(a){c.clear(),c.append(a.data),b.isOpen()&&c.setClasses()}),b.on("results:append",function(a){c.append(a.data),b.isOpen()&&c.setClasses()}),b.on("query",function(a){c.showLoading(a)}),b.on("select",function(){b.isOpen()&&c.setClasses()}),b.on("unselect",function(){b.isOpen()&&c.setClasses()}),b.on("open",function(){c.$results.attr("aria-expanded","true"),c.$results.attr("aria-hidden","false"),c.setClasses(),c.ensureHighlightVisible()}),b.on("close",function(){c.$results.attr("aria-expanded","false"),c.$results.attr("aria-hidden","true"),c.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=c.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=c.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?c.trigger("close"):c.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=c.getHighlightedResults(),b=c.$results.find("[aria-selected]"),d=b.index(a);if(0!==d){var e=d-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=c.$results.offset().top,h=f.offset().top,i=c.$results.scrollTop()+(h-g);0===e?c.$results.scrollTop(0):0>h-g&&c.$results.scrollTop(i)}}),b.on("results:next",function(){var a=c.getHighlightedResults(),b=c.$results.find("[aria-selected]"),d=b.index(a),e=d+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=c.$results.offset().top+c.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=c.$results.scrollTop()+h-g;0===e?c.$results.scrollTop(0):h>g&&c.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){c.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=c.$results.scrollTop(),d=c.$results.get(0).scrollHeight-c.$results.scrollTop()+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&d<=c.$results.height();e?(c.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(c.$results.scrollTop(c.$results.get(0).scrollHeight-c.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var d=a(this),e=d.data("data");return"true"===d.attr("aria-selected")?void(c.options.get("multiple")?c.trigger("unselect",{originalEvent:b,data:e}):c.trigger("close")):void c.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(){var b=a(this).data("data");c.getHighlightedResults().removeClass("select2-results__option--highlighted"),c.trigger("results:focus",{data:b,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a){var b=this,d=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){b.trigger("focus",a)}),this.$selection.on("blur",function(a){b.trigger("blur",a)}),this.$selection.on("keydown",function(a){b.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){b.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){b.update(a.data)}),a.on("open",function(){b.$selection.attr("aria-expanded","true"),b.$selection.attr("aria-owns",d),b._attachCloseHandler(a)}),a.on("close",function(){b.$selection.attr("aria-expanded","false"),b.$selection.removeAttr("aria-activedescendant"),b.$selection.removeAttr("aria-owns"),b.$selection.focus(),b._detachCloseHandler(a)}),a.on("enable",function(){b.$selection.attr("tabindex",b._tabindex)}),a.on("disable",function(){b.$selection.attr("tabindex","-1")})},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c){function d(){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},d.prototype.bind=function(a){var b=this;d.__super__.bind.apply(this,arguments);var c=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",c),this.$selection.attr("aria-labelledby",c),this.$selection.on("mousedown",function(a){1===a.which&&b.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(){}),this.$selection.on("blur",function(){}),a.on("selection:update",function(a){b.update(a.data)})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a){var b=this.options.get("templateSelection"),c=this.options.get("escapeMarkup");return c(b(a))},d.prototype.selectionContainer=function(){return a("<span></span>")},d.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.display(b),d=this.$selection.find(".select2-selection__rendered");d.empty().append(c),d.prop("title",b.title||b.text)},d}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(){var b=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){b.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(c){var d=a(this),e=d.parent(),f=e.data("data");b.trigger("unselect",{originalEvent:c,data:f})})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a){var b=this.options.get("templateSelection"),c=this.options.get("escapeMarkup");return c(b(a))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.display(e),g=this.selectionContainer();g.append(f),g.prop("title",e.title||e.text),g.data("data",e),b.push(g)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(){function a(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},a.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},a}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle")}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus()}),b.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.focus()}),b.on("enable",function(){e.$search.prop("disabled",!1)}),b.on("disable",function(){e.$search.prop("disabled",!0)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e.trigger("blur",a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}}),this.$selection.on("input",".select2-search--inline",function(){e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input",".select2-search--inline",function(a){e.handleSearch(a)})},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.trigger("open"),this.$search.val(b.text+" ")},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"":"A","":"A","À":"A","Á":"A","Â":"A","":"A","":"A","":"A","":"A","Ã":"A","Ā":"A","Ă":"A","":"A","":"A","":"A","":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","":"A","":"A","":"A","":"A","Ą":"A","Ⱥ":"A","":"A","":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","":"AO","":"AU","":"AV","":"AV","":"AY","":"B","":"B","":"B","":"B","":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","":"C","":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","":"C","Ƈ":"C","Ȼ":"C","":"C","":"D","":"D","":"D","Ď":"D","":"D","":"D","":"D","":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","":"E","":"E","È":"E","É":"E","Ê":"E","":"E","":"E","":"E","":"E","":"E","Ē":"E","":"E","":"E","Ĕ":"E","Ė":"E","Ë":"E","":"E","Ě":"E","Ȅ":"E","Ȇ":"E","":"E","":"E","Ȩ":"E","":"E","Ę":"E","":"E","":"E","Ɛ":"E","Ǝ":"E","":"F","":"F","":"F","Ƒ":"F","":"F","":"G","":"G","Ǵ":"G","Ĝ":"G","":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","":"G","":"G","":"G","":"H","":"H","Ĥ":"H","":"H","":"H","Ȟ":"H","":"H","":"H","":"H","Ħ":"H","":"H","":"H","":"H","":"I","":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","":"I","":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","":"I","Į":"I","":"I","Ɨ":"I","":"J","":"J","Ĵ":"J","Ɉ":"J","":"K","":"K","":"K","Ǩ":"K","":"K","Ķ":"K","":"K","Ƙ":"K","":"K","":"K","":"K","":"K","":"K","":"L","":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","":"L","":"L","Ļ":"L","":"L","":"L","Ł":"L","Ƚ":"L","":"L","":"L","":"L","":"L","":"L","LJ":"LJ","Lj":"Lj","":"M","":"M","":"M","":"M","":"M","":"M","Ɯ":"M","":"N","":"N","Ǹ":"N","Ń":"N","Ñ":"N","":"N","Ň":"N","":"N","Ņ":"N","":"N","":"N","Ƞ":"N","Ɲ":"N","":"N","":"N","NJ":"NJ","Nj":"Nj","":"O","":"O","Ò":"O","Ó":"O","Ô":"O","":"O","":"O","":"O","":"O","Õ":"O","":"O","Ȭ":"O","":"O","Ō":"O","":"O","":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","":"O","":"O","":"O","":"O","":"O","":"O","":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","":"O","":"O","Ƣ":"OI","":"OO","Ȣ":"OU","":"P","":"P","":"P","":"P","Ƥ":"P","":"P","":"P","":"P","":"P","":"Q","":"Q","":"Q","":"Q","Ɋ":"Q","":"R","":"R","Ŕ":"R","":"R","Ř":"R","Ȑ":"R","Ȓ":"R","":"R","":"R","Ŗ":"R","":"R","Ɍ":"R","":"R","":"R","":"R","":"R","":"S","":"S","":"S","Ś":"S","":"S","Ŝ":"S","":"S","Š":"S","":"S","":"S","":"S","Ș":"S","Ş":"S","":"S","":"S","":"S","":"T","":"T","":"T","Ť":"T","":"T","Ț":"T","Ţ":"T","":"T","":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","":"T","":"TZ","":"U","":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","":"U","Ū":"U","":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","":"U","":"U","":"U","":"U","":"U","":"U","":"U","Ų":"U","":"U","":"U","Ʉ":"U","":"V","":"V","":"V","":"V","Ʋ":"V","":"V","Ʌ":"V","":"VY","":"W","":"W","":"W","":"W","Ŵ":"W","":"W","":"W","":"W","":"W","":"X","":"X","":"X","":"X","":"Y","":"Y","":"Y","Ý":"Y","Ŷ":"Y","":"Y","Ȳ":"Y","":"Y","Ÿ":"Y","":"Y","":"Y","Ƴ":"Y","Ɏ":"Y","":"Y","":"Z","":"Z","Ź":"Z","":"Z","Ż":"Z","Ž":"Z","":"Z","":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","":"Z","":"Z","":"a","":"a","":"a","à":"a","á":"a","â":"a","":"a","":"a","":"a","":"a","ã":"a","ā":"a","ă":"a","":"a","":"a","":"a","":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","":"a","":"a","":"a","":"a","ą":"a","":"a","ɐ":"a","":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","":"ao","":"au","":"av","":"av","":"ay","":"b","":"b","":"b","":"b","":"b","ƀ":"b","ƃ":"b","ɓ":"b","":"c","":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","":"c","ƈ":"c","ȼ":"c","":"c","":"c","":"d","":"d","":"d","ď":"d","":"d","":"d","":"d","":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","":"d","dz":"dz","dž":"dz","":"e","":"e","è":"e","é":"e","ê":"e","":"e","ế":"e","":"e","":"e","":"e","ē":"e","":"e","":"e","ĕ":"e","ė":"e","ë":"e","":"e","ě":"e","ȅ":"e","ȇ":"e","":"e","":"e","ȩ":"e","":"e","ę":"e","":"e","":"e","ɇ":"e","ɛ":"e","ǝ":"e","":"f","":"f","":"f","ƒ":"f","":"f","":"g","":"g","ǵ":"g","ĝ":"g","":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","":"g","":"g","":"g","":"h","":"h","ĥ":"h","":"h","":"h","ȟ":"h","":"h","":"h","":"h","":"h","ħ":"h","":"h","":"h","ɥ":"h","ƕ":"hv","":"i","":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","":"i","":"i","ǐ":"i","ȉ":"i","ȋ":"i","":"i","į":"i","":"i","ɨ":"i","ı":"i","":"j","":"j","ĵ":"j","ǰ":"j","ɉ":"j","":"k","":"k","":"k","ǩ":"k","":"k","ķ":"k","":"k","ƙ":"k","":"k","":"k","":"k","":"k","":"k","":"l","":"l","ŀ":"l","ĺ":"l","ľ":"l","":"l","":"l","ļ":"l","":"l","":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","":"l","":"l","":"l","":"l","lj":"lj","":"m","":"m","ḿ":"m","":"m","":"m","ɱ":"m","ɯ":"m","":"n","":"n","ǹ":"n","ń":"n","ñ":"n","":"n","ň":"n","":"n","ņ":"n","":"n","":"n","ƞ":"n","ɲ":"n","ʼn":"n","":"n","":"n","nj":"nj","":"o","":"o","ò":"o","ó":"o","ô":"o","":"o","":"o","":"o","":"o","õ":"o","":"o","ȭ":"o","":"o","ō":"o","":"o","":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","":"o","":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","":"oo","":"p","":"p","":"p","":"p","ƥ":"p","":"p","":"p","":"p","":"p","":"q","":"q","ɋ":"q","":"q","":"q","":"r","":"r","ŕ":"r","":"r","ř":"r","ȑ":"r","ȓ":"r",""</