diff --git a/README.md b/README.md
index a5c00b17..7b25b852 100644
--- a/README.md
+++ b/README.md
@@ -259,7 +259,7 @@ versions packaged.
* Handlebars: [homepage](https://handlebarsjs.com/) - [snapshot](http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars.min-714a4c4.js) - [license](https://github.com/wycats/handlebars.js/blob/v4.0.6/LICENSE)
* jQuery: [homepage](https://blog.jquery.com/) - [snapshot](https://code.jquery.com/jquery-3.2.1.min.js) - [license](https://github.com/jquery/jquery/blob/3.2.1/LICENSE.txt)
* JSZip: [homepage](https://stuk.github.io/jszip/) - [snapshot](https://raw.githubusercontent.com/Stuk/jszip/de7f52fbcba485737bef7923a83f0fad92d9f5bc/dist/jszip.min.js) - [license](https://github.com/Stuk/jszip/blob/v3.1.3/LICENSE.markdown)
-* WanaKana: [homepage](https://wanakana.com/) - [snapshot](https://raw.githubusercontent.com/WaniKani/WanaKana/7c4a052/gh-pages/assets/js/wanakana.min.js) - [license](https://github.com/WaniKani/WanaKana/blob/2.2.3/LICENSE)
+* WanaKana: [homepage](https://wanakana.com/) - [snapshot](https://unpkg.com/wanakana@4.0.2/umd/wanakana.min.js) - [license](https://github.com/WaniKani/WanaKana/blob/4.0.2/LICENSE)
## Frequently Asked Questions ##
diff --git a/ext/bg/legal.html b/ext/bg/legal.html
index 3047ab3e..082239d7 100644
--- a/ext/bg/legal.html
+++ b/ext/bg/legal.html
@@ -44,7 +44,7 @@ and are used in conformance with the Group's Handlebars v4.0.6
jQuery v3.2.1
JSZip v3.1.3
- WanaKana v2.2.3
+ WanaKana v4.0.2
diff --git a/ext/mixed/lib/wanakana.min.js b/ext/mixed/lib/wanakana.min.js
index bfc36d56..07b0d976 100644
--- a/ext/mixed/lib/wanakana.min.js
+++ b/ext/mixed/lib/wanakana.min.js
@@ -1 +1,2 @@
-!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(e.wanakana=e.wanakana||{})}(this,function(e){"use strict";function n(e){return"string"!=typeof e||!e.length}function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1],a=arguments[2];if(n(e))return!1;var r=e.charCodeAt(0);return r>=t&&a>=r}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return[].concat(le(e)).map(function(e,n){var a=e.charCodeAt(0),r=t(e,re,oe),o=t(e,ie,ue);return r?String.fromCharCode(a-re+V):o?String.fromCharCode(a-ie+W):e}).join("")}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=1>=arguments.length||void 0===arguments[1]||arguments[1];if(n(e))return!1;var a=t?/[bcdfghjklmnpqrstvwxyz]/:/[bcdfghjklmnpqrstvwxz]/;return-1!==e.toLowerCase().charAt(0).search(a)}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&t(e,W,Y)}function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Math.min(e,n)}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments[2];return e.slice(n,t)}function y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=1>=arguments.length||void 0===arguments[1]||arguments[1];if(n(e))return!1;var a=t?/[aeiouy]/:/[aeiou]/;return-1!==e.toLowerCase().charAt(0).search(a)}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&e.charCodeAt(0)===ye}function h(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&e.charCodeAt(0)===ce}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&(!!c(e)||t(e,Z,$))}function f(){var e=[];return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split("").forEach(function(n){if(c(n)||h(n))e.push(n);else if(s(n)){var t=n.charCodeAt(0)+(ee-Z),a=String.fromCharCode(t);e.push(a)}else e.push(n)}),e.join("")}function d(){return t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",ee,ne)}function v(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&(s(e)||d(e))}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&[].concat(le(e)).every(v)}function g(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],c=Object.assign({},X,n),h=[],s=0,d=e.length,v=3,g="",w="";d>s;){var p=null;for(v=i(3,d-s);v>0;){if(g=u(e,s,s+v),w=g.toLowerCase(),se.includes(w)&&d-s>=4)w=(g=u(e,s,s+(v+=1))).toLowerCase();else{if("n"===w.charAt(0)){if(2===v){if(!c.IMEMode&&" "===w.charAt(1)){p="ん ";break}if(c.IMEMode&&"n'"===w){p="ん";break}}r(w.charAt(1),!1)&&y(w.charAt(2))&&(w=(g=u(e,s,s+(v=1))).toLowerCase())}"n"!==w.charAt(0)&&r(w.charAt(0))&&g.charAt(0)===g.charAt(1)&&(v=1,t(g.charAt(0),W,Y)?(w="ッ",g="ッ"):(w="っ",g="っ"))}if(null!=(p=fe[w]))break;v-=4===v?2:1}null==p&&(p=g),c.useObsoleteKana&&("wi"===w&&(p="ゐ"),"we"===w&&(p="ゑ")),c.IMEMode&&"n"===w.charAt(0)&&("y"===e.charAt(s+1).toLowerCase()&&!1===y(e.charAt(s+2))||s===d-1||l(e.charAt(s+1)))&&(p=g.charAt(0)),a||o(g.charAt(0))&&(p=f(p)),h.push(p),s+=v||1}return h.join("")}function w(e){var n=m(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});if(e instanceof Element&&ge.includes(e.nodeName)){var t=be();e.setAttribute("data-wanakana-id",t),e.autocapitalize="none",e.addEventListener("compositionupdate",b),e.addEventListener("input",n),we=k(n,t)}else console.warn("Input provided to wanakana.bind was not a valid input field.")}function p(e){var n=j(e);null!=n?(e.removeAttribute("data-wanakana-id"),e.removeEventListener("compositionupdate",b),e.removeEventListener("input",n.handler),we=A(n)):console.warn("Input had no listener registered.")}function m(e){var n=Object.assign({},X,e);return function(e){var t=e.target;if(me)me=!1;else{var r=a(t.value),o=g(x(r,n.IMEMode),Object.assign({},n,{IMEMode:!0}));if(r!==o){if(t.value=o,null!=t.setSelectionRange&&"number"==typeof t.selectionStart)return void t.setSelectionRange(t.value.length,t.value.length);if(null!=t.createTextRange){t.focus();var i=t.createTextRange();i.collapse(!1),i.select()}}}}}function b(e){var n=e.data||e.detail&&e.detail.data,t=n&&n.slice(-2).split("")||[],o="n"===t[0],i=t.every(function(e){return r(a(e))});me=!o&&i}function k(e,n){return we.concat({id:n,handler:e})}function j(e){return e&&we.find(function(n){return n.id===e.getAttribute("data-wanakana-id")})}function A(e){var n=e.id;return we.filter(function(e){return e.id!==n})}function x(e,n){switch(!0){case"toHiragana"===n:return e.toLowerCase();case"toKatakana"===n:return e.toUpperCase();default:return e}}function q(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&F.test(e)}function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&[].concat(le(e)).every(function(e){return q(e)})}function z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&[].concat(le(e)).every(function(e){return B.test(e)})}function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&[].concat(le(e)).every(s)}function M(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&[].concat(le(e)).every(d)}function K(){return t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",te,ae)}function L(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&[].concat(le(e)).every(K)}function O(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{passKanji:!0},t=[].concat(le(e)),a=!1;return n.passKanji||(a=t.some(L)),(t.some(E)||t.some(M))&&t.some(C)&&!a}function I(){for(var e=[],n="",t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(""),a=0;t.length>a;a+=1){var r=t[a],o=[h(r),c(r)],i=o[0],u=o[1];if(i||u&&1>a)e.push(r);else if(u&&a>0){var y=de[n].slice(-1);e.push(he[y])}else if(d(r)){var s=r.charCodeAt(0)+(Z-ee),f=String.fromCharCode(s);e.push(f),n=f}else e.push(r),n=""}return e.join("")}function R(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=Object.assign({},X,n),a=e.length,r=[],o=0,y=2,c="",h="",s=void 0;a>o;){y=i(2,a-o);for(var f=!1;y>0;){if(c=u(e,o,o+y),M(c)&&(f=t.upcaseKatakana,c=I(c)),"っ"===c.charAt(0)&&1===y&&a-1>o){s=!0,h="";break}if(null!=(h=de[c])&&s&&(h=h.charAt(0).concat(h),s=!1),null!=h)break;y-=1}null==h&&(h=c),f&&(h=h.toUpperCase()),r.push(h),o+=y||1}return r.join("")}function S(){return g(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},!0)}function T(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=Object.assign({},X,n);return t.passRomaji?I(e):C(e)?S(e,t):O(e,{passKanji:!0})?S(I(e),t):I(e)}function H(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=Object.assign({},X,n);return f(t.passRomaji?e:C(e)||O(e)?S(e,t):e)}function P(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&G.some(function(n){var a=ve(n,2);return t(e,a[0],a[1])})}function U(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return Q.some(function(n){var a=ve(n,2);return t(e,a[0],a[1])})}function D(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return!n(e)&&(P(e)||U(e))}function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{all:!1};if(n(e)||!z(e)||l(e))return e;var a=[].concat(le(e));if(t.all)return a.filter(function(e){return!v(e)}).join("");for(var r=a.reverse(),o=0,i=r.length;i>o;o+=1){var u=r[o];if(!D(u)){if(L(u))break;r[o]=""}}return r.reverse().join("")}function _(e){switch(!0){case U(e):return"japanesePunctuation";case K(e):return"kanji";case s(e):return"hiragana";case d(e):return"katakana";default:return"romaji"}}function J(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(n(e))return[""];var t=[].concat(le(e)),a=t.shift(),r=_(a);return t.reduce(function(e,n){var t=_(n)===r;if(r=_(n),t){var a=e.pop();return e.concat(a.concat(n))}return e.concat(n)},[a])}var X={useObsoleteKana:!1,passRomaji:!1,upcaseKatakana:!1,IMEMode:!1},B=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff01-\uff0f\u4e00-\u9faf\u3400-\u4dbf]/,F=/[\u0000-\u007f\u0100-\u0101\u0112-\u0113\u012a-\u012b\u014c-\u014d\u016a-\u016b\u2018-\u2019\u201C-\u201D]/,G=[[33,47],[58,63],[91,96],[123,126],[8216,8217],[8220,8221]],Q=[[12289,12350],[12539,12540],[65281,65295],[65306,65311],[65339,65343],[65371,65376]],V=97,W=65,Y=90,Z=12353,$=12438,ee=12449,ne=12540,te=19968,ae=40879,re=65345,oe=65370,ie=65313,ue=65338,ye=12540,ce=12539,he={a:"あ",i:"い",u:"う",e:"え",o:"う"},se=["lts","chy","shy"],fe={".":"。",",":"、",":":":","/":"・","!":"!","?":"?","~":"〜","-":"ー","‘":"「","’":"」","“":"『","”":"』","[":"[","]":"]","(":"(",")":")","{":"{","}":"}",a:"あ",i:"い",u:"う",e:"え",o:"お",yi:"い",wu:"う",whu:"う",xa:"ぁ",xi:"ぃ",xu:"ぅ",xe:"ぇ",xo:"ぉ",xyi:"ぃ",xye:"ぇ",ye:"いぇ",wha:"うぁ",whi:"うぃ",whe:"うぇ",who:"うぉ",wi:"うぃ",we:"うぇ",va:"ゔぁ",vi:"ゔぃ",vu:"ゔ",ve:"ゔぇ",vo:"ゔぉ",vya:"ゔゃ",vyi:"ゔぃ",vyu:"ゔゅ",vye:"ゔぇ",vyo:"ゔょ",ka:"か",ki:"き",ku:"く",ke:"け",ko:"こ",lka:"ヵ",lke:"ヶ",xka:"ヵ",xke:"ヶ",kya:"きゃ",kyi:"きぃ",kyu:"きゅ",kye:"きぇ",kyo:"きょ",ca:"か",ci:"き",cu:"く",ce:"け",co:"こ",lca:"ヵ",lce:"ヶ",xca:"ヵ",xce:"ヶ",qya:"くゃ",qyu:"くゅ",qyo:"くょ",qwa:"くぁ",qwi:"くぃ",qwu:"くぅ",qwe:"くぇ",qwo:"くぉ",qa:"くぁ",qi:"くぃ",qe:"くぇ",qo:"くぉ",kwa:"くぁ",qyi:"くぃ",qye:"くぇ",ga:"が",gi:"ぎ",gu:"ぐ",ge:"げ",go:"ご",gya:"ぎゃ",gyi:"ぎぃ",gyu:"ぎゅ",gye:"ぎぇ",gyo:"ぎょ",gwa:"ぐぁ",gwi:"ぐぃ",gwu:"ぐぅ",gwe:"ぐぇ",gwo:"ぐぉ",sa:"さ",si:"し",shi:"し",su:"す",se:"せ",so:"そ",za:"ざ",zi:"じ",zu:"ず",ze:"ぜ",zo:"ぞ",ji:"じ",sya:"しゃ",syi:"しぃ",syu:"しゅ",sye:"しぇ",syo:"しょ",sha:"しゃ",shu:"しゅ",she:"しぇ",sho:"しょ",shya:"しゃ",shyu:"しゅ",shye:"しぇ",shyo:"しょ",swa:"すぁ",swi:"すぃ",swu:"すぅ",swe:"すぇ",swo:"すぉ",zya:"じゃ",zyi:"じぃ",zyu:"じゅ",zye:"じぇ",zyo:"じょ",ja:"じゃ",ju:"じゅ",je:"じぇ",jo:"じょ",jya:"じゃ",jyi:"じぃ",jyu:"じゅ",jye:"じぇ",jyo:"じょ",ta:"た",ti:"ち",tu:"つ",te:"て",to:"と",chi:"ち",tsu:"つ",ltu:"っ",xtu:"っ",tya:"ちゃ",tyi:"ちぃ",tyu:"ちゅ",tye:"ちぇ",tyo:"ちょ",cha:"ちゃ",chu:"ちゅ",che:"ちぇ",cho:"ちょ",cya:"ちゃ",cyi:"ちぃ",cyu:"ちゅ",cye:"ちぇ",cyo:"ちょ",chya:"ちゃ",chyu:"ちゅ",chye:"ちぇ",chyo:"ちょ",tsa:"つぁ",tsi:"つぃ",tse:"つぇ",tso:"つぉ",tha:"てゃ",thi:"てぃ",thu:"てゅ",the:"てぇ",tho:"てょ",twa:"とぁ",twi:"とぃ",twu:"とぅ",twe:"とぇ",two:"とぉ",da:"だ",di:"ぢ",du:"づ",de:"で",do:"ど",dya:"ぢゃ",dyi:"ぢぃ",dyu:"ぢゅ",dye:"ぢぇ",dyo:"ぢょ",dha:"でゃ",dhi:"でぃ",dhu:"でゅ",dhe:"でぇ",dho:"でょ",dwa:"どぁ",dwi:"どぃ",dwu:"どぅ",dwe:"どぇ",dwo:"どぉ",na:"な",ni:"に",nu:"ぬ",ne:"ね",no:"の",nya:"にゃ",nyi:"にぃ",nyu:"にゅ",nye:"にぇ",nyo:"にょ",ha:"は",hi:"ひ",hu:"ふ",he:"へ",ho:"ほ",fu:"ふ",hya:"ひゃ",hyi:"ひぃ",hyu:"ひゅ",hye:"ひぇ",hyo:"ひょ",fya:"ふゃ",fyu:"ふゅ",fyo:"ふょ",fwa:"ふぁ",fwi:"ふぃ",fwu:"ふぅ",fwe:"ふぇ",fwo:"ふぉ",fa:"ふぁ",fi:"ふぃ",fe:"ふぇ",fo:"ふぉ",fyi:"ふぃ",fye:"ふぇ",ba:"ば",bi:"び",bu:"ぶ",be:"べ",bo:"ぼ",bya:"びゃ",byi:"びぃ",byu:"びゅ",bye:"びぇ",byo:"びょ",pa:"ぱ",pi:"ぴ",pu:"ぷ",pe:"ぺ",po:"ぽ",pya:"ぴゃ",pyi:"ぴぃ",pyu:"ぴゅ",pye:"ぴぇ",pyo:"ぴょ",ma:"ま",mi:"み",mu:"む",me:"め",mo:"も",mya:"みゃ",myi:"みぃ",myu:"みゅ",mye:"みぇ",myo:"みょ",ya:"や",yu:"ゆ",yo:"よ",xya:"ゃ",xyu:"ゅ",xyo:"ょ",ra:"ら",ri:"り",ru:"る",re:"れ",ro:"ろ",rya:"りゃ",ryi:"りぃ",ryu:"りゅ",rye:"りぇ",ryo:"りょ",la:"ら",li:"り",lu:"る",le:"れ",lo:"ろ",lya:"りゃ",lyi:"りぃ",lyu:"りゅ",lye:"りぇ",lyo:"りょ",wa:"わ",wo:"を",lwe:"ゎ",xwa:"ゎ",n:"ん",nn:"ん","n'":"ん","n ":"ん",xn:"ん",ltsu:"っ"},de={" ":" ","!":"!","?":"?","。":".",":":":","・":"/","、":",","〜":"~","ー":"-","「":"‘","」":"’","『":"“","』":"”","[":"[","]":"]","(":"(",")":")","{":"{","}":"}","あ":"a","い":"i","う":"u","え":"e","お":"o","ゔぁ":"va","ゔぃ":"vi","ゔ":"vu","ゔぇ":"ve","ゔぉ":"vo","か":"ka","き":"ki","きゃ":"kya","きぃ":"kyi","きゅ":"kyu","く":"ku","け":"ke","こ":"ko","が":"ga","ぎ":"gi","ぐ":"gu","げ":"ge","ご":"go","ぎゃ":"gya","ぎぃ":"gyi","ぎゅ":"gyu","ぎぇ":"gye","ぎょ":"gyo","さ":"sa","す":"su","せ":"se","そ":"so","ざ":"za","ず":"zu","ぜ":"ze","ぞ":"zo","し":"shi","しゃ":"sha","しゅ":"shu","しょ":"sho","じ":"ji","じゃ":"ja","じゅ":"ju","じょ":"jo","た":"ta","ち":"chi","ちゃ":"cha","ちゅ":"chu","ちょ":"cho","つ":"tsu","て":"te","と":"to","だ":"da","ぢ":"di","づ":"du","で":"de","ど":"do","な":"na","に":"ni","にゃ":"nya","にゅ":"nyu","にょ":"nyo","ぬ":"nu","ね":"ne","の":"no","は":"ha","ひ":"hi","ふ":"fu","へ":"he","ほ":"ho","ひゃ":"hya","ひゅ":"hyu","ひょ":"hyo","ふぁ":"fa","ふぃ":"fi","ふぇ":"fe","ふぉ":"fo","ば":"ba","び":"bi","ぶ":"bu","べ":"be","ぼ":"bo","びゃ":"bya","びゅ":"byu","びょ":"byo","ぱ":"pa","ぴ":"pi","ぷ":"pu","ぺ":"pe","ぽ":"po","ぴゃ":"pya","ぴゅ":"pyu","ぴょ":"pyo","ま":"ma","み":"mi","む":"mu","め":"me","も":"mo","みゃ":"mya","みゅ":"myu","みょ":"myo","や":"ya","ゆ":"yu","よ":"yo","ら":"ra","り":"ri","る":"ru","れ":"re","ろ":"ro","りゃ":"rya","りゅ":"ryu","りょ":"ryo","わ":"wa","を":"wo","ん":"n","ゐ":"wi","ゑ":"we","きぇ":"kye","きょ":"kyo","じぃ":"jyi","じぇ":"jye","ちぃ":"cyi","ちぇ":"che","ひぃ":"hyi","ひぇ":"hye","びぃ":"byi","びぇ":"bye","ぴぃ":"pyi","ぴぇ":"pye","みぇ":"mye","みぃ":"myi","りぃ":"ryi","りぇ":"rye","にぃ":"nyi","にぇ":"nye","しぃ":"syi","しぇ":"she","いぇ":"ye","うぁ":"wha","うぉ":"who","うぃ":"wi","うぇ":"we","ゔゃ":"vya","ゔゅ":"vyu","ゔょ":"vyo","すぁ":"swa","すぃ":"swi","すぅ":"swu","すぇ":"swe","すぉ":"swo","くゃ":"qya","くゅ":"qyu","くょ":"qyo","くぁ":"qwa","くぃ":"qwi","くぅ":"qwu","くぇ":"qwe","くぉ":"qwo","ぐぁ":"gwa","ぐぃ":"gwi","ぐぅ":"gwu","ぐぇ":"gwe","ぐぉ":"gwo","つぁ":"tsa","つぃ":"tsi","つぇ":"tse","つぉ":"tso","てゃ":"tha","てぃ":"thi","てゅ":"thu","てぇ":"the","てょ":"tho","とぁ":"twa","とぃ":"twi","とぅ":"twu","とぇ":"twe","とぉ":"two","ぢゃ":"dya","ぢぃ":"dyi","ぢゅ":"dyu","ぢぇ":"dye","ぢょ":"dyo","でゃ":"dha","でぃ":"dhi","でゅ":"dhu","でぇ":"dhe","でょ":"dho","どぁ":"dwa","どぃ":"dwi","どぅ":"dwu","どぇ":"dwe","どぉ":"dwo","ふぅ":"fwu","ふゃ":"fya","ふゅ":"fyu","ふょ":"fyo","ぁ":"a","ぃ":"i","ぇ":"e","ぅ":"u","ぉ":"o","ゃ":"ya","ゅ":"yu","ょ":"yo","っ":"","ゕ":"ka","ゖ":"ka","ゎ":"wa","んあ":"n'a","んい":"n'i","んう":"n'u","んえ":"n'e","んお":"n'o","んや":"n'ya","んゆ":"n'yu","んよ":"n'yo"},ve=function(){function e(e,n){var t=[],a=!0,r=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(a=(i=u.next()).done)&&(t.push(i.value),!n||t.length!==n);a=!0);}catch(e){r=!0,o=e}finally{try{!a&&u.return&&u.return()}finally{if(r)throw o}}return t}return function(n,t){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return e(n,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),le=function(e){if(Array.isArray(e)){for(var n=0,t=Array(e.length);e.length>n;n++)t[n]=e[n];return t}return Array.from(e)},ge=["TEXTAREA","INPUT"],we=[],pe=0,me=!1,be=function(){return pe+=1,""+Date.now()+pe};e.bind=w,e.unbind=p,e.isRomaji=C,e.isJapanese=z,e.isKana=l,e.isHiragana=E,e.isKatakana=M,e.isMixed=O,e.isKanji=L,e.toRomaji=R,e.toKana=g,e.toHiragana=T,e.toKatakana=H,e.stripOkurigana=N,e.tokenize=J,Object.defineProperty(e,"__esModule",{value:!0})});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.wanakana={})}(this,function(t){"use strict";var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),o=Object.freeze({default:r,__moduleExports:r}),i=n(function(t){var e=t.exports={version:"2.5.5"};"number"==typeof __e&&(__e=e)}),u=Object.freeze({default:i,__moduleExports:i,version:i.version}),a=function(t){return"object"==typeof t?null!==t:"function"==typeof t},c=Object.freeze({default:a,__moduleExports:a}),f=c&&a||c,s=function(t){if(!f(t))throw TypeError(t+" is not an object!");return t},l=Object.freeze({default:s,__moduleExports:s}),h=function(t){try{return!!t()}catch(t){return!0}},d=Object.freeze({default:h,__moduleExports:h}),v=d&&h||d,p=!v(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),y=Object.freeze({default:p,__moduleExports:p}),g=o&&r||o,_=g.document,m=f(_)&&f(_.createElement),b=function(t){return m?_.createElement(t):{}},E=Object.freeze({default:b,__moduleExports:b}),O=y&&p||y,j=E&&b||E,w=!O&&!v(function(){return 7!=Object.defineProperty(j("div"),"a",{get:function(){return 7}}).a}),x=Object.freeze({default:w,__moduleExports:w}),S=function(t,e){if(!f(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!f(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!f(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!f(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},A=Object.freeze({default:S,__moduleExports:S}),M=l&&s||l,z=x&&w||x,N=A&&S||A,P=Object.defineProperty,k=O?Object.defineProperty:function(t,e,n){if(M(t),e=N(e,!0),M(n),z)try{return P(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t},L={f:k},F=Object.freeze({default:L,__moduleExports:L,f:k}),I=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},R=Object.freeze({default:I,__moduleExports:I}),T=F&&L||F,C=R&&I||R,W=O?function(t,e,n){return T.f(t,e,C(1,n))}:function(t,e,n){return t[e]=n,t},U=Object.freeze({default:W,__moduleExports:W}),K={}.hasOwnProperty,B=function(t,e){return K.call(t,e)},D=Object.freeze({default:B,__moduleExports:B}),V=0,G=Math.random(),J=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++V+G).toString(36))},H=Object.freeze({default:J,__moduleExports:J}),Y=U&&W||U,q=D&&B||D,X=H&&J||H,$=u&&i||u,Q=n(function(t){var e=X("src"),n=Function.toString,r=(""+n).split("toString");$.inspectSource=function(t){return n.call(t)},(t.exports=function(t,n,o,i){var u="function"==typeof o;u&&(q(o,"name")||Y(o,"name",n)),t[n]!==o&&(u&&(q(o,e)||Y(o,e,t[n]?""+t[n]:r.join(n+""))),t===g?t[n]=o:i?t[n]?t[n]=o:Y(t,n,o):(delete t[n],Y(t,n,o)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[e]||n.call(this)})}),Z=Object.freeze({default:Q,__moduleExports:Q}),tt=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t},et=Object.freeze({default:tt,__moduleExports:tt}),nt=et&&tt||et,rt=function(t,e,n){if(nt(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},ot=Object.freeze({default:rt,__moduleExports:rt}),it=Z&&Q||Z,ut=ot&&rt||ot,at=function(t,e,n){var r,o,i,u,a=t&at.F,c=t&at.G,f=t&at.P,s=t&at.B,l=c?g:t&at.S?g[e]||(g[e]={}):(g[e]||{}).prototype,h=c?$:$[e]||($[e]={}),d=h.prototype||(h.prototype={});for(r in c&&(n=e),n)i=((o=!a&&l&&void 0!==l[r])?l:n)[r],u=s&&o?ut(i,g):f&&"function"==typeof i?ut(Function.call,i):i,l&&it(l,r,i,t&at.U),h[r]!=i&&Y(h,r,u),f&&d[r]!=i&&(d[r]=i)};g.core=$,at.F=1,at.G=2,at.S=4,at.P=8,at.B=16,at.W=32,at.U=64,at.R=128;for(var ct,ft=at,st=Object.freeze({default:ft,__moduleExports:ft}),lt=X("typed_array"),ht=X("view"),dt=!(!g.ArrayBuffer||!g.DataView),vt=dt,pt=0,yt="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");9>pt;)(ct=g[yt[pt++]])?(Y(ct.prototype,lt,!0),Y(ct.prototype,ht,!0)):vt=!1;var gt={ABV:dt,CONSTR:vt,TYPED:lt,VIEW:ht},_t=Object.freeze({default:gt,__moduleExports:gt,ABV:gt.ABV,CONSTR:gt.CONSTR,TYPED:gt.TYPED,VIEW:gt.VIEW}),mt=Object.freeze({default:!1,__moduleExports:!1}),bt=function(t,e,n){for(var r in e)it(t,r,e[r],n);return t},Et=Object.freeze({default:bt,__moduleExports:bt}),Ot=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t},jt=Object.freeze({default:Ot,__moduleExports:Ot}),wt=Math.ceil,xt=Math.floor,St=function(t){return isNaN(t=+t)?0:(t>0?xt:wt)(t)},At=Object.freeze({default:St,__moduleExports:St}),Mt=At&&St||At,zt=Math.min,Nt=function(t){return t>0?zt(Mt(t),9007199254740991):0},Pt=Object.freeze({default:Nt,__moduleExports:Nt}),kt=Pt&&Nt||Pt,Lt=function(t){if(void 0===t)return 0;var e=Mt(t),n=kt(e);if(e!==n)throw RangeError("Wrong length!");return n},Ft=Object.freeze({default:Lt,__moduleExports:Lt}),It={}.toString,Rt=function(t){return It.call(t).slice(8,-1)},Tt=Object.freeze({default:Rt,__moduleExports:Rt}),Ct=Tt&&Rt||Tt,Wt=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==Ct(t)?t.split(""):Object(t)},Ut=Object.freeze({default:Wt,__moduleExports:Wt}),Kt=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t},Bt=Object.freeze({default:Kt,__moduleExports:Kt}),Dt=Ut&&Wt||Ut,Vt=Bt&&Kt||Bt,Gt=function(t){return Dt(Vt(t))},Jt=Object.freeze({default:Gt,__moduleExports:Gt}),Ht=Math.max,Yt=Math.min,qt=function(t,e){return 0>(t=Mt(t))?Ht(t+e,0):Yt(t,e)},Xt=Object.freeze({default:qt,__moduleExports:qt}),$t=Jt&&Gt||Jt,Qt=Xt&&qt||Xt,Zt=function(t){return function(e,n,r){var o,i=$t(e),u=kt(i.length),a=Qt(r,u);if(t&&n!=n){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===n)return t||a||0;return!t&&-1}},te=Object.freeze({default:Zt,__moduleExports:Zt}),ee=g["__core-js_shared__"]||(g["__core-js_shared__"]={}),ne=function(t){return ee[t]||(ee[t]={})},re=Object.freeze({default:ne,__moduleExports:ne}),oe=re&&ne||re,ie=oe("keys"),ue=function(t){return ie[t]||(ie[t]=X(t))},ae=Object.freeze({default:ue,__moduleExports:ue}),ce=te&&Zt||te,fe=ae&&ue||ae,se=ce(!1),le=fe("IE_PROTO"),he=function(t,e){var n,r=$t(t),o=0,i=[];for(n in r)n!=le&&q(r,n)&&i.push(n);for(;e.length>o;)q(r,n=e[o++])&&(~se(i,n)||i.push(n));return i},de=Object.freeze({default:he,__moduleExports:he}),ve="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),pe=Object.freeze({default:ve,__moduleExports:ve}),ye=de&&he||de,ge=pe&&ve||pe,_e=ge.concat("length","prototype"),me=Object.getOwnPropertyNames||function(t){return ye(t,_e)},be={f:me},Ee=Object.freeze({default:be,__moduleExports:be,f:me}),Oe=function(t){return Object(Vt(t))},je=Object.freeze({default:Oe,__moduleExports:Oe}),we=je&&Oe||je,xe=function(t){for(var e=we(this),n=kt(e.length),r=arguments.length,o=Qt(r>1?arguments[1]:void 0,n),i=r>2?arguments[2]:void 0,u=void 0===i?n:Qt(i,n);u>o;)e[o++]=t;return e},Se=Object.freeze({default:xe,__moduleExports:xe}),Ae=n(function(t){var e=oe("wks"),n=g.Symbol,r="function"==typeof n;(t.exports=function(t){return e[t]||(e[t]=r&&n[t]||(r?n:X)("Symbol."+t))}).store=e}),Me=Object.freeze({default:Ae,__moduleExports:Ae}),ze=Me&&Ae||Me,Ne=T.f,Pe=ze("toStringTag"),ke=function(t,e,n){t&&!q(t=n?t:t.prototype,Pe)&&Ne(t,Pe,{configurable:!0,value:e})},Le=Object.freeze({default:ke,__moduleExports:ke}),Fe=mt,Ie=_t&>||_t,Re=Et&&bt||Et,Te=jt&&Ot||jt,Ce=Ft&&Lt||Ft,We=Ee&&be||Ee,Ue=Se&&xe||Se,Ke=Le&&ke||Le,Be=n(function(t,e){var n=We.f,r=T.f,o="prototype",i="Wrong index!",u=g.ArrayBuffer,a=g.DataView,c=g.Math,f=g.RangeError,s=g.Infinity,l=u,h=c.abs,d=c.pow,p=c.floor,y=c.log,_=c.LN2,m=O?"_b":"buffer",b=O?"_l":"byteLength",E=O?"_o":"byteOffset";function j(t,e,n){var r,o,i,u=Array(n),a=8*n-e-1,c=(1<>1,l=23===e?d(2,-24)-d(2,-77):0,v=0,g=0>t||0===t&&0>1/t?1:0;for((t=h(t))!=t||t===s?(o=t!=t?1:0,r=c):(r=p(y(t)/_),1>t*(i=d(2,-r))&&(r--,i*=2),2>(t+=1>r+f?l*d(2,1-f):l/i)*i||(r++,i/=2),c>r+f?1>r+f?(o=t*d(2,f-1)*d(2,e),r=0):(o=(t*i-1)*d(2,e),r+=f):(o=0,r=c));e>=8;u[v++]=255&o,o/=256,e-=8);for(r=r<0;u[v++]=255&r,r/=256,a-=8);return u[--v]|=128*g,u}function w(t,e,n){var r,o=8*n-e-1,i=(1<>1,a=o-7,c=n-1,f=t[c--],l=127&f;for(f>>=7;a>0;l=256*l+t[c],c--,a-=8);for(r=l&(1<<-a)-1,l>>=-a,a+=e;a>0;r=256*r+t[c],c--,a-=8);if(0===l)l=1-u;else{if(l===i)return r?NaN:f?-s:s;r+=d(2,e),l-=u}return(f?-1:1)*r*d(2,l-e)}function x(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function S(t){return[255&t]}function A(t){return[255&t,t>>8&255]}function M(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function z(t){return j(t,52,8)}function N(t){return j(t,23,4)}function P(t,e,n){r(t[o],e,{get:function(){return this[n]}})}function k(t,e,n,r){var o=Ce(+n);if(o+e>t[b])throw f(i);var u=o+t[E],a=t[m]._b.slice(u,u+e);return r?a:a.reverse()}function L(t,e,n,r,o,u){var a=Ce(+n);if(a+e>t[b])throw f(i);for(var c=t[m]._b,s=a+t[E],l=r(+o),h=0;e>h;h++)c[s+h]=l[u?h:e-h-1]}if(Ie.ABV){if(!v(function(){u(1)})||!v(function(){new u(-1)})||v(function(){return new u,new u(1.5),new u(NaN),"ArrayBuffer"!=u.name})){for(var F,I=(u=function(t){return Te(this,u),new l(Ce(t))})[o]=l[o],R=n(l),C=0;R.length>C;)(F=R[C++])in u||Y(u,F,l[F]);Fe||(I.constructor=u)}var W=new a(new u(2)),U=a[o].setInt8;W.setInt8(0,2147483648),W.setInt8(1,2147483649),!W.getInt8(0)&&W.getInt8(1)||Re(a[o],{setInt8:function(t,e){U.call(this,t,e<<24>>24)},setUint8:function(t,e){U.call(this,t,e<<24>>24)}},!0)}else u=function(t){Te(this,u,"ArrayBuffer");var e=Ce(t);this._b=Ue.call(Array(e),0),this[b]=e},a=function(t,e,n){Te(this,a,"DataView"),Te(t,u,"DataView");var r=t[b],o=Mt(e);if(0>o||o>r)throw f("Wrong offset!");if(o+(n=void 0===n?r-o:kt(n))>r)throw f("Wrong length!");this[m]=t,this[E]=o,this[b]=n},O&&(P(u,"byteLength","_l"),P(a,"buffer","_b"),P(a,"byteLength","_l"),P(a,"byteOffset","_o")),Re(a[o],{getInt8:function(t){return k(this,1,t)[0]<<24>>24},getUint8:function(t){return k(this,1,t)[0]},getInt16:function(t){var e=k(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=k(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return x(k(this,4,t,arguments[1]))},getUint32:function(t){return x(k(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return w(k(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return w(k(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){L(this,1,t,S,e)},setUint8:function(t,e){L(this,1,t,S,e)},setInt16:function(t,e){L(this,2,t,A,e,arguments[2])},setUint16:function(t,e){L(this,2,t,A,e,arguments[2])},setInt32:function(t,e){L(this,4,t,M,e,arguments[2])},setUint32:function(t,e){L(this,4,t,M,e,arguments[2])},setFloat32:function(t,e){L(this,4,t,N,e,arguments[2])},setFloat64:function(t,e){L(this,8,t,z,e,arguments[2])}});Ke(u,"ArrayBuffer"),Ke(a,"DataView"),Y(a[o],Ie.VIEW,!0),e.ArrayBuffer=u,e.DataView=a}),De=Object.freeze({default:Be,__moduleExports:Be}),Ve=ze("species"),Ge=function(t,e){var n,r=M(t).constructor;return void 0===r||void 0==(n=M(r)[Ve])?e:nt(n)},Je=Object.freeze({default:Ge,__moduleExports:Ge}),He=ze("species"),Ye=function(t){var e=g[t];O&&e&&!e[He]&&T.f(e,He,{configurable:!0,get:function(){return this}})},qe=Object.freeze({default:Ye,__moduleExports:Ye}),Xe=st&&ft||st,$e=De&&Be||De,Qe=Je&&Ge||Je,Ze=qe&&Ye||qe,tn=g.ArrayBuffer,en=$e.ArrayBuffer,nn=$e.DataView,rn=Ie.ABV&&tn.isView,on=en.prototype.slice,un=Ie.VIEW;Xe(Xe.G+Xe.W+Xe.F*(tn!==en),{ArrayBuffer:en}),Xe(Xe.S+Xe.F*!Ie.CONSTR,"ArrayBuffer",{isView:function(t){return rn&&rn(t)||f(t)&&un in t}}),Xe(Xe.P+Xe.U+Xe.F*v(function(){return!new en(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==on&&void 0===e)return on.call(M(this),t);for(var n=M(this).byteLength,r=Qt(t,n),o=Qt(void 0===e?n:e,n),i=new(Qe(this,en))(kt(o-r)),u=new nn(this),a=new nn(i),c=0;o>r;)a.setUint8(c++,u.getUint8(r++));return i}}),Ze("ArrayBuffer");var an=ze("toStringTag"),cn="Arguments"==Ct(function(){return arguments}()),fn=function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),an))?n:cn?Ct(e):"Object"==(r=Ct(e))&&"function"==typeof e.callee?"Arguments":r},sn=Object.freeze({default:fn,__moduleExports:fn}),ln={},hn=Object.freeze({default:ln,__moduleExports:ln}),dn=hn&&ln||hn,vn=ze("iterator"),pn=Array.prototype,yn=function(t){return void 0!==t&&(dn.Array===t||pn[vn]===t)},gn=Object.freeze({default:yn,__moduleExports:yn}),_n=Object.keys||function(t){return ye(t,ge)},mn=Object.freeze({default:_n,__moduleExports:_n}),bn=mn&&_n||mn,En=O?Object.defineProperties:function(t,e){M(t);for(var n,r=bn(e),o=r.length,i=0;o>i;)T.f(t,n=r[i++],e[n]);return t},On=Object.freeze({default:En,__moduleExports:En}),jn=g.document,wn=jn&&jn.documentElement,xn=Object.freeze({default:wn,__moduleExports:wn}),Sn=On&&En||On,An=xn&&wn||xn,Mn=fe("IE_PROTO"),zn=function(){},Nn=function(){var t,e=j("iframe"),n=ge.length;for(e.style.display="none",An.appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("