ja-compromise 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ var t,e;t=this,e=function(){var t={methods:{one:{},two:{},three:{},four:{}},model:{one:{},two:{},three:{}},compute:{},hooks:[]};const e={compute:function(t){const{world:e}=this,n=e.compute;return"string"==typeof t&&n.hasOwnProperty(t)?n[t](this):(t=>"[object Array]"===Object.prototype.toString.call(t))(t)?t.forEach((r=>{e.compute.hasOwnProperty(r)?n[r](this):console.warn("no compute:",t)})):"function"==typeof t?t(this):console.warn("no compute:",t),this}};var n=e,r={forEach:function(t){return this.fullPointer.forEach(((e,n)=>{let r=this.update([e]);t(r,n)})),this},map:function(t,e){let n=this.fullPointer.map(((e,n)=>{let r=this.update([e]),o=t(r,n);return void 0===o?this.none():o}));if(0===n.length)return e||this.update([]);if(void 0!==n[0]){if("string"==typeof n[0])return n;if("object"==typeof n[0]&&(null===n[0]||!n[0].isView))return n}let r=[];return n.forEach((t=>{r=r.concat(t.fullPointer)})),this.toView(r)},filter:function(t){let e=this.fullPointer;return e=e.filter(((e,n)=>{let r=this.update([e]);return t(r,n)})),this.update(e)},find:function(t){let e=this.fullPointer.find(((e,n)=>{let r=this.update([e]);return t(r,n)}));return this.update([e])},some:function(t){return this.fullPointer.some(((e,n)=>{let r=this.update([e]);return t(r,n)}))},random:function(t=1){let e=this.fullPointer,n=Math.floor(Math.random()*e.length);return n+t>this.length&&(n=this.length-t,n=n<0?0:n),e=e.slice(n,n+t),this.update(e)}};const o={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){let e=this.match(".");return"number"==typeof t?e.eq(t):e},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);let e={};return Object.keys(this._groups).forEach((t=>{e[t]=this.update(this._groups[t])})),e},eq:function(t){let e=this.pointer;return e||(e=this.docs.map(((t,e)=>[e]))),e[t]?this.update([e[t]]):this.none()},first:function(){return this.eq(0)},last:function(){let t=this.fullPointer.length-1;return this.eq(t)},firstTerms:function(){return this.match("^.")},lastTerms:function(){return this.match(".$")},slice:function(t,e){let n=this.pointer||this.docs.map(((t,e)=>[e]));return n=n.slice(t,e),this.update(n)},all:function(){return this.update().toView()},fullSentences:function(){let t=this.fullPointer.map((t=>[t[0]]));return this.update(t).toView()},none:function(){return this.update([])},isDoc:function(t){if(!t||!t.isView)return!1;let e=this.fullPointer,n=t.fullPointer;return!e.length!==n.length&&e.every(((t,e)=>!!n[e]&&t[0]===n[e][0]&&t[1]===n[e][1]&&t[2]===n[e][2]))},wordCount:function(){return this.docs.reduce(((t,e)=>(t+=e.filter((t=>""!==t.text)).length,t)),0)},isFull:function(){let t=this.pointer;if(!t)return!0;let e=this.document;for(let n=0;n<t.length;n+=1){let[r,o,i]=t[n];if(r!==n||0!==o)return!1;if(e[r].length>i)return!1}return!0},getNth:function(t){return"number"==typeof t?this.eq(t):"string"==typeof t?this.if(t):this}};o.group=o.groups,o.fullSentence=o.fullSentences,o.sentence=o.fullSentences,o.lastTerm=o.lastTerms,o.firstTerm=o.firstTerms;var i=o;const s=Object.assign({},i,n,r);s.get=s.eq;var l=s;class View{constructor(e,n,r={}){[["document",e],["world",t],["_groups",r],["_cache",null],["viewType","View"]].forEach((t=>{Object.defineProperty(this,t[0],{value:t[1],writable:!0})})),this.ptrs=n}get docs(){let e=this.document;return this.ptrs&&(e=t.methods.one.getDoc(this.ptrs,this.document)),e}get pointer(){return this.ptrs}get methods(){return this.world.methods}get model(){return this.world.model}get hooks(){return this.world.hooks}get isView(){return!0}get found(){return this.docs.length>0}get length(){return this.docs.length}get fullPointer(){let{docs:t,ptrs:e,document:n}=this,r=e||t.map(((t,e)=>[e]));return r.map((t=>{let[e,r,o,i,s]=t;return r=r||0,o=o||(n[e]||[]).length,n[e]&&n[e][r]&&(i=i||n[e][r].id,n[e][o-1]&&(s=s||n[e][o-1].id)),[e,r,o,i,s]}))}update(t){let e=new View(this.document,t);if(this._cache&&t&&t.length>0){let n=[];t.forEach(((t,e)=>{let[r,o,i]=t;(1===t.length||0===o&&this.document[r].length===i)&&(n[e]=this._cache[r])})),n.length>0&&(e._cache=n)}return e.world=this.world,e}toView(t){return new View(this.document,t||this.pointer)}fromText(t){const{methods:e}=this;let n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r}clone(){let t=this.document.slice(0);t=t.map((t=>t.map((t=>((t=Object.assign({},t)).tags=new Set(t.tags),t)))));let e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,l);var a=View;const u=function(t){return t&&"object"==typeof t&&!Array.isArray(t)};function c(t,e){if(u(e))for(const n in e)u(e[n])?(t[n]||Object.assign(t,{[n]:{}}),c(t[n],e[n])):Object.assign(t,{[n]:e[n]});return t}var h=function(t,e,n,r){const{methods:o,model:i,compute:s,hooks:l}=e;t.methods&&function(t,e){for(const n in e)t[n]=t[n]||{},Object.assign(t[n],e[n])}(o,t.methods),t.model&&c(i,t.model),t.irregulars&&function(t,e){let n=t.two.models||{};Object.keys(e).forEach((t=>{e[t].pastTense&&(n.toPast&&(n.toPast.exceptions[t]=e[t].pastTense),n.fromPast&&(n.fromPast.exceptions[e[t].pastTense]=t)),e[t].presentTense&&(n.toPresent&&(n.toPresent.exceptions[t]=e[t].presentTense),n.fromPresent&&(n.fromPresent.exceptions[e[t].presentTense]=t)),e[t].gerund&&(n.toGerund&&(n.toGerund.exceptions[t]=e[t].gerund),n.fromGerund&&(n.fromGerund.exceptions[e[t].gerund]=t)),e[t].comparative&&(n.toComparative&&(n.toComparative.exceptions[t]=e[t].comparative),n.fromComparative&&(n.fromComparative.exceptions[e[t].comparative]=t)),e[t].superlative&&(n.toSuperlative&&(n.toSuperlative.exceptions[t]=e[t].superlative),n.fromSuperlative&&(n.fromSuperlative.exceptions[e[t].superlative]=t))}))}(i,t.irregulars),t.compute&&Object.assign(s,t.compute),l&&(e.hooks=l.concat(t.hooks||[])),t.api&&t.api(n),t.lib&&Object.keys(t.lib).forEach((e=>r[e]=t.lib[e])),t.tags&&r.addTags(t.tags),t.words&&r.addWords(t.words),t.mutate&&t.mutate(e)};const p=function(t){return"[object Array]"===Object.prototype.toString.call(t)};var f=function(t,e,n){const{methods:r}=n;let o=new e([]);if(o.world=n,"number"==typeof t&&(t=String(t)),!t)return o;if("string"==typeof t)return new e(r.one.tokenize.fromString(t,n));if(i=t,"[object Object]"===Object.prototype.toString.call(i)&&t.isView)return new e(t.document,t.ptrs);var i;if(p(t)){if(p(t[0])){let n=t.map((t=>t.map((t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})))));return new e(n)}let n=function(t){return t.map((t=>t.terms.map((t=>(p(t.tags)&&(t.tags=new Set(t.tags)),t)))))}(t);return new e(n)}return o};let d=Object.assign({},t);const m=function(t,e){e&&m.addWords(e);let n=f(t,a,d);return t&&n.compute(d.hooks),n};Object.defineProperty(m,"_world",{value:d,writable:!0}),m.tokenize=function(t,e){const{compute:n}=this._world;e&&m.addWords(e);let r=f(t,a,d);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},m.plugin=function(t){return h(t,this._world,a,this),this},m.extend=m.plugin,m.world=function(){return this._world},m.model=function(){return this._world.model},m.methods=function(){return this._world.methods},m.hooks=function(){return this._world.hooks},m.verbose=function(t){const e="undefined"!=typeof process&&process.env?process.env:self.env||{};return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},m.version="14.8.2";var v=m,b=function(t){let e=t.map((t=>{let e=new Set;return t.forEach((t=>{""!==t.normal&&e.add(t.normal),t.switch&&e.add(`%${t.switch}%`),t.implicit&&e.add(t.implicit),t.machine&&e.add(t.machine),t.root&&e.add(t.root),t.alias&&t.alias.forEach((t=>e.add(t)));let n=Array.from(t.tags);for(let t=0;t<n.length;t+=1)e.add("#"+n[t])})),e}));return e};const w={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var y=function(t){Object.assign(t.prototype,w)},x={api:y,compute:{cache:function(t){t._cache=t.methods.one.cacheDoc(t.document)}},methods:{one:{cacheDoc:b}}};const j=t=>/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),P=(t,e,n)=>{if(n.forEach((t=>t.dirty=!0)),t){let r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},E=function(t){let e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},O=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g;let o=t[e-1];if(!o)return;let i=o.post;if(r.test(i)){let t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},k=function(t,e,n,r){let[o,i,s]=e;0===i||s===r[o].length?E(n):(E(n),E([t[e[1]]])),function(t,e,n){let r=t[e];if(0!==e||!j(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,(t=>t.toUpperCase()));let o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||j(o.text)&&o.text.length>1&&(o.text=o.text.replace(/^\p{Lu}/u,(t=>t.toLowerCase())))}(t,i,n),P(t,i,n)};let _=0;const A=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t;var C=function(t){let[e,n]=t.index||[0,0];_+=1,_=_>46655?0:_,e=e>46655?0:e,n=n>1294?0:n;let r=A(_.toString(36));r+=A(e.toString(36));let o=n.toString(36);return o=o.length<2?"0"+o:o,r+=o,r+=parseInt(36*Math.random(),10).toString(36),t.normal+"|"+r.toUpperCase()};const N=function(t){t.has("@hasContraction")&&"function"==typeof t.contractions&&t.grow("@hasContraction").contractions().expand()},S=t=>"[object Array]"===Object.prototype.toString.call(t),T=function(t,e,n){const{document:r,world:o}=e;e.uncache();let i=e.fullPointer,s=e.fullPointer;e.forEach(((l,a)=>{let u=l.fullPointer[0],[c]=u,h=r[c],p=function(t,e){const{methods:n}=e;return"string"==typeof t?n.one.tokenize.fromString(t,e)[0]:"object"==typeof t&&t.isView?t.clone().docs[0]||[]:S(t)?S(t[0])?t[0]:t:[]}(t,o);0!==p.length&&(p=function(t){return t.map((t=>(t.id=C(t),t)))}(p),n?(N(e.update([u]).firstTerm()),k(h,u,p,r)):(N(e.update([u]).lastTerm()),function(t,e,n,r){let[o,,i]=e,s=(r[o]||[]).length;i<s?(O(t,i,n),E(n)):s===i&&(E(t),O(t,i,n),r[o+1]&&(n[n.length-1].post+=" ")),P(t,e[2],n),e[4]=n[n.length-1].id}(h,u,p,r)),r[c]&&r[c][u[1]]&&(u[3]=r[c][u[1]].id),s[a]=u,u[2]+=p.length,i[a]=u)}));let l=e.toView(i);return e.ptrs=s,l.compute(["id","index","lexicon"]),l.world.compute.preTagger&&l.compute("preTagger"),l},V={insertAfter:function(t){return T(t,this,!1)},insertBefore:function(t){return T(t,this,!0)}};V.append=V.insertAfter,V.prepend=V.insertBefore,V.insert=V.insertAfter;var $=V;const D=/\$[0-9a-z]+/g,z={replaceWith:function(t,e={}){let n=this.fullPointer,r=this;if(this.uncache(),"function"==typeof t)return function(t,e){return t.forEach((t=>{let n=e(t);t.replaceWith(n)})),t}(r,t);t=function(t,e){if("string"!=typeof t)return t;let n=e.groups();return t=t.replace(D,(t=>{let e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t})),t}(t,r);let o=this.update(n);n=n.map((t=>t.slice(0,3)));let i=(o.docs[0]||[]).map((t=>Array.from(t.tags)));"string"==typeof t&&(t=this.fromText(t).compute("id")),r.insertAfter(t),o.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(o);let s=r.toView(n).compute(["index","lexicon"]);return s.world.compute.preTagger&&s.compute("preTagger"),e.tags&&s.terms().forEach(((t,e)=>{t.tagSafe(i[e])})),e.case&&s.docs[0]&&s.docs[0][0]&&0===s.docs[0][0].index[1]&&(s.docs[0][0].text=s.docs[0][0].text.replace(/\w\S*/g,(t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()))),s},replace:function(t,e,n){if(t&&!e)return this.replaceWith(t,n);let r=this.match(t);return r.found?(this.soften(),r.replaceWith(e,n)):this}};var G=z,L=function(t,e){e.forEach((e=>{let[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){let n=t.length-1,r=t[n],o=t[n-e];o&&r&&(o.post+=r.post,o.post=o.post.replace(/ +([.?!,;:])/,"$1"),o.post=o.post.replace(/[,;:]+([.?!])/,"$1"))}(t[n],i),t[n].splice(r,i))}));for(let e=t.length-1;e>=0;e-=1)if(0===t[e].length&&(t.splice(e,1),e===t.length&&t[e-1])){let n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t};const F={remove:function(t){const{indexN:e}=this.methods.one.pointer;this.uncache();let n=this.all(),r=this;t&&(n=this,r=this.match(t));let o=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let i=n.fullPointer,s=r.fullPointer.reverse(),l=L(this.document,s);return i=function(t,e){return t=t.map((t=>{let[n]=t;return e[n]?(e[n].forEach((e=>{let n=e[2]-e[1];t[1]<=e[1]&&t[2]>=e[2]&&(t[2]-=n)})),t):t})),t.forEach(((e,n)=>{if(0===e[1]&&0==e[2])for(let e=n+1;e<t.length;e+=1)t[e][0]-=1,t[e][0]<0&&(t[e][0]=0)})),t=(t=t.filter((t=>t[2]-t[1]>0))).map((t=>(t[3]=null,t[4]=null,t)))}(i,e(s)),n.ptrs=i,n.document=l,n.compute("index"),o&&(n.ptrs=void 0),t?n.toView(i):(this.ptrs=[],n.none())}};F.delete=F.remove;var I=F;const M={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach((n=>{let r=n[0];!0===e?r.pre+=t:r.pre=t})),this)},post:function(t,e){if(void 0===t){let t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach((n=>{let r=n[n.length-1];!0===e?r.post+=t:r.post=t})),this},trim:function(){if(!this.found)return this;let t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();let n=t[t.length-1],r=n[n.length-1];return r.post=r.post.trimEnd(),this},hyphenate:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.pre=""),t[n+1]&&(e.post="-")}))})),this},dehyphenate:function(){const t=/[-–—]/;return this.docs.forEach((e=>{e.forEach((e=>{t.test(e.post)&&(e.post=" ")}))})),this},toQuotations:function(t,e){return t=t||'"',e=e||'"',this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this},toParentheses:function(t,e){return t=t||"(",e=e||")",this.docs.forEach((n=>{n[0].pre=t+n[0].pre;let r=n[n.length-1];r.post=e+r.post})),this}};M.deHyphenate=M.dehyphenate,M.toQuotation=M.toQuotations;var B=M,U={alpha:(t,e)=>t.normal<e.normal?-1:t.normal>e.normal?1:0,length:(t,e)=>{let n=t.normal.trim().length,r=e.normal.trim().length;return n<r?1:n>r?-1:0},wordCount:(t,e)=>t.words<e.words?1:t.words>e.words?-1:0,sequential:(t,e)=>t[0]<e[0]?1:t[0]>e[0]?-1:t[1]>e[1]?1:-1,byFreq:function(t){let e={};return t.forEach((t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1})),t.sort(((t,n)=>{let r=e[t.normal],o=e[n.normal];return r<o?1:r>o?-1:0})),t}};const H=new Set(["index","sequence","seq","sequential","chron","chronological"]),W=new Set(["freq","frequency","topk","repeats"]),K=new Set(["alpha","alphabetical"]);var R={unique:function(){let t=new Set;return this.filter((e=>{let n=e.text("machine");return!t.has(n)&&(t.add(n),!0)}))},reverse:function(){let t=this.pointer||this.docs.map(((t,e)=>[e]));return t=[].concat(t),t=t.reverse(),this._cache&&(this._cache=this._cache.reverse()),this.update(t)},sort:function(t){let{docs:e,pointer:n}=this;if(this.uncache(),"function"==typeof t)return function(t,e){let n=t.fullPointer;return n=n.sort(((n,r)=>(n=t.update([n]),r=t.update([r]),e(n,r)))),t.ptrs=n,t}(this,t);t=t||"alpha";let r=n||e.map(((t,e)=>[e])),o=e.map(((t,e)=>({index:e,words:t.length,normal:t.map((t=>t.machine||t.normal||"")).join(" "),pointer:r[e]})));return H.has(t)&&(t="sequential"),K.has(t)&&(t="alpha"),W.has(t)?(o=U.byFreq(o),this.update(o.map((t=>t.pointer)))):"function"==typeof U[t]?(o=o.sort(U[t]),this.update(o.map((t=>t.pointer)))):this}};const q=function(t,e){if(t.length>0){let e=t[t.length-1],n=e[e.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return t=t.concat(e)};var Z={concat:function(t){if("string"==typeof t){let e=this.fromText(t);if(this.found&&this.ptrs){let t=this.fullPointer,n=t[t.length-1][0];this.document.splice(n,0,...e.document)}else this.document=this.document.concat(e.document);return this.all().compute("index")}if("object"==typeof t&&t.isView)return function(t,e){if(t.document===e.document){let n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach((e=>{e[0]+=t.document.length})),t.document=q(t.document,e.docs),t.all()}(this,t);if(e=t,"[object Array]"===Object.prototype.toString.call(e)){let e=q(this.document,t);return this.document=e,this.all()}var e;return this}},Q={harden:function(){return this.ptrs=this.fullPointer,this},soften:function(){let t=this.ptrs;return!t||t.length<1||(t=t.map((t=>t.slice(0,3))),this.ptrs=t),this}};const Y=Object.assign({},{toLowerCase:function(){return this.termList().forEach((t=>{t.text=t.text.toLowerCase()})),this},toUpperCase:function(){return this.termList().forEach((t=>{t.text=t.text.toUpperCase()})),this},toTitleCase:function(){return this.termList().forEach((t=>{t.text=t.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))})),this},toCamelCase:function(){return this.docs.forEach((t=>{t.forEach(((e,n)=>{0!==n&&(e.text=e.text.replace(/^ *[a-z\u00C0-\u00FF]/,(t=>t.toUpperCase()))),n!==t.length-1&&(e.post="")}))})),this}},$,G,I,B,R,Z,Q);var J=function(t){Object.assign(t.prototype,Y)};const X={id:function(t){let e=t.docs;for(let t=0;t<e.length;t+=1)for(let n=0;n<e[t].length;n+=1){let r=e[t][n];r.id=r.id||C(r)}}};var tt={api:J,compute:X},et={one:{contractions:[{word:"@",out:["at"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"dun",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"can't",out:["can","not"]},{word:"shan't",out:["should","not"]},{word:"won't",out:["will","not"]},{word:"that's",out:["that","is"]},{word:"what's",out:["what","is"]},{word:"let's",out:["let","us"]},{word:"there's",out:["there","is"]},{word:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"tryna",out:["trying","to"]},{word:"gtg",out:["got","to","go"]},{word:"im",out:["i","am"]},{word:"imma",out:["I","will"]},{word:"imo",out:["in","my","opinion"]},{word:"irl",out:["in","real","life"]},{word:"ive",out:["i","have"]},{word:"rn",out:["right","now"]},{word:"tbh",out:["to","be","honest"]},{word:"wanna",out:["want","to"]},{word:"c'mere",out:["come","here"]},{word:"c'mon",out:["come","on"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]},{word:"shoulda",out:["should","have"]},{word:"coulda",out:["coulda","have"]},{word:"woulda",out:["woulda","have"]},{word:"musta",out:["must","have"]},{word:"tis",out:["it","is"]},{word:"twas",out:["it","was"]},{word:"y'know",out:["you","know"]},{word:"ne'er",out:["never"]},{word:"o'er",out:["over"]},{after:"ll",out:["will"]},{after:"ve",out:["have"]},{after:"re",out:["are"]},{after:"m",out:["am"]},{before:"c",out:["ce"]},{before:"m",out:["me"]},{before:"n",out:["ne"]},{before:"qu",out:["que"]},{before:"s",out:["se"]},{before:"t",out:["tu"]}]}},nt=function(t,e,n){let[r,o]=e;n&&0!==n.length&&(n=n.map(((t,e)=>(t.implicit=t.text,t.machine=t.text,t.pre="",t.post="",t.text="",t.normal="",t.index=[r,o+e],t))),n[0]&&(n[0].pre=t[r][o].pre,n[n.length-1].post=t[r][o].post,n[0].text=t[r][o].text,n[0].normal=t[r][o].normal),t[r].splice(o,1,...n))};const rt=/'/,ot=new Set(["what","how","when","where","why"]),it=new Set(["be","go","start","think","need"]),st=new Set(["been","gone"]);var lt=function(t,e){let n=t[e].normal.split(rt)[0];if(ot.has(n))return[n,"did"];if(t[e+1]){if(st.has(t[e+1].normal))return[n,"had"];if(it.has(t[e+1].normal))return[n,"would"]}return null},at=function(t,e){return"ain't"===t[e].normal||"aint"===t[e].normal?null:[t[e].normal.replace(/n't/,""),"not"]};const ut=/'/;var ct=(t,e)=>["je",t[e].normal.split(ut)[1]],ht=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},pt=(t,e)=>{let n=t[e].normal.split(ut)[1];return n&&n.endsWith("e")?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const ft=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,dt=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,mt=/^[0-9]{3}-[0-9]{4}$/;var gt=function(t,e){let n=t[e],r=n.text.match(ft);return null!==r?!0===n.tags.has("PhoneNumber")||mt.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(dt),null!==r?[r[1],"to",r[4]]:null)};const vt=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/,bt=new Set(["st","nd","rd","th","am","pm","max","°","s","e"]);var wt=function(t,e){let n=t[e].text.match(vt);if(null!==n){let t=n[2].toLowerCase().trim();return bt.has(t)?null:[n[1],t]}return null};const yt=/'/,xt=/^[0-9][^-–—]*[-–—].*?[0-9]/,jt=function(t,e,n,r){let o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]]},Pt={t:(t,e)=>at(t,e),d:(t,e)=>lt(t,e)},Et={j:(t,e)=>ct(t,e),l:(t,e)=>ht(t,e),d:(t,e)=>pt(t,e)},Ot=function(t,e,n,r){for(let o=0;o<t.length;o+=1){let i=t[o];if(i.word===e.normal)return i.out;if(null!==r&&r===i.after)return[n].concat(i.out);if(null!==n&&n===i.before)return i.out.concat(r)}return null},kt=function(t,e){let n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]};var _t=t=>{let{world:e,document:n}=t;const{model:r,methods:o}=e;let i=r.one.contractions||[];new Set(r.one.units||[]),n.forEach(((r,s)=>{for(let l=r.length-1;l>=0;l-=1){let a=null,u=null;!0===yt.test(r[l].normal)&&([a,u]=r[l].normal.split(yt));let c=Ot(i,r[l],a,u);!c&&Pt.hasOwnProperty(u)&&(c=Pt[u](r,l,e)),!c&&Et.hasOwnProperty(a)&&(c=Et[a](r,l)),c?(c=kt(c,t),nt(n,[s,l],c),jt(n[s],t,l,c.length)):xt.test(r[l].normal)?(c=gt(r,l),c&&(c=kt(c,t),nt(n,[s,l],c),o.one.setTag(c,"NumberRange",e),c[2]&&c[2].tags.has("Time")&&o.one.setTag([c[0]],"Time",e,null,"time-range"),jt(n[s],t,l,c.length))):(c=wt(r,l),c&&(c=kt(c,t),nt(n,[s,l],c),o.one.setTag([c[1]],"Unit",e,null,"contraction-unit")))}}))},At={model:et,compute:{contractions:_t},hooks:["contractions"]},Ct=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},l=r.one.lexicon||{};let a=t[e],u=a.machine||a.normal;return void 0!==t[e+1]&&!0===s[u]?function(t,e,n,r,o){let i=e+4>t.length?t.length-e:4,s=t[e].machine||t[e].normal;for(let l=1;l<i;l+=1){let i=t[e+l];if(s+=" "+(i.machine||i.normal),!0===n.hasOwnProperty(s)){let i=n[s],a=t.slice(e,e+l+1);return r(a,i,o,!1,"1-multi-lexicon"),!i||2!==i.length||"PhrasalVerb"!==i[0]&&"PhrasalVerb"!==i[1]||r([a[1]],"Particle",o,!1,"1-phrasal-particle"),!0}}return!1}(t,e,l,i,n):null};const Nt=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,St=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]);var Tt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one.lexicon;let l=t[e],a=l.machine||l.normal;if(void 0!==s[a]&&s.hasOwnProperty(a))return i([l],s[a],n,!1,"1-lexicon"),!0;if(l.alias){let t=l.alias.find((t=>s.hasOwnProperty(t)));if(t)return i([l],s[t],n,!1,"1-lexicon-alias"),!0}if(!0===Nt.test(a)){let t=a.replace(Nt,"");if(s.hasOwnProperty(t)&&t.length>3&&St.has(s[t]))return i([l],s[t],n,!1,"1-lexicon-prefix"),!0}return null},Vt={lexicon:function(t){const e=t.world;t.docs.forEach((t=>{for(let n=0;n<t.length;n+=1)if(0===t[n].tags.size){let r=null;r=r||Ct(t,n,e),r=r||Tt(t,n,e)}}))}},$t=function(t){let e={},n={};return Object.keys(t).forEach((r=>{let o=t[r],i=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);i.length>1&&(n[i[0]]=!0),e[r]=e[r]||o})),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}},Dt={addWords:function(t){const e=this.world(),{methods:n,model:r}=e;if(t)if(Object.keys(t).forEach((e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))})),n.two.expandLexicon){let{lex:o,_multi:i}=n.two.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else if(n.one.expandLexicon){let{lex:o,_multi:i}=n.one.expandLexicon(t,e);Object.assign(r.one.lexicon,o),Object.assign(r.one._multiCache,i)}else Object.assign(r.one.lexicon,t)}},zt={model:{one:{lexicon:{},_multiCache:{}}},methods:{one:{expandLexicon:$t}},compute:Vt,lib:Dt,hooks:["lexicon"]},Gt=function(t,e){let n=[{}],r=[null],o=[0],i=[],s=0;t.forEach((function(t){let o=0,i=function(t,e){const{methods:n,model:r}=e;let o=n.one.tokenize.splitTerms(t,r).map((t=>n.one.tokenize.splitWhitespace(t,r)));return o.map((t=>t.text.toLowerCase()))}(t,e);for(let t=0;t<i.length;t++){let e=i[t];n[o]&&n[o].hasOwnProperty(e)?o=n[o][e]:(s++,n[o][e]=s,n[s]={},o=s,r[s]=null)}r[o]=[i.length]}));for(let t in n[0])s=n[0][t],o[s]=0,i.push(s);for(;i.length;){let t=i.shift(),e=Object.keys(n[t]);for(let l=0;l<e.length;l+=1){let a=e[l],u=n[t][a];for(i.push(u),s=o[t];s>0&&!n[s].hasOwnProperty(a);)s=o[s];if(n.hasOwnProperty(s)){let t=n[s][a];o[u]=t,r[t]&&(r[u]=r[u]||[],r[u]=r[u].concat(r[t]))}else o[u]=0}}return{goNext:n,endAs:r,failTo:o}};const Lt=function(t,e,n){let r=0,o=[];for(let i=0;i<t.length;i++){let s=t[i][n.form]||t[i].normal;for(;r>0&&(void 0===e.goNext[r]||!e.goNext[r].hasOwnProperty(s));)r=e.failTo[r]||0;if(e.goNext[r].hasOwnProperty(s)&&(r=e.goNext[r][s],e.endAs[r])){let n=e.endAs[r];for(let e=0;e<n.length;e++){let r=n[e],s=t[i-r+1],[l,a]=s.index;o.push([l,a,a+r,s.id])}}}return o},Ft=function(t,e){for(let n=0;n<t.length;n+=1)if(!0===e.has(t[n]))return!1;return!0};var It=function(t,e,n){let r=[];n.form=n.form||"normal";let o=t.docs;if(!e.goNext||!e.goNext[0])return console.error("Compromise invalid lookup trie"),t.none();let i=Object.keys(e.goNext[0]);for(let s=0;s<o.length;s++){if(t._cache&&t._cache[s]&&!0===Ft(i,t._cache[s]))continue;let l=o[s],a=Lt(l,e,n);a.length>0&&(r=r.concat(a))}return t.update(r)};const Mt=(t,e)=>{for(let n=t.length-1;n>=0;n-=1)if(t[n]!==e)return t=t.slice(0,n+1);return t};var Bt=function(t){return t.goNext=t.goNext.map((t=>{if(0!==Object.keys(t).length)return t})),t.goNext=Mt(t.goNext,void 0),t.failTo=Mt(t.failTo,0),t.endAs=Mt(t.endAs,null),t};const Ut={buildTrie:function(t){const e=Gt(t,this.world());return Bt(e)}};Ut.compile=Ut.buildTrie;var Ht={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();"string"==typeof t&&(t=[t]);let n=(r=t,"[object Object]"===Object.prototype.toString.call(r)?t:Gt(t,this.world));var r;let o=It(this,n,e);return o=o.settle(),o}},lib:Ut};const Wt=function(t,e){return e?(t.forEach((t=>{let n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])})),t):t},Kt=function(t,e){let{ptrs:n,byGroup:r}=t;return n=Wt(n,e),Object.keys(r).forEach((t=>{r[t]=Wt(r[t],e)})),{ptrs:n,byGroup:r}},Rt=t=>"[object Object]"===Object.prototype.toString.call(t),qt=t=>t&&Rt(t)&&!0===t.isView,Zt=t=>t&&Rt(t)&&!0===t.isNet,Qt=function(t,e,n){const r=n.methods.one;return"number"==typeof t&&(t=String(t)),"string"==typeof t&&(t=r.killUnicode(t,n),t=r.parseMatch(t,e,n)),t};var Yt={matchOne:function(t,e,n){const r=this.methods.one;if(qt(t))return this.intersection(t).eq(0);if(Zt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;let o={regs:t=Qt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Kt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},match:function(t,e,n){const r=this.methods.one;if(qt(t))return this.intersection(t);if(Zt(t))return this.sweep(t,{tagger:!1}).view.settle();let o={regs:t=Qt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:l}=Kt(i,this.fullPointer),a=this.toView(s);return a._groups=l,a},has:function(t,e,n){const r=this.methods.one;if(qt(t))return t.fullPointer.length>0;if(Zt(t))return this.sweep(t,{tagger:!1}).view.found;let o={regs:t=Qt(t,n,this.world),group:e,justOne:!0};return r.match(this.docs,o,this._cache).ptrs.length>0},if:function(t,e,n){const r=this.methods.one;if(qt(t))return this.filter((e=>e.intersection(t).found));if(Zt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}let o={regs:t=Qt(t,n,this.world),group:e,justOne:!0},i=this.fullPointer,s=this._cache||[];i=i.filter(((t,e)=>{let n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0}));let l=this.update(i);return this._cache&&(l._cache=i.map((t=>s[t[0]]))),l},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(qt(t))return this.filter((e=>!e.intersection(t).found));if(Zt(t)){let e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Qt(t,n,this.world);let i=this._cache||[],s=this.filter(((n,r)=>{let s={regs:t,group:e,justOne:!0};return 0===o.match(n.docs,s,i[r]).ptrs.length}));return this._cache&&(s._cache=s.ptrs.map((t=>i[t[0]]))),s}},Jt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer);Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?1:-1))[0];e[1]>0&&o.push([e[0],0,e[1]])}));let s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer;let o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach((t=>{let e=i[t].sort(((t,e)=>t[1]>e[1]?-1:1))[0],[n,,r]=e;r<s[n].length&&o.push([n,r,s[n].length])}));let l=this.toView(o);return t?l.match(t,e,n):l},growLeft:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n,this.world)),t[t.length-1].end=!0;let r=this.fullPointer;return this.forEach(((n,o)=>{let i=n.before(t,e);if(i.found){let t=i.terms();r[o][1]-=t.length,r[o][3]=t.docs[0][0].id}})),this.update(r)},growRight:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n,this.world)),t[0].start=!0;let r=this.fullPointer;return this.forEach(((n,o)=>{let i=n.after(t,e);if(i.found){let t=i.terms();r[o][2]+=t.length,r[o][4]=null}})),this.update(r)},grow:function(t,e,n){return this.growRight(t,e,n).growLeft(t,e,n)}};const Xt=function(t,e){return[t[0],t[1],e[2]]},te=(t,e,n)=>{return"string"==typeof t||(r=t,"[object Array]"===Object.prototype.toString.call(r))?e.match(t,n):t||e.none();var r},ee=function(t,e){let[n,r,o]=t;return e.document[n]&&e.document[n][r]&&(t[3]=t[3]||e.document[n][r].id,e.document[n][o-1]&&(t[4]=t[4]||e.document[n][o-1].id)),t},ne={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=te(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),i.push(t.before),i.push(t.match),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ee(t,this))),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=te(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(Xt(t.match,t.after)):(i.push(t.match),i.push(t.after))})),i=i.filter((t=>t)),i=i.map((t=>ee(t,this))),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer;let r=te(t,this,e).fullPointer,o=n(this.fullPointer,r),i=[];return o.forEach((t=>{i.push(t.passthrough),t.before&&t.match?i.push(Xt(t.before,t.match)):(i.push(t.before),i.push(t.match)),i.push(t.after)})),i=i.filter((t=>t)),i=i.map((t=>ee(t,this))),this.update(i)}};ne.split=ne.splitAfter;var re=ne;const oe=Object.assign({},Yt,Jt,re);oe.lookBehind=oe.before,oe.lookBefore=oe.before,oe.lookAhead=oe.after,oe.lookAfter=oe.after,oe.notIf=oe.ifNo;var ie=function(t){Object.assign(t.prototype,oe)};const se=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,le=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,ae=/ /g,ue=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),ce=function(t){return t=(t=t.map((t=>t.trim()))).filter((t=>t))};var he=function(t){let e=t.split(se),n=[];e.forEach((t=>{ue(t)?n.push(t):n=n.concat(t.split(le))})),n=ce(n);let r=[];return n.forEach((t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||ue(t)?r.push(t):r=r.concat(t.split(ae))})),r=ce(r),r};const pe=/\{([0-9]+)?(, *[0-9]*)?\}/,fe=/&&/,de=new RegExp(/^<\s*(\S+)\s*>/),me=t=>t.charAt(0).toUpperCase()+t.substring(1),ge=t=>t.charAt(t.length-1),ve=t=>t.charAt(0),be=t=>t.substring(1),we=t=>t.substring(0,t.length-1),ye=function(t){return t=be(t),t=we(t)},xe=function(t,e){let n={};for(let r=0;r<2;r+=1){if("$"===ge(t)&&(n.end=!0,t=we(t)),"^"===ve(t)&&(n.start=!0,t=be(t)),("["===ve(t)||"]"===ge(t))&&(n.group=null,"["===ve(t)&&(n.groupStart=!0),"]"===ge(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===ve(t))){const e=de.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===ge(t)&&(n.greedy=!0,t=we(t)),"*"!==t&&"*"===ge(t)&&"\\*"!==t&&(n.greedy=!0,t=we(t)),"?"===ge(t)&&(n.optional=!0,t=we(t)),"!"===ve(t)&&(n.negative=!0,t=be(t)),"~"===ve(t)&&"~"===ge(t)&&t.length>2&&(t=ye(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("("===ve(t)&&")"===ge(t)){fe.test(t)?(n.choices=t.split(fe),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=be(n.choices[0]);let r=n.choices.length-1;n.choices[r]=we(n.choices[r]),n.choices=n.choices.map((t=>t.trim())),n.choices=n.choices.filter((t=>t)),n.choices=n.choices.map((t=>t.split(/ /g).map((t=>xe(t,e))))),t=""}if("/"===ve(t)&&"/"===ge(t))return t=ye(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if("{"===ve(t)&&"}"===ge(t)){if(t=ye(t),n.root=t,/\//.test(t)){let t=n.root.split(/\//);n.root=t[0],n.pos=t[1],"adj"===n.pos&&(n.pos="Adjective"),n.pos=n.pos.charAt(0).toUpperCase()+n.pos.substr(1).toLowerCase(),void 0!==t[2]&&(n.sense=t[2])}return n}if("<"===ve(t)&&">"===ge(t))return t=ye(t),n.chunk=me(t),n.greedy=!0,n;if("%"===ve(t)&&"%"===ge(t))return t=ye(t),n.switch=t,n}return!0===pe.test(t)&&(t=t.replace(pe,((t,e,r)=>(void 0===r?(n.min=Number(e),n.max=Number(e)):(r=r.replace(/, */,""),void 0===e?(n.min=0,n.max=Number(r)):(n.min=Number(e),n.max=Number(r||999))),n.greedy=!0,n.min||(n.optional=!0),"")))),"#"===ve(t)?(n.tag=be(t),n.tag=me(n.tag),n):"@"===ve(t)?(n.method=be(t),n):"."===t?(n.anything=!0,n):"*"===t?(n.anything=!0,n.greedy=!0,n.optional=!0,n):(t&&(t=(t=t.replace("\\*","*")).replace("\\.","."),e.caseSensitive?n.use="text":t=t.toLowerCase(),n.word=t),n)};var je=xe;const Pe=/[a-z0-9][-–—][a-z]/i;var Ee=function(t,e){let n=e.model.one.prefixes;for(let e=t.length-1;e>=0;e-=1){let r=t[e];if(r.word&&Pe.test(r.word)){let o=r.word.split(/[-–—]/g);if(n.hasOwnProperty(o[0]))continue;o=o.filter((t=>t)).reverse(),t.splice(e,1),o.forEach((n=>{let o=Object.assign({},r);o.word=n,t.splice(e,0,o)}))}}return t};const Oe=function(t,e){let{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},ke=function(t,e){let{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},_e=function(t,e){let{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]};var Ae=function(t,e){return t=t.map((t=>{if(t.root)if(e.methods.two&&e.methods.two.transform){let n=[];t.pos?"Verb"===t.pos?n=n.concat(Oe(t,e)):"Noun"===t.pos?n=n.concat(ke(t,e)):"Adjective"===t.pos&&(n=n.concat(_e(t,e))):(n=n.concat(Oe(t,e)),n=n.concat(ke(t,e)),n=n.concat(_e(t,e))),n=n.filter((t=>t)),n.length>0&&(t.operator="or",t.fastOr=new Set(n))}else t.machine=t.root,delete t.id,delete t.root;return t}))},Ce=function(t){return t=function(t){let e=0,n=null;for(let r=0;r<t.length;r++){const o=t[r];!0===o.groupStart&&(n=o.group,null===n&&(n=String(e),e+=1)),null!==n&&(o.group=n),!0===o.groupEnd&&(n=null)}return t}(t),t=function(t){return t.map((t=>(t.fuzzy&&t.choices&&t.choices.forEach((e=>{1===e.length&&e[0].word&&(e[0].fuzzy=!0,e[0].min=t.min)})),t)))}(t=t.map((t=>{if(void 0!==t.choices){if("or"!==t.operator)return t;if(!0===t.fuzzy)return t;!0===t.choices.every((t=>{if(1!==t.length)return!1;let e=t[0];return!0!==e.fuzzy&&!e.start&&!e.end&&void 0!==e.word&&!0!==e.negative&&!0!==e.optional&&!0!==e.method}))&&(t.fastOr=new Set,t.choices.forEach((e=>{t.fastOr.add(e[0].word)})),delete t.choices)}return t}))),t},Ne=function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=he(t);return r=r.map((t=>je(t,e))),r=Ee(r,n),r=Ae(r,n),r=Ce(r),r};const Se=function(t,e){for(let n of e)if(t.has(n))return!0;return!1};var Te=function(t,e){for(let n=0;n<t.length;n+=1){let r=t[n];if(!0!==r.optional&&!0!==r.negative&&!0!==r.fuzzy){if(void 0!==r.word&&!1===e.has(r.word))return!0;if(void 0!==r.tag&&!1===e.has("#"+r.tag))return!0;if(r.fastOr&&!1===Se(r.fastOr,e))return!1}}return!1},Ve=function(t,e,n=3){if(t===e)return 1;if(t.length<n||e.length<n)return 0;const r=function(t,e){let n=t.length,r=e.length;if(0===n)return r;if(0===r)return n;let o=(r>n?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;let i,s,l,a,u,c,h=[];for(let t=0;t<o;t++)h[t]=[t],h[t].length=o;for(let t=0;t<o;t++)h[0][t]=t;for(let o=1;o<=n;++o)for(s=t[o-1],i=1;i<=r;++i){if(o===i&&h[o][i]>4)return n;l=e[i-1],a=s===l?0:1,u=h[o-1][i]+1,(c=h[o][i-1]+1)<u&&(u=c),(c=h[o-1][i-1]+a)<u&&(u=c);let r=o>1&&i>1&&s===e[i-2]&&t[o-2]===l&&(c=h[o-2][i-2]+a)<u;h[o][i]=r?c:u}return h[n][r]}(t,e);let o=Math.max(t.length,e.length);return 1-(0===o?0:r/o)};const $e=/([\u0022\uFF02\u0027\u201C\u2018\u201F\u201B\u201E\u2E42\u201A\u00AB\u2039\u2035\u2036\u2037\u301D\u0060\u301F])/,De=/([\u0022\uFF02\u0027\u201D\u2019\u00BB\u203A\u2032\u2033\u2034\u301E\u00B4])/,ze=/^[-–—]$/,Ge=/ [-–—]{1,3} /,Le=(t,e)=>-1!==t.post.indexOf(e),Fe=(t,e)=>-1!==t.pre.indexOf(e),Ie={hasQuote:t=>$e.test(t.pre)||De.test(t.post),hasComma:t=>Le(t,","),hasPeriod:t=>!0===Le(t,".")&&!1===Le(t,"..."),hasExclamation:t=>Le(t,"!"),hasQuestionMark:t=>Le(t,"?")||Le(t,"¿"),hasEllipses:t=>Le(t,"..")||Le(t,"…")||Fe(t,"..")||Fe(t,"…"),hasSemicolon:t=>Le(t,";"),hasColon:t=>Le(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>ze.test(t.post)||ze.test(t.pre),hasDash:t=>Ge.test(t.post)||Ge.test(t.pre),hasContraction:t=>Boolean(t.implicit),isAcronym:t=>t.tags.has("Acronym"),isKnown:t=>t.tags.size>0,isTitleCase:t=>/^\p{Lu}[a-z'\u00C0-\u00FF]/u.test(t.text),isUpperCase:t=>/^\p{Lu}+$/u.test(t.text)};Ie.hasQuotation=Ie.hasQuote;var Me=Ie;let Be=function(){};Be=function(t,e,n,r){let o=function(t,e,n,r){if(!0===e.anything)return!0;if(!0===e.start&&0!==n)return!1;if(!0===e.end&&n!==r-1)return!1;if(void 0!==e.id&&e.id===t.id)return!0;if(void 0!==e.word){if(e.use)return e.word===t[e.use];if(null!==t.machine&&t.machine===e.word)return!0;if(void 0!==t.alias&&t.alias.hasOwnProperty(e.word))return!0;if(!0===e.fuzzy){if(e.word===t.root)return!0;if(Ve(e.word,t.normal)>=e.min)return!0}return!(!t.alias||!t.alias.some((t=>t===e.word)))||e.word===t.text||e.word===t.normal}if(void 0!==e.tag)return!0===t.tags.has(e.tag);if(void 0!==e.method)return"function"==typeof Me[e.method]&&!0===Me[e.method](t);if(void 0!==e.pre)return t.pre&&t.pre.includes(e.pre);if(void 0!==e.post)return t.post&&t.post.includes(e.post);if(void 0!==e.regex){let n=t.normal;return e.use&&(n=t[e.use]),e.regex.test(n)}if(void 0!==e.chunk)return t.chunk===e.chunk;if(void 0!==e.switch)return t.switch===e.switch;if(void 0!==e.machine)return t.normal===e.machine||t.machine===e.machine||t.root===e.machine;if(void 0!==e.sense)return t.sense===e.sense;if(void 0!==e.fastOr){if(e.pos&&!t.tags.has(e.pos))return null;let n=t.root||t.implicit||t.machine||t.normal;return e.fastOr.has(n)||e.fastOr.has(t.text)}return void 0!==e.choices&&("and"===e.operator?e.choices.every((e=>Be(t,e,n,r))):e.choices.some((e=>Be(t,e,n,r))))}(t,e,n,r);return!0===e.negative?!o:o};var Ue=Be;const He=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.t<e.phrase_length-1){let n=Object.assign({},t,{end:!1});if(!0===Ue(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))return!0}return!1},We=function(t,e){return t.groups[t.inGroup]||(t.groups[t.inGroup]={start:e,length:0}),t.groups[t.inGroup]};var Ke=function(t){let{regs:e}=t,n=e[t.r],r=function(t,e){let n=t.t;if(!e)return t.terms.length;for(;n<t.terms.length;n+=1)if(!0===Ue(t.terms[n],e,t.start_i+n,t.phrase_length))return n;return null}(t,e[t.r+1]);return null===r||0===r||void 0!==n.min&&r-t.t<n.min?null:void 0!==n.max&&r-t.t>n.max?(t.t=t.t+n.max,!0):(!0===t.hasGroup&&(We(t,t.t).length=r-t.t),t.t=r,!0)};const Re=function(t,e=0){let n=t.regs[t.r],r=!1;for(let i=0;i<n.choices.length;i+=1){let s=n.choices[i];if(o=s,"[object Array]"!==Object.prototype.toString.call(o))return!1;if(r=s.every(((n,r)=>{let o=0,i=t.t+r+e+o;if(void 0===t.terms[i])return!1;let s=Ue(t.terms[i],n,i+t.start_i,t.phrase_length);if(!0===s&&!0===n.greedy)for(let e=1;e<t.terms.length;e+=1){let r=t.terms[i+e];if(r){if(!0!==Ue(r,n,t.start_i+e,t.phrase_length))break;o+=1}}return e+=o,s})),r){e+=s.length;break}}var o;return r&&!0===n.greedy?Re(t,e):e};var qe=function(t){const{regs:e}=t;let n=e[t.r],r=Re(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup&&(We(t,t.t).length+=r),!0===n.end){let e=t.phrase_length;if(t.t+t.start_i+r!==e)return null}return t.t+=r,!0}return!!n.optional||null},Ze=function(t){const{regs:e}=t;let n=e[t.r],r=function(t){let e=0;return!0===t.regs[t.r].choices.every((n=>{let r=n.every(((e,n)=>{let r=t.t+n;return void 0!==t.terms[r]&&Ue(t.terms[r],e,r,t.phrase_length)}));return!0===r&&n.length>e&&(e=n.length),r}))&&e}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup&&(We(t,t.t).length+=r),!0===n.end){let e=t.phrase_length-1;if(t.t+t.start_i!==e)return null}return t.t+=r,!0}return!!n.optional||null},Qe=function(t,e,n){let r=0;for(let o=t.t;o<t.terms.length;o+=1){let i=Ue(t.terms[o],e,t.start_i+t.t,t.phrase_length);if(i)break;if(n&&(i=Ue(t.terms[o],n,t.start_i+t.t,t.phrase_length),i))break;if(r+=1,void 0!==e.max&&r===e.max)break}return!(0===r||e.min&&e.min>r||(t.t+=r,0))},Ye=function(t){const{regs:e}=t;let n=e[t.r],r=Object.assign({},n);if(r.negative=!1,Ue(t.terms[t.t],r,t.start_i+t.t,t.phrase_length))return!1;if(n.optional){let n=e[t.r+1];n&&(Ue(t.terms[t.t],n,t.start_i+t.t,t.phrase_length)?t.r+=1:n.optional&&e[t.r+2]&&Ue(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2))}return n.greedy?Qe(t,r,e[t.r+1]):(t.t+=1,!0)},Je=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=Ue(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){let n=t.terms[t.t+1];n&&Ue(n,e[t.r+1],t.start_i+t.t,t.phrase_length)||(t.r+=1)}},Xe=function(t){const{regs:e,phrase_length:n}=t;let r=e[t.r];return t.t=function(t,e){let n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.t<t.terms.length;t.t+=1){if(e&&Ue(t.terms[t.t],e,t.start_i+t.t,t.phrase_length))return t.t;let o=t.t-r+1;if(void 0!==n.max&&o===n.max)return t.t;if(!1===Ue(t.terms[t.t],n,t.start_i+t.t,t.phrase_length))return void 0!==n.min&&o<n.min?null:t.t}return t.t}(t,e[t.r+1]),null===t.t||r.min&&r.min>t.t?null:!0!==r.end||t.start_i+t.t===n||null},tn=function(t){let e=t.terms[t.t],n=t.regs[t.r];if(e.implicit&&t.terms[t.t+1]){if(!t.terms[t.t+1].implicit)return;n.word===e.normal&&(t.t+=1),"hasContraction"===n.method&&(t.t+=1)}},en=function(t){const{regs:e}=t;let n=e[t.r],r=t.terms[t.t],o=t.t;return!!(n.optional&&e[t.r+1]&&n.negative)||(n.optional&&e[t.r+1]&&Je(t),r.implicit&&t.terms[t.t+1]&&tn(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Xe(t)?(!0===t.hasGroup&&function(t,e){let n=t.regs[t.r];const r=We(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0):null)},nn=function(t,e,n,r){if(0===t.length||0===e.length)return null;let o={t:0,terms:t,r:0,regs:e,groups:{},start_i:n,phrase_length:r,inGroup:null};for(;o.r<e.length;o.r+=1){let t=e[o.r];if(o.hasGroup=Boolean(t.group),!0===o.hasGroup?o.inGroup=t.group:o.inGroup=null,!o.terms[o.t]){if(!1===e.slice(o.r).some((t=>!t.optional)))break;return null}if(!0!==t.anything||!0!==t.greedy){if(void 0===t.choices||"or"!==t.operator){if(void 0===t.choices||"and"!==t.operator)if(!0!==t.anything){if(!0!==He(t,o)){if(t.negative){if(!Ye(o))return null}else if(!0!==Ue(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else if(!en(o))return null}else if(!en(o))return null}else{if(t.negative&&t.anything)return null;if(!en(o))return null}else if(!Ze(o))return null}else if(!qe(o))return null}else if(!Ke(o))return null}let i=[null,n,o.t+n];if(i[1]===i[2])return null;let s={};return Object.keys(o.groups).forEach((t=>{let e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]})),{pointer:i,groups:s}},rn=function(t,e){let n=[],r={};return 0===t.length||("number"==typeof e&&(e=String(e)),e?t.forEach((t=>{t.groups[e]&&n.push(t.groups[e])})):t.forEach((t=>{n.push(t.pointer),Object.keys(t.groups).forEach((e=>{r[e]=r[e]||[],r[e].push(t.groups[e])}))}))),{ptrs:n,byGroup:r}},on=function(t,e,n){return t=t.filter((t=>{let[r,o,i]=t.pointer,s=n[r].slice(o,i);for(let t=0;t<s.length;t+=1){let n=s.slice(t);if(null!==nn(n,e,t,s.length))return!1}return!0})),t};const sn=function(t,e){return t.pointer[0]=e,Object.keys(t.groups).forEach((n=>{t.groups[n][0]=e})),t},ln=function(t,e,n){let r=nn(t,e,0,t.length);return r?(r=sn(r,n),r):null};var an=function(t,e,n){n=n||[];let{regs:r,group:o,justOne:i}=e,s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const l=r.filter((t=>!0!==t.optional&&!0!==t.negative)).length;t:for(let e=0;e<t.length;e+=1){let o=t[e];if(!n[e]||!Te(r,n[e]))if(!0!==r[0].start)for(let t=0;t<o.length;t+=1){let n=o.slice(t);if(n.length<l)break;let a=nn(n,r,t,o.length);if(a){if(a=sn(a,e),s.push(a),!0===i)break t;let n=a.pointer[2];Math.abs(n-1)>t&&(t=Math.abs(n-1))}}else{let t=ln(o,r,e);t&&s.push(t)}}return!0===r[r.length-1].end&&(s=s.filter((e=>{let n=e.pointer[0];return t[n].length===e.pointer[2]}))),e.notIf&&(s=on(s,e.notIf,t)),s=rn(s,o),s.ptrs.forEach((e=>{let[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id})),s},un={api:ie,methods:{one:{termMethods:Me,parseMatch:Ne,match:an}},lib:{parseMatch:function(t,e){const n=this.world();let r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e,n)}}};const cn=/^\../,hn=/^#./,pn=function(t,e){let n={},r={};return Object.keys(e).forEach((o=>{let i=e[o],s=function(t){let e="",n="</span>";return t=t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"),cn.test(t)?e=`<span class="${t.replace(/^\./,"")}"`:hn.test(t)?e=`<span id="${t.replace(/^#/,"")}"`:(e=`<${t}`,n=`</${t}>`),e+=">",{start:e,end:n}}(o);"string"==typeof i&&(i=t.match(i)),i.docs.forEach((t=>{if(t.every((t=>t.implicit)))return;let e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);let o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)}))})),{starts:n,ends:r}};var fn={html:function(t){let{starts:e,ends:n}=pn(this,t),r="";return this.docs.forEach((t=>{for(let o=0;o<t.length;o+=1){let i=t[o];e.hasOwnProperty(i.id)&&(r+=e[i.id].join("")),r+=i.pre||""+i.text||"",n.hasOwnProperty(i.id)&&(r+=n[i.id].join("")),r+=i.post||""}})),r}};const dn=/[,:;)\]*.?~!\u0022\uFF02\u201D\u2019\u00BB\u203A\u2032\u2033\u2034\u301E\u00B4—-]+$/,mn=/^[(['"*~\uFF02\u201C\u2018\u201F\u201B\u201E\u2E42\u201A\u00AB\u2039\u2035\u2036\u2037\u301D\u0060\u301F]+/,gn=/[,:;)('"\u201D\]]/,vn=/^[-–—]$/,bn=/ /,wn=function(t,e,n=!0){let r="";return t.forEach((t=>{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(mn,""),vn.test(o)&&(o=" "),o=o.replace(gn,""),o=o.replace(/\?!+/,"?"),o=o.replace(/!+/,"!"),o=o.replace(/\?+/,"?"),o=o.replace(/\.{2,}/,""),t.tags.has("Abbreviation")&&(o=o.replace(/\./,""))),"some"===e.whitespace&&(n=n.replace(/\s/,""),o=o.replace(/\s+/," ")),e.keepPunct||(n=n.replace(mn,""),o="-"===o?" ":o.replace(dn,""));let i=t[e.form||"text"]||t.normal||"";"implicit"===e.form&&(i=t.implicit||t.text),"root"===e.form&&t.implicit&&(i=t.root||t.implicit||t.normal),"machine"!==e.form&&"implicit"!==e.form&&"root"!==e.form||!t.implicit||o&&bn.test(o)||(o+=" "),r+=n+i+o})),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},yn={text:{form:"text"},normal:{whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"normal"},machine:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"none",unicode:"some",form:"machine"},root:{keepSpace:!1,whitespace:"some",punctuation:"some",case:"some",unicode:"some",form:"root"},implicit:{form:"implicit"}};yn.clean=yn.normal,yn.reduced=yn.root;var xn=yn;let jn=[],Pn=0;for(;Pn<64;)jn[Pn]=0|4294967296*Math.sin(++Pn%Math.PI);function En(t){let e,n,r,o=[e=1732584193,n=4023233417,~e,~n],i=[],s=decodeURI(encodeURI(t))+"€",l=s.length;for(t=--l/4+2|15,i[--t]=8*l;~l;)i[l>>2]|=s.charCodeAt(l)<<8*l--;for(Pn=s=0;Pn<t;Pn+=16){for(l=o;s<64;l=[r=l[3],e+((r=l[0]+[e&n|~e&r,r&e|~r&n,e^n^r,n^(e|~r)][l=s>>4]+jn[s]+~~i[Pn|15&[s,5*s+1,3*s+5,7*s][l]])<<(l=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*l+s++%4])|r>>>-l),e,n])e=0|l[1],n=l[2];for(s=4;s;)o[--s]+=l[s]}for(t="";s<32;)t+=(o[s>>3]>>4*(1^s++)&15).toString(16);return t}const On={text:!0,terms:!0};let kn={case:"none",unicode:"some",form:"machine",punctuation:"some"};const _n=function(t,e){return Object.assign({},t,e)},An={text:t=>wn(t,{keepPunct:!0},!1),normal:t=>wn(t,_n(xn.normal,{keepPunct:!0}),!1),implicit:t=>wn(t,_n(xn.implicit,{keepPunct:!0}),!1),machine:t=>wn(t,kn,!1),root:t=>wn(t,_n(kn,{form:"root"}),!1),hash:t=>En(wn(t,{keepPunct:!0},!1)),offset:t=>{let e=An.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map((t=>{let e=Object.assign({},t);return e.tags=Array.from(t.tags),e})),confidence:(t,e,n)=>e.eq(n).confidence(),syllables:(t,e,n)=>e.eq(n).syllables(),sentence:(t,e,n)=>e.eq(n).fullSentence().text(),dirty:t=>t.some((t=>!0===t.dirty))};An.sentences=An.sentence,An.clean=An.normal,An.reduced=An.root;const Cn={json:function(t){let e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},On,r)).offset&&n.compute("offset"),n.docs.map(((t,e)=>{let o={};return Object.keys(r).forEach((i=>{r[i]&&An[i]&&(o[i]=An[i](t,n,e))})),o})));var n,r;return"number"==typeof t?e[t]:e}};Cn.data=Cn.json;var Nn=Cn,Sn=function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach((t=>{console.groupCollapsed(t.text());let e=t.docs[0].map((t=>{let e=t.text||"-";return t.implicit&&(e="["+t.implicit+"]"),{text:e,tags:"["+Array.from(t.tags).join(", ")+"]"}}));console.table(e,["text","tags"]),console.groupEnd()}))};const Tn="";var Vn={green:t=>""+t+Tn,red:t=>""+t+Tn,blue:t=>""+t+Tn,magenta:t=>""+t+Tn,cyan:t=>""+t+Tn,yellow:t=>""+t+Tn,black:t=>""+t+Tn,dim:t=>""+t+Tn,i:t=>""+t+Tn},$n=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Vn.blue("\n ──────")),e.forEach((e=>{console.log(Vn.blue("\n ┌─────────")),e.forEach((e=>{let r=[...e.tags||[]],o=e.text||"-";e.sense&&(o=`{${e.normal}/${e.sense}}`),e.implicit&&(o="["+e.implicit+"]"),o=Vn.yellow(o);let i="'"+o+"'";if(e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Vn.dim(Vn.i("["+n+"]"))}`}i=i.padEnd(18);let s=Vn.blue(" │ ")+Vn.i(i)+" - "+function(t,e){return e.one.tagSet&&(t=t.map((t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||"blue";return Vn[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))},Dn=function(t){let{docs:e}=t;console.log(""),e.forEach((t=>{let e=[];t.forEach((t=>{"Noun"===t.chunk?e.push(Vn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Vn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Vn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Vn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)})),console.log(e.join(" "),"\n")}))},zn=function(t){if(!t.found)return;let e={};t.fullPointer.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),Object.keys(e).forEach((n=>{let r=t.update([[Number(n)]]).text();t.update(e[n]).json({offset:!0}).forEach(((t,e)=>{r=function(t,e,n){let r=((t,e,n)=>{let r=9*n,o=e.start+r,i=o+e.length;return[t.substring(0,o),t.substring(o,i),t.substring(i,t.length)]})(t,e,n);return`${r[0]}${Vn.blue(r[1])}${r[2]}`}(r,t.offset,e)})),console.log(r)}))},Gn=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document?(Sn(e),e):(!1!==t.tags&&($n(e),console.log("\n")),!0===t.chunks&&(Dn(e),console.log("\n")),!0===t.highlight&&(zn(e),console.log("\n")),e)};const Ln=function(t){let e=t.pre||"",n=t.post||"";return e+t.text+n};var Fn=function(t,e){let n=function(t,e){let n={};return Object.keys(e).forEach((r=>{t.match(r).fullPointer.forEach((t=>{n[t[3]]={fn:e[r],end:t[2]}}))})),n}(t,e),r="";return t.docs.forEach(((e,o)=>{for(let i=0;i<e.length;i+=1){let s=e[i];if(n.hasOwnProperty(s.id)){let{fn:l,end:a}=n[s.id],u=t.update([[o,i,a]]);r+=e[i].pre||"",r+=l(u),i=a-1,r+=e[i].post||""}else r+=Ln(s)}})),r};const In={debug:Gn,out:function(t){if(e=t,"[object Object]"===Object.prototype.toString.call(e))return Fn(this,t);var e;if("text"===t)return this.text();if("normal"===t)return this.text("normal");if("root"===t)return this.text("root");if("machine"===t||"reduced"===t)return this.text("machine");if("hash"===t||"md5"===t)return En(this.text());if("json"===t)return this.json();if("offset"===t||"offsets"===t)return this.compute("offset"),this.json({offset:!0});if("array"===t){let t=this.docs.map((t=>t.reduce(((t,e)=>t+e.pre+e.text+e.post),"").trim()));return t.filter((t=>t))}if("freq"===t||"frequency"===t||"topk"===t)return function(t){let e={};t.forEach((t=>{e[t]=e[t]||0,e[t]+=1}));let n=Object.keys(e).map((t=>({normal:t,count:e[t]})));return n.sort(((t,e)=>t.count>e.count?-1:0))}(this.json({normal:!0}).map((t=>t.normal)));if("terms"===t){let t=[];return this.docs.forEach((e=>{let n=e.terms.map((t=>t.text));n=n.filter((t=>t)),t=t.concat(n)})),t}return"tags"===t?this.docs.map((t=>t.reduce(((t,e)=>(t[e.implicit||e.normal]=Array.from(e.tags),t)),{}))):"debug"===t?this.debug():this.text()},wrap:function(t){return Fn(this,t)}};var Mn=In,Bn={text:function(t){let e={};var n;if(t&&"string"==typeof t&&xn.hasOwnProperty(t)?e=Object.assign({},xn[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t)),void 0===e.keepSpace&&this.pointer&&(e.keepSpace=!1),void 0===e.keepPunct&&this.pointer){let t=this.pointer[0];t&&t[1]?e.keepPunct=!1:e.keepPunct=!0}return void 0===e.keepPunct&&(e.keepPunct=!0),void 0===e.keepSpace&&(e.keepSpace=!0),function(t,e){let n="";if(!t||!t[0]||!t[0][0])return n;for(let r=0;r<t.length;r+=1)n+=wn(t[r],e,!0);if(e.keepSpace||(n=n.trim()),!1===e.keepPunct){t[0][0].tags.has("Emoticon")||(n=n.replace(mn,""));let e=t[t.length-1];e[e.length-1].tags.has("Emoticon")||(n=n.replace(dn,""))}return!0===e.cleanWhitespace&&(n=n.trim()),n}(this.docs,e)}};const Un=Object.assign({},Mn,Bn,Nn,fn);var Hn=function(t){Object.assign(t.prototype,Un)},Wn={api:Hn,methods:{one:{hash:En}}};const Kn=function(t,e){if(t[0]!==e[0])return!1;let[,n,r]=t,[,o,i]=e;return n<=o&&r>o||o<=n&&i>n},Rn=function(t){let e={};return t.forEach((t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)})),e};var qn=function(t,e){let n=Rn(e),r=[];return t.forEach((t=>{let[e]=t,o=n[e]||[];if(o=o.filter((e=>function(t,e){return t[1]<=e[1]&&e[2]<=t[2]}(t,e))),0===o.length)return void r.push({passthrough:t});o=o.sort(((t,e)=>t[1]-e[1]));let i=t;o.forEach(((t,e)=>{let n=function(t,e){let[n,r]=t,o=e[1],i=e[2],s={};if(r<o){let e=o<t[2]?o:t[2];s.before=[n,r,e]}return s.match=e,t[2]>i&&(s.after=[n,i,t[2]]),s}(i,t);o[e+1]?(r.push({before:n.before,match:n.match}),n.after&&(i=n.after)):r.push(n)}))})),r},Zn=function(t,e){let n=[];return t.forEach(((r,o)=>{if(!r)return;let[i,s,l,a,u]=r,c=e[i]||[];if(void 0===s&&(s=0),void 0===l&&(l=c.length),!a||c[s]&&c[s].id===a)c=c.slice(s,l);else{let n=function(t,e,n){for(let r=0;r<20;r+=1){if(e[n-r]){let o=e[n-r].findIndex((e=>e.id===t));if(-1!==o)return[n-r,o]}if(e[n+r]){let o=e[n+r].findIndex((e=>e.id===t));if(-1!==o)return[n+r,o]}}return null}(a,e,i);if(null!==n){let r=l-s;c=e[n[0]].slice(n[1],n[1]+r);let i=c[0]?c[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==c.length&&s!==l&&(u&&c[c.length-1].id!==u&&(c=function(t,e){let[n,r,,,o]=t,i=e[n],s=i.findIndex((t=>t.id===o));return-1===s?(t[2]=e[n].length,t[4]=i.length?i[i.length-1].id:null):t[2]=s,e[n].slice(r,t[2]+1)}(r,e)),n.push(c))})),n=n.filter((t=>t.length>0)),n},Qn={one:{termList:function(t){let e=[];for(let n=0;n<t.length;n+=1)for(let r=0;r<t[n].length;r+=1)e.push(t[n][r]);return e},getDoc:Zn,pointer:{indexN:Rn,splitAll:qn}}},Yn=function(t,e){let n=t.concat(e),r=Rn(n),o=[];return n.forEach((t=>{let[e]=t;if(1===r[e].length)return void o.push(t);let n=r[e].filter((e=>Kn(t,e)));n.push(t);let i=function(t){let e=t[0][1],n=t[0][2];return t.forEach((t=>{t[1]<e&&(e=t[1]),t[2]>n&&(n=t[2])})),[t[0][0],e,n]}(n);o.push(i)})),o=function(t){let e={};for(let n=0;n<t.length;n+=1)e[t[n].join(",")]=t[n];return Object.values(e)}(o),o},Jn=function(t,e){let n=[];return qn(t,e).forEach((t=>{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)})),n},Xn=function(t,e){let n=Rn(e),r=[];return t.forEach((t=>{let e=n[t[0]]||[];e=e.filter((e=>Kn(t,e))),0!==e.length&&e.forEach((e=>{let n=function(t,e){let n=t[1]<e[1]?e[1]:t[1],r=t[2]>e[2]?e[2]:t[2];return n<r?[t[0],n,r]:null}(t,e);n&&r.push(n)}))})),r};const tr=(t,e)=>{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},er=function(t,e){return t.map((t=>{let[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t}))},nr={union:function(t){t=tr(t,this);let e=Yn(this.fullPointer,t.fullPointer);return e=er(e,this.document),this.toView(e)}};nr.and=nr.union,nr.intersection=function(t){t=tr(t,this);let e=Xn(this.fullPointer,t.fullPointer);return e=er(e,this.document),this.toView(e)},nr.not=function(t){t=tr(t,this);let e=Jn(this.fullPointer,t.fullPointer);return e=er(e,this.document),this.toView(e)},nr.difference=nr.not,nr.complement=function(){let t=this.all(),e=Jn(t.fullPointer,this.fullPointer);return e=er(e,this.document),this.toView(e)},nr.settle=function(){let t=this.fullPointer;return t.forEach((e=>{t=Yn(t,[e])})),t=er(t,this.document),this.update(t)};var rr=function(t){Object.assign(t.prototype,nr)},or={methods:Qn,api:rr},ir=function(t){t.prototype.sweep=function(t,e={}){const{world:n,docs:r}=this,{methods:o}=n;let i=o.one.bulkMatch(r,t,this.methods,e);!1!==e.tagger&&o.one.bulkTagger(i,r,this.world),i=i.map((t=>{let e=t.pointer,n=r[e[0]][e[1]],o=e[2]-e[1];return n.index&&(t.pointer=[n.index[0],n.index[1],e[1]+o]),t}));let s=i.map((t=>t.pointer));return i=i.map((t=>(t.view=this.update([t.pointer]),delete t.regs,delete t.needs,delete t.pointer,delete t._expanded,t))),{view:this.update(s),found:i}}};const sr=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null};var lr=function(t,e){const n=e.methods.one.parseMatch;return t.forEach((t=>{t.regs=n(t.match,{},e),"string"==typeof t.ifNo&&(t.ifNo=[t.ifNo]),t.notIf&&(t.notIf=n(t.notIf,{},e)),t.needs=function(t){let e=[];return t.forEach((t=>{e.push(sr(t)),"and"===t.operator&&t.choices&&t.choices.forEach((t=>{t.forEach((t=>{e.push(sr(t))}))}))})),e.filter((t=>t))}(t.regs);let{wants:r,count:o}=function(t){let e=[],n=0;return t.forEach((t=>{"or"!==t.operator||t.optional||t.negative||(t.fastOr&&Array.from(t.fastOr).forEach((t=>{e.push(t)})),t.choices&&t.choices.forEach((t=>{t.forEach((t=>{let n=sr(t);n&&e.push(n)}))})),n+=1)})),{wants:e,count:n}}(t.regs);t.wants=r,t.minWant=o,t.minWords=t.regs.filter((t=>!t.optional)).length})),t},ar=function(t,e){t=lr(t,e);let n={};t.forEach((t=>{t.needs.forEach((e=>{n[e]=n[e]||[],n[e].push(t)})),t.wants.forEach((e=>{n[e]=n[e]||[],n[e].push(t)}))})),Object.keys(n).forEach((t=>{let e={};n[t]=n[t].filter((t=>!e[t.match]&&(e[t.match]=!0,!0)))}));let r=t.filter((t=>0===t.needs.length&&0===t.wants.length));return{hooks:n,always:r}},ur=function(t,e){return t.map(((n,r)=>{let o=[];Object.keys(e).forEach((n=>{t[r].has(n)&&(o=o.concat(e[n]))}));let i={};return o=o.filter((t=>!i[t.match]&&(i[t.match]=!0,!0))),o}))},cr=function(t,e){return t.map(((t,n)=>{let r=e[n];return t=(t=(t=t.filter((t=>t.needs.every((t=>r.has(t)))))).filter((t=>void 0===t.ifNo||!0!==t.ifNo.some((t=>r.has(t)))))).filter((t=>0===t.wants.length||t.wants.filter((t=>r.has(t))).length>=t.minWant))}))},hr=function(t,e,n,r,o){let i=[];for(let n=0;n<t.length;n+=1)for(let s=0;s<t[n].length;s+=1){let l=t[n][s],a=r.one.match([e[n]],l);if(a.ptrs.length>0&&(a.ptrs.forEach((t=>{t[0]=n;let e=Object.assign({},l,{pointer:t});void 0!==l.unTag&&(e.unTag=l.unTag),i.push(e)})),!0===o.matchOne))return[i[0]]}return i},pr=function(t,e,n,r={}){let o=n.one.cacheDoc(t),i=ur(o,e.hooks);return i=cr(i,o),e.always.length>0&&(i=i.map((t=>t.concat(e.always)))),i=function(t,e){return t.map(((t,n)=>{let r=e[n].length;return t=t.filter((t=>r>=t.minWords)),t}))}(i,t),hr(i,t,o,n,r)},fr=function(t,e,n){let r=n.one.tagSet;if(!r.hasOwnProperty(e))return!0;let o=r[e].not||[];for(let e=0;e<t.length;e+=1){let n=t[e];for(let t=0;t<o.length;t+=1)if(!0===n.tags.has(o[t]))return!1}return!0},dr=function(t,e,n){const{model:r,methods:o}=n,{getDoc:i,setTag:s,unTag:l}=o.one,a=o.two.looksPlural;return 0===t.length?t:(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_TAGS&&console.log(`\n\n → ${t.length} post-tagger:`),t.map((t=>{if(!t.tag&&!t.chunk&&!t.unTag)return;let o=t.reason||t.match,u=i([t.pointer],e)[0];if(!0===t.safe){if(!1===fr(u,t.tag,r))return;if("-"===u[u.length-1].post)return}if(void 0!==t.tag&&(s(u,t.tag,n,t.safe,`[post] '${o}'`),"Noun"===t.tag&&a)){let e=u[u.length-1];a(e.text)?s([e],"Plural",n,t.safe,"quick-plural"):s([e],"Singular",n,t.safe,"quick-singular")}void 0!==t.unTag&&l(u,t.unTag,n,t.safe,o),t.chunk&&u.forEach((e=>e.chunk=t.chunk))})))},mr={lib:{buildNet:function(t){let e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api:ir,methods:{one:{buildNet:ar,bulkMatch:pr,bulkTagger:dr}}};const gr=/ /,vr=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},br=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;let o=n[e];if(o){if(o.not&&o.not.length>0)for(let e=0;e<o.not.length;e+=1){if(!0===r&&t.tags.has(o.not[e]))return null;t.tags.delete(o.not[e])}if(o.parents&&o.parents.length>0)for(let e=0;e<o.parents.length;e+=1)t.tags.add(o.parents[e]),vr(t,o.parents[e])}return t.tags.add(e),t.dirty=!0,vr(t,e),!0},wr=function(t,e,n={},r,o){const i=n.model.one.tagSet||{};if(!e)return;const s="undefined"!=typeof process&&process.env?process.env:self.env||{};var l;if(s&&s.DEBUG_TAGS&&((t,e,n="")=>{let r=t.map((t=>t.text||"["+t.implicit+"]")).join(" ");var o;"string"!=typeof e&&e.length>2&&(e=e.slice(0,2).join(", #")+" +"),e="string"!=typeof e?e.join(", #"):e,console.log(` ${(o=r,""+o+"").padEnd(24)} → #${e.padEnd(22)} ${(t=>""+t+"")(n)}`)})(t,e,o),1!=(l=e,"[object Array]"===Object.prototype.toString.call(l)))if("string"==typeof e)if(e=e.trim(),gr.test(e))!function(t,e,n,r){let o=e.split(gr);t.forEach(((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),br(t,i,n,r))}))}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;n<t.length;n+=1)br(t[n],e,i,r)}else console.warn(`compromise: Invalid tag '${e}'`);else e.forEach((e=>wr(t,e,n,r)))};var yr=wr,xr=function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r<t.length;r+=1){let o=t[r];if("*"===e){o.tags.clear();continue}let i=n[e];if(i&&i.children.length>0)for(let t=0;t<i.children.length;t+=1)o.tags.delete(i.children[t]);o.tags.delete(e)}};const jr=function(t){return t.children=t.children||[],t._cache=t._cache||{},t.props=t.props||{},t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],t},Pr=/^ *(#|\/\/)/,Er=function(t){let e=t.trim().split(/->/),n=[];e.forEach((t=>{n=n.concat(function(t){if(!(t=t.trim()))return null;if(/^\[/.test(t)&&/\]$/.test(t)){let e=(t=(t=t.replace(/^\[/,"")).replace(/\]$/,"")).split(/,/);return e=e.map((t=>t.trim())).filter((t=>t)),e=e.map((t=>jr({id:t}))),e}return[jr({id:t})]}(t))})),n=n.filter((t=>t));let r=n[0];for(let t=1;t<n.length;t+=1)r.children.push(n[t]),r=n[t];return n[0]},Or=(t,e)=>{let n=[],r=[t];for(;r.length>0;){let t=r.pop();n.push(t),t.children&&t.children.forEach((n=>{e&&e(t,n),r.push(n)}))}return n},kr=t=>"[object Array]"===Object.prototype.toString.call(t),_r=t=>(t=t||"").trim(),Ar=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach((t=>{if(!t.trim()||Pr.test(t))return;let e=(t=>{const e=/^( {2}|\t)/;let n=0;for(;e.test(t);)t=t.replace(e,""),n+=1;return n})(t);n.push({indent:e,node:Er(t)})}));let r=function(t){let e={children:[]};return t.forEach(((n,r)=>{0===n.indent?e.children=e.children.concat(n.node):t[r-1]&&function(t,e){let n=t[e].indent;for(;e>=0;e-=1)if(t[e].indent<n)return t[e];return t[0]}(t,r).node.children.push(n.node)})),e}(n);return r=jr(r),r}(t):kr(t)?function(t){let e={};t.forEach((t=>{e[t.id]=t}));let n=jr({});return t.forEach((t=>{if((t=jr(t)).parent)if(e.hasOwnProperty(t.parent)){let n=e[t.parent];delete t.parent,n.children.push(t)}else console.warn(`[Grad] - missing node '${t.parent}'`);else n.children.push(t)})),n}(t):(Or(e=t).forEach(jr),e);var e},Cr=function(t,e){let n="-> ";e&&(n=(t=>""+t+"")("→ "));let r="";return Or(t).forEach(((t,o)=>{let i=t.id||"";if(e&&(i=(t=>""+t+"")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"})),r},Nr=function(t){let e=Or(t);e.forEach((t=>{delete(t=Object.assign({},t)).children}));let n=e[0];return n&&!n.id&&0===Object.keys(n.props).length&&e.shift(),e},Sr={text:Cr,txt:Cr,array:Nr,flat:Nr},Tr=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(Cr(t,!0)),null):Sr.hasOwnProperty(e)?Sr[e](t):t},Vr=t=>{Or(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))}))},$r=/\//;class g{constructor(t={}){Object.defineProperty(this,"json",{enumerable:!1,value:t,writable:!0})}get children(){return this.json.children}get id(){return this.json.id}get found(){return this.json.id||this.json.children.length>0}props(t={}){let e=this.json.props||{};return"string"==typeof t&&(e[t]=!0),this.json.props=Object.assign(e,t),this}get(t){if(t=_r(t),!$r.test(t)){let e=this.json.children.find((e=>e.id===t));return new g(e)}let e=((t,e)=>{let n=(t=>"string"!=typeof t?t:(t=t.replace(/^\//,"")).split(/\//))(e=e||"");for(let e=0;e<n.length;e+=1){let r=t.children.find((t=>t.id===n[e]));if(!r)return null;t=r}return t})(this.json,t)||jr({});return new g(e)}add(t,e={}){if(kr(t))return t.forEach((t=>this.add(_r(t),e))),this;t=_r(t);let n=jr({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=_r(t),this.json.children=this.json.children.filter((e=>e.id!==t)),this}nodes(){return Or(this.json).map((t=>(delete(t=Object.assign({},t)).children,t)))}cache(){return(t=>{let e=Or(t,((t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],t._cache.children=t._cache.children||[],e._cache.parents=t._cache.parents.concat([t.id]))})),n={};e.forEach((t=>{t.id&&(n[t.id]=t)})),e.forEach((t=>{t._cache.parents.forEach((e=>{n.hasOwnProperty(e)&&n[e]._cache.children.push(t.id)}))})),t._cache.children=Object.keys(n)})(this.json),this}list(){return Or(this.json)}fillDown(){var t;return t=this.json,Or(t,((t,e)=>{e.props=((t,e)=>(Object.keys(e).forEach((n=>{if(e[n]instanceof Set){let r=t[n]||new Set;t[n]=new Set([...r,...e[n]])}else if((t=>t&&"object"==typeof t&&!Array.isArray(t))(e[n])){let r=t[n]||{};t[n]=Object.assign({},e[n],r)}else kr(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])})),t))(e.props,t.props)})),this}depth(){Vr(this.json);let t=Or(this.json),e=t.length>1?1:0;return t.forEach((t=>{if(0===t._cache.parents.length)return;let n=t._cache.parents.length+1;n>e&&(e=n)})),e}out(t){return Vr(this.json),Tr(this.json,t)}debug(){return Vr(this.json),Tr(this.json,"debug"),this}}const Dr=function(t){let e=Ar(t);return new g(e)};Dr.prototype.plugin=function(t){t(this)};var zr={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"};const Gr=function(t){if(zr.hasOwnProperty(t.id))return zr[t.id];if(zr.hasOwnProperty(t.is))return zr[t.is];let e=t._cache.parents.find((t=>zr[t]));return zr[e]};var Lr=function(t){const e={};return t.forEach((t=>{let{not:n,also:r,is:o,novel:i}=t.props,s=t._cache.parents;r&&(s=s.concat(r)),e[t.id]={is:o,not:n,novel:i,also:r,parents:s,children:t._cache.children,color:Gr(t)}})),Object.keys(e).forEach((t=>{let n=new Set(e[t].not);e[t].not.forEach((t=>{e[t]&&e[t].children.forEach((t=>n.add(t)))})),e[t].not=Array.from(n)})),e};const Fr=function(t){return t?"string"==typeof t?[t]:t:[]};var Ir=function(t,e){return t=function(t,e){return Object.keys(t).forEach((n=>{t[n].isA&&(t[n].is=t[n].isA),t[n].notA&&(t[n].not=t[n].notA),t[n].is&&"string"==typeof t[n].is&&(e.hasOwnProperty(t[n].is)||t.hasOwnProperty(t[n].is)||(t[t[n].is]={})),t[n].not&&"string"==typeof t[n].not&&!t.hasOwnProperty(t[n].not)&&(e.hasOwnProperty(t[n].not)||t.hasOwnProperty(t[n].not)||(t[t[n].not]={}))})),t}(t,e),Object.keys(t).forEach((e=>{t[e].children=Fr(t[e].children),t[e].not=Fr(t[e].not)})),Object.keys(t).forEach((e=>{(t[e].not||[]).forEach((n=>{t[n]&&t[n].not&&t[n].not.push(e)}))})),t},Mr=function(t,e){Object.keys(e).length>0&&(t=function(t){return Object.keys(t).forEach((e=>{t[e]=Object.assign({},t[e]),t[e].novel=!0})),t}(t)),t=Ir(t,e);const n=function(t){const e=Object.keys(t).map((e=>{let n=t[e];const r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[]}}));return Dr(e).cache().fillDown().out("array")}(Object.assign({},e,t));return Lr(n)},Br={one:{setTag:yr,unTag:xr,addTags:Mr}};const Ur=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Hr={tag:function(t,e="",n){if(!this.found||!t)return this;let r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),Ur(t)?t.forEach((t=>o.one.setTag(r,t,s,n,e))):o.one.setTag(r,t,s,n,e),this.uncache(),this},tagSafe:function(t,e=""){return this.tag(t,e,!0)},unTag:function(t,e){if(!this.found||!t)return this;let n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");let s=i.one.tagSet;return Ur(t)?t.forEach((t=>r.one.unTag(n,t,s))):r.one.unTag(n,t,s),this.uncache(),this},canBe:function(t){t=t.replace(/^#/,"");let e=this.model.one.tagSet;if(!e.hasOwnProperty(t))return this;let n=e[t].not||[],r=[];this.document.forEach(((t,e)=>{t.forEach(((t,o)=>{n.find((e=>t.tags.has(e)))&&r.push([e,o,o+1])}))}));let o=this.update(r);return this.difference(o)}};var Wr=Hr,Kr=function(t){Object.assign(t.prototype,Wr)},Rr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet;let o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const qr=new Set(["Auxiliary","Possessive"]);var Zr=function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach((t=>{t.forEach((t=>{let e=Array.from(t.tags);t.tagRank=function(t,e){return t=t.sort(((t,n)=>{if(qr.has(t)||!e.hasOwnProperty(n))return 1;if(qr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[],o=r.length;return r=e[n].children||[],o-r.length})),t}(e,r)}))}))},Qr={model:{one:{tagSet:{}}},compute:{tagRank:Zr},methods:Br,api:Kr,lib:Rr};const Yr=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s)/g,Jr=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u3002]+\s$/,Xr=/((?:\r?\n|\r)+)/;var to=function(t){let e=[],n=t.split(Xr);for(let t=0;t<n.length;t++){let r=n[t].split(Yr);for(let t=0;t<r.length;t++)r[t+1]&&!0===Jr.test(r[t+1])&&(r[t]+=r[t+1],r[t+1]=""),""!==r[t]&&e.push(r[t])}return e};const eo=/[a-z0-9\u00C0-\u00FF\u00a9\u00ae\u2000-\u3300\ud000-\udfff]/i,no=/\S/;var ro=function(t){let e=[];for(let n=0;n<t.length;n++){let r=t[n];if(void 0!==r&&""!==r){if(!1===no.test(r)||!1===eo.test(r)){if(e[e.length-1]){e[e.length-1]+=r;continue}if(t[n+1]){t[n+1]=r+t[n+1];continue}}e.push(r)}}return e},oo=function(t,e){const n=e.methods.one.tokenize.isSentence,r=e.model.one.abbreviations||new Set;let o=[];for(let e=0;e<t.length;e++){let i=t[e];t[e+1]&&!1===n(i,r)?t[e+1]=i+(t[e+1]||""):i&&i.length>0&&(o.push(i),t[e]="")}return o};const io={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞"},so=RegExp("("+Object.keys(io).join("|")+")","g"),lo=RegExp("("+Object.values(io).join("|")+")","g"),ao=function(t){if(!t)return!1;let e=t.match(lo);return null!==e&&1===e.length};var uo=function(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n].match(so);if(null!==r&&1===r.length){if(ao(t[n+1])&&t[n+1].length<280){t[n]+=t[n+1],e.push(t[n]),t[n+1]="",n+=1;continue}if(ao(t[n+2])){let r=t[n+1]+t[n+2];if(r.length<280){t[n]+=r,e.push(t[n]),t[n+1]="",t[n+2]="",n+=2;continue}}}e.push(t[n])}return e};const co=/\(/g,ho=/\)/g;var po=function(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n].match(co);null!==r&&1===r.length&&t[n+1]&&t[n+1].length<250&&null!==t[n+1].match(ho)&&1===r.length&&!co.test(t[n+1])?(t[n]+=t[n+1],e.push(t[n]),t[n+1]="",n+=1):e.push(t[n])}return e};const fo=/\S/,mo=/^\s+/;var go=function(t,e){if(t=t||"",!(t=String(t))||"string"!=typeof t||!1===fo.test(t))return[];t=t.replace(" "," ");let n=to(t),r=ro(n);if(r=oo(r,e),r=uo(r),r=po(r),0===r.length)return[t];for(let t=1;t<r.length;t+=1){let e=r[t].match(mo);null!==e&&(r[t-1]+=e[0],r[t]=r[t].replace(mo,""))}return r};const vo=function(t,e){let n=t.split(/[-–—]/);if(n.length<=1)return!1;const{prefixes:r,suffixes:o}=e.one;return(1!==n[0].length||!/[a-z]/i.test(n[0]))&&(!r.hasOwnProperty(n[0])&&(n[1]=n[1].trim().replace(/[.?!]$/,""),!o.hasOwnProperty(n[1])&&(!0===/^([a-z\u00C0-\u00FF`"'/]+)[-–—]([a-z0-9\u00C0-\u00FF].*)/i.test(t)||!0===/^([0-9]{1,4})[-–—]([a-z\u00C0-\u00FF`"'/-]+$)/i.test(t))))},bo=function(t){let e=[];const n=t.split(/[-–—]/);let r="-",o=t.match(/[-–—]/);o&&o[0]&&(r=o);for(let t=0;t<n.length;t++)t===n.length-1?e.push(n[t]):e.push(n[t]+r);return e};var wo=function(t){const e=/^[0-9]{1,4}(:[0-9][0-9])?([a-z]{1,2})? ?[-–—] ?$/,n=/^[0-9]{1,4}([a-z]{1,2})? ?$/;for(let r=0;r<t.length-1;r+=1)t[r+1]&&e.test(t[r])&&n.test(t[r+1])&&(t[r]=t[r]+t[r+1],t[r+1]=null);return t};const yo=/\p{L} ?\/ ?\p{L}+$/u;var xo=function(t){for(let e=1;e<t.length-1;e++)yo.test(t[e])&&(t[e-1]+=t[e]+t[e+1],t[e]=null,t[e+1]=null);return t};const jo=/\S/,Po=/^[!?.]+$/,Eo=/(\S+)/;let Oo=[".","?","!",":",";","-","–","—","--","...","(",")","[","]",'"',"'","`","«","»","*"];Oo=Oo.reduce(((t,e)=>(t[e]=!0,t)),{});var ko=function(t,e){let n=[],r=[];if("number"==typeof(t=t||"")&&(t=String(t)),function(t){return"[object Array]"===Object.prototype.toString.call(t)}(t))return t;const o=t.split(Eo);for(let t=0;t<o.length;t++)!0!==vo(o[t],e)?r.push(o[t]):r=r.concat(bo(o[t]));let i="";for(let t=0;t<r.length;t++){let e=r[t];!0===jo.test(e)&&!1===Oo.hasOwnProperty(e)&&!1===Po.test(e)?(n.length>0?(n[n.length-1]+=i,n.push(e)):n.push(i+e),i=""):i+=e}return i&&(0===n.length&&(n[0]=""),n[n.length-1]+=i),n=xo(n),n=wo(n),n=n.filter((t=>t)),n};const _o=/\p{Letter}/u,Ao=/[\p{Number}\p{Currency_Symbol}]/u,Co=/^[a-z]\.([a-z]\.)+/i,No=/[sn]['’]$/;var So=function(t,e){let{prePunctuation:n,postPunctuation:r,emoticons:o}=e.one,i=t,s="",l="",a=Array.from(t);if(o.hasOwnProperty(t.trim()))return{str:t.trim(),pre:s,post:" "};let u=a.length;for(let t=0;t<u;t+=1){let t=a[0];if(!0!==n[t]){if(("+"===t||"-"===t)&&Ao.test(a[1]))break;if("'"===t&&3===t.length&&Ao.test(a[1]))break;if(_o.test(t)||Ao.test(t))break;s+=a.shift()}}u=a.length;for(let t=0;t<u;t+=1){let t=a[a.length-1];if(!0!==r[t]){if(_o.test(t)||Ao.test(t))break;"."===t&&!0===Co.test(i)||"'"===t&&!0===No.test(i)||(l=a.pop()+l)}}return""===(t=a.join(""))&&(i=i.replace(/ *$/,(t=>(l=t||"",""))),t=i,s=""),{str:t,pre:s,post:l}},To=(t,e)=>{let{str:n,pre:r,post:o}=So(t,e);return{text:n,pre:r,post:o,tags:new Set}},Vo=function(t,e){const n=e.model.one.unicode||{};let r=(t=t||"").split("");return r.forEach(((t,e)=>{n[t]&&(r[e]=n[t])})),r.join("")},$o=function(t){let e=t=(t=(t=t||"").toLowerCase()).trim();return t=(t=(t=t.replace(/[,;.!?]+$/,"")).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!1===/^[:;]/.test(t)&&(t=(t=(t=t.replace(/\.{3,}$/g,"")).replace(/[",.!:;?)]+$/g,"")).replace(/^['"(]+/g,"")),""===(t=(t=t.replace(/[\u200B-\u200D\uFEFF]/g,"")).trim())&&(t=e),t=t.replace(/([0-9]),([0-9])/g,"$1$2")};const Do=/([A-Z]\.)+[A-Z]?,?$/,zo=/^[A-Z]\.,?$/,Go=/[A-Z]{2,}('s|,)?$/,Lo=/([a-z]\.)+[a-z]\.?$/;var Fo=function(t){return function(t){return!0===Do.test(t)||!0===Lo.test(t)||!0===zo.test(t)||!0===Go.test(t)}(t)&&(t=t.replace(/\./g,"")),t},Io=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=$o(r),r=n(r,e),r=Fo(r),t.normal=r},Mo=function(t,e){const{methods:n,model:r}=e,{splitSentences:o,splitTerms:i,splitWhitespace:s}=n.one.tokenize;return t=o(t=t||"",e).map((t=>{let n=i(t,r);return n=n.map((t=>s(t,r))),n.forEach((t=>{Io(t,e)})),n})),t};const Bo=/[ .][A-Z]\.? *$/i,Uo=/(?:\u2026|\.{2,}) *$/,Ho=/\p{L}/u,Wo=/^[A-Z]\. $/;var Ko=function(t,e){if(!1===Ho.test(t))return!1;if(!0===Bo.test(t))return!1;if(3===t.length&&Wo.test(t))return!1;if(!0===Uo.test(t))return!1;let n=t.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==e.hasOwnProperty(r)},Ro={one:{killUnicode:Vo,tokenize:{splitSentences:go,isSentence:Ko,splitTerms:ko,splitWhitespace:To,fromString:Mo}}},qo={"&":"and","@":"at","%":"percent",plz:"please",bein:"being"};let Zo={},Qo={};[[["approx","apt","bc","cyn","eg","esp","est","etc","ex","exp","prob","pron","gal","min","pseud","fig","jd","lat","lng","vol","fm","def","misc","plz","ea","ps","sec","pt","pref","pl","pp","qt","fr","sq","nee","ss","tel","temp","vet","ver","fem","masc","eng","adj","vb","rb","inf","situ","vivo","vitro","wr"]],[["dl","ml","gal","qt","pt","tbl","tsp","tbsp","km","dm","cm","mm","mi","td","hr","hrs","kg","hg","dg","cg","mg","µg","lb","oz","sq ft","hz","mps","mph","kmph","kb","mb","tb","lx","lm","fl oz","yb"],"Unit"],[["ad","al","arc","ba","bl","ca","cca","col","corp","ft","fy","ie","lit","ma","md","pd","tce"],"Noun"],[["adj","adm","adv","asst","atty","bldg","brig","capt","cmdr","comdr","cpl","det","dr","esq","gen","gov","hon","jr","llb","lt","maj","messrs","mlle","mme","mr","mrs","ms","mstr","phd","prof","pvt","rep","reps","res","rev","sen","sens","sfc","sgt","sir","sr","supt","surg"],"Honorific"],[["jan","feb","mar","apr","jun","jul","aug","sep","sept","oct","nov","dec"],"Month"],[["dept","univ","assn","bros","inc","ltd","co"],"Organization"],[["rd","st","dist","mt","ave","blvd","cl","cres","hwy","ariz","cal","calif","colo","conn","fla","fl","ga","ida","ia","kan","kans","minn","neb","nebr","okla","penna","penn","pa","dak","tenn","tex","ut","vt","va","wis","wisc","wy","wyo","usafa","alta","ont","que","sask"],"Place"]].forEach((t=>{t[0].forEach((e=>{Zo[e]=!0,Qo[e]="Abbreviation",void 0!==t[1]&&(Qo[e]=[Qo[e],t[1]])}))}));var Yo=["anti","bi","co","contra","de","extra","infra","inter","intra","macro","micro","mis","mono","multi","peri","pre","pro","proto","pseudo","re","sub","supra","trans","tri","un","out","ex"].reduce(((t,e)=>(t[e]=!0,t)),{});let Jo={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},Xo={};Object.keys(Jo).forEach((function(t){Jo[t].split("").forEach((function(e){Xo[e]=t}))}));const ti=/\//,ei=/[a-z]\.[a-z]/i,ni=/[0-9]/;var ri=function(t,e){let n=t.normal||t.text||t.machine;const r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),ti.test(n)&&!ei.test(n)&&!ni.test(n)){let e=n.split(ti);e.length<=2&&e.forEach((e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))}))}return t};const oi=/^\p{Letter}+-\p{Letter}+$/u;var ii=function(t){let e=t.implicit||t.normal||t.text;e=e.replace(/['’]s$/,""),e=e.replace(/s['’]$/,"s"),e=e.replace(/([aeiou][ktrp])in'$/,"$1ing"),oi.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)},si=function(t){let e=t.docs,n={};for(let t=0;t<e.length;t+=1)for(let r=0;r<e[t].length;r+=1){let o=e[t][r],i=o.machine||o.normal;n[i]=n[i]||0,n[i]+=1}for(let t=0;t<e.length;t+=1)for(let r=0;r<e[t].length;r+=1){let o=e[t][r],i=o.machine||o.normal;o.freq=n[i]}},li=function(t){let e=0,n=0,r=t.document;for(let t=0;t<r.length;t+=1)for(let o=0;o<r[t].length;o+=1){let i=r[t][o];i.offset={index:n,start:e+i.pre.length,length:i.text.length},e+=i.pre.length+i.text.length+i.post.length,n+=1}},ai=function(t){let e=t.document;for(let t=0;t<e.length;t+=1)for(let n=0;n<e[t].length;n+=1)e[t][n].index=[t,n]},ui=function(t){let e=0,n=t.docs;for(let t=0;t<n.length;t+=1)for(let r=0;r<n[t].length;r+=1)""!==n[t][r].normal&&(e+=1,n[t][r].wordCount=e)};const ci=function(t,e){let n=t.docs;for(let r=0;r<n.length;r+=1)for(let o=0;o<n[r].length;o+=1)e(n[r][o],t.world)};var hi={compute:{alias:t=>ci(t,ri),machine:t=>ci(t,ii),normal:t=>ci(t,Io),freq:si,offset:li,index:ai,wordCount:ui},methods:Ro,model:{one:{aliases:qo,abbreviations:Zo,prefixes:Yo,suffixes:{like:!0,ish:!0,less:!0,able:!0,elect:!0,type:!0,designate:!0},prePunctuation:{"#":!0,"@":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},postPunctuation:{"%":!0,_:!0,"°":!0,"​":!0,"‌":!0,"‍":!0,"\ufeff":!0},lexicon:Qo,unicode:Xo,emoticons:{"<3":!0,"</3":!0,"<\\3":!0,":^P":!0,":^p":!0,":^O":!0,":^3":!0}}},hooks:["alias","machine","index","id"]},pi={typeahead:function(t){const e=t.model.one.typeahead,n=t.docs;if(0===n.length||0===Object.keys(e).length)return;let r=n[n.length-1]||[],o=r[r.length-1];if(!o.post&&e.hasOwnProperty(o.normal)){let n=e[o.normal];o.implicit=n,o.machine=n,o.typeahead=!0,t.compute.preTagger&&t.last().unTag("*").compute(["lexicon","preTagger"])}}};const fi=function(){const t=this.docs;if(0===t.length)return this;let e=t[t.length-1]||[],n=e[e.length-1];return!0===n.typeahead&&n.machine&&(n.text=n.machine,n.normal=n.machine),this};var di=function(t){t.prototype.autoFill=fi},mi=function(t,e,n){let r={},o=[],i=n.prefixes||{};return t.forEach((t=>{let s=(t=t.toLowerCase().trim()).length;e.max&&s>e.max&&(s=e.max);for(let l=e.min;l<s;l+=1){let s=t.substring(0,l);e.safe&&n.model.one.lexicon.hasOwnProperty(s)||(!0!==i.hasOwnProperty(s)&&!0!==r.hasOwnProperty(s)?r[s]=t:o.push(s))}})),r=Object.assign({},i,r),o.forEach((t=>{delete r[t]})),r};const gi={safe:!0,min:3};var vi={typeahead:function(t=[],e={}){let n=this.model();var r;e=Object.assign({},gi,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));let o=mi(t,e,this.world());return Object.keys(o).forEach((t=>{n.one.typeahead.hasOwnProperty(t)?delete n.one.typeahead[t]:n.one.typeahead[t]=o[t]})),this}},bi={model:{one:{typeahead:{}}},api:di,lib:vi,compute:pi,hooks:["typeahead"]};v.extend(tt),v.extend(Wn),v.extend(un),v.extend(or),v.extend(Qr),v.plugin(At),v.extend(hi),v.plugin(x),v.extend(Ht),v.extend(bi),v.extend(zt),v.extend(mr);var wi={City:"true¦0:3O;1:54;2:3U;3:4P;4:4I;5:3P;6:38;あ58い56う54えび53か52さ51たつ53つ4Zにかほ市,ひたちなか市,ふじみ1み4Yむつ市,一4X七尾市,三4W上4U下4T世田谷区,中4Q串4P丸亀市,丹波4N久4L亀4K二4I五4H井3交1京4G人吉市,今治市,仙4F伊4B会津若4J佐4A倉49備48光市,入4P八45出44函館市,刈43別42前41加3Z勝3Y北3S匝瑳市,十3R千3P半0南3M印3L厚3K取3J古3I可児市,台東区,各務3合3H吉3G名3F向日市,君6吹0呉市,周3D和3C品3B唐6善通3A喜多39嘉麻市,四37国36土33坂32垂35城陽市,堺市,塩31境港市,墨3Q士30壱岐市,夕張市,多2Y大2T天2S太2R奄美市,奈2Q奥3X妙高市,姫2P姶2Q嬉1宇2N守2M安2K宍粟市,宗像市,宜野湾市,宝2J室2I宮2G宿毛市,富2E寒河2D寝屋2対3O射35小2B尼2A尾28山27岐阜市,岡26岩25岸和0島24川23市22帯広市,常20平1Z幸3J広5庄3府中市,座4P延1Y廿日38弘48弥富市,彦1X御1W徳5志1V恵1U愛3L成0我孫46戸0所29指宿市,掛2摂6敦1T文京区,新1S日1R旭4R明1Q春日1P昭5曽於市,有0朝1O木1N本1M札幌市,杉並区,村1L東1I杵築市,松1H板橋区,枕2A枚39柏4D柳1G栃3K栗1F根室市,桐生市,桑1E桜1G桶2横1D橋1C橿3歌志1B武19気仙3N水18氷2Z江17池0沖縄市,河内長1沼16泉15津14洲1C流4浅口市,浜13浦12海11淡2P深10清0Z渋0Y港区,湖0X湯29滑2滝0W潟上市,潮来市,瀬戸0V焼6熊0U熱海市,燕市,牛久市,牧之3犬4狛2D狭4玉0T珠洲市,瑞0S生駒市,田0R由0Q甲0P男0O町0留萌市,登0N白0M益0盛1Y目黒区,直39相0L真0K矢板市,知0J石0I砂2砺波市,碧3D磐0神0H福0G秋0秦1秩0F稚1B稲0E立2竹24笛吹市,笠0D筑0C箕面市,米0B糸0A紀の2紋30結3T網走市,綾09総社市,練馬区,美07羽06習志1胎1B能05臼杵市,舞鶴市,船41芦04花巻市,苫小牧市,茂3茅03茨3K草02荒01菊00萩市,葛Z蒲郡市,蓮0蕨市,薩摩川1B藤Y行X袋2C袖ヶ浦市,裾1西W見附市,観音3A角0調布市,諏訪市,諫早市,豊U貝2J赤T越S足R輪5近江八幡市,逗46遠1那P郡1L都O酒0野N金29釜1Q釧2P鈴0O鉾0銚46鎌M長K門真市,関市,阪3D防42阿J陸前高0雲I霧5青H静1Y韮2A須G飛騨市,飯F養0F館E香D駒ヶ1X高C魚B鯖2D鳥A鳴門市,鴨2鴻巣市,鶴9鹿8黒7龍ヶ2A;石市,部市;児5屋市,島市,嶋市,沼市,角市;ヶ5岡市;取市,栖市,羽市;沼市,津市;山市,岡市,島市,崎市,松市,梁市,槻市,浜市,知市,石市,砂市,萩市;南市,取市,美市,芝市;山市,林市;塚市,山市,田市,能市;坂市,崎市,賀2;梅市,森市;仙市,南市;久1K南市,波市,蘇市,賀1;久35井市,岡7崎市,浜市,野市,門市;京市,市;ヶ3N倉市;々2R洲市,田市;城市,留市;珂48覇市,須7;塩3烏4;利市,立区;前市,谷市;平市,磐市,穂市;中市,前市,岡市,島区,川市,後7明市,橋市,田市,見35;大1高0;之表市,予市,宮市,尾市,条市,東京市,海市,脇市,都市;方市,橋市,田市;井2I岡市,枝市,沢市;城市,飾区;川市,池市;尾市,川区;加市,津市;ヶ1D野市;別市,屋市;代市,美市;咋市,島市,曳1村市,生市;作市,唄市,濃7祢市,馬市;加茂市,市;瀬市,部市;島市,満市,魚2;原市,子市,沢市;後市,紫1西市;岡市,間市;城市,敷市,沢市;父市;井市,山市,岡市,島市,津市,生市,知4;埼市,戸市,栖市;垣市,岡市,巻市,狩市;多市,立市;岡市,庭市;模3生市,馬市;井市,山市,岡市,河市,石市;別市,米市;鹿市;州市,府市,斐市,賀市;利本荘市,布市;原市,川市,村市,辺市;浪市,穂市;名市,野市;本市,谷市,野市;内市,市;川市,沢市;南市,西市;川市,谷区;瀬市,須市;川市,谷市;南市,津市,老J;安市,添市;松市,田市;久11山市,島市,市;佐1南市,大6;津市,田市;別市,南市,戸1A東区,津市,田5;俣市,戸市;蔵7雄市;村4野市;内市;本市;手市,浜市,須M;名市;原市,東市;井市,川市;原市,山市,戸市,本市,江市,浦市,阪市;かがわ市,久留2A京特別区部,大8広5御市,村4松7根市,海市,温市,近01金市;山市,島市;和市,阪市;上市,山市;宮市,巣市,庄市;更6津2;倉市,来市,霞市;井市,市,部市;石市;光市,南市,向市,田市,立市,置市,進市,野市,高市;城市,宮市,宿区,居浜市,庄市,座市,潟市,発0見市;賀市;庭市,那市;布0S摩市,木市;前K坊市,所市,殿場市;根市;岡市;塚市,川市,戸市;滑市,総市,陸7;大T太0;原市,川市;口市,崎市,西市,越市;原市,田市;倉市,出市,国市,沼市,見A;山市,崎市,谷市;口市,形市,梨市,武市,県市,陽小野0鹿市;張旭市,花7道市,鷲市;沢市;崎市;千0Y城市,山市,平市,松C林市,樽市,浜市,牧市,田3矢部市,美玉市,諸市,郡市,野市,金7;井市;江市;士7山市,岡市,津市,田林市,良1谷市,里市;吉0宮市,市,見市;古7崎市,津市,若市;島市,市;戸市,蘭市;塚市;中市,城市,曇1来市,芸7;市,高0;口市,山市,谷市;佐市,和5土市,城市,治市,部市,都7陀市;宮市;路市;良市;宰0H田市;理市,童市,草市;仙市,分市,和A垣市,崎市,川市,府市,月市,村市,東市,津市,洲市,牟0田9町市,竹市,網白0R船渡市,野8阪7館市;市,狭4;城市,市;区,原市,市;市,郡4高0;久市,摩市,治7賀01;見市;別市;尻市,竈市;井市,出市,戸市,東市;佐7岐市,浦市;市,清7;水市;分A東市,立市;万十市,国中央市,日7條畷市,街道市;市市;方市;寺市;川区;光市,歌4泉市;南市;津市;取市,古N寄市,張市,護市;川市,野2;志市;河市,賀市;手市;木市;西市;あわじ市,さつ0Pアルプス市,丹市,九H国市,城市,島3房総市,相8砺市,足柄市,陽市,魚7;沼市;馬市;代7曲市,歳市,葉市;田区;和0日町市;上市,九B区,名古A広5斗市,本市,杜市,秋0茨7見市;城市;田市;島市;屋市;州市;山市,浦市;古2東市,茂市,西市,賀市,須市;川市;橋市;府市;谷市;水市,雲市;代市,千代市,女市,尾市,幡8戸市,潮市,王7街市;子市;市,平市,浜市;前市;吉市,敷市;世保市,久市,伯市,倉市,渡市,賀市,野市;万9丹市,予市,佐市,勢8東市,豆7賀市,達市,那市;の国市,市;原市,崎市,市;里市;北市,台市;丹後市,田辺市,都市;島市,所川3條市,泉市;戸市,本7;松市;山市,岡市;喜市,慈市,留7;米市;市,篠4;山市;間市;央8津7野8間市;川市,市;区,市;呂市,妻市,松市,田市,野市,関市;天草市,尾市,山市,田市,越市,野3;原市;原市,好市,島市,木市,条市,次市,沢市,浦市,田市,笠市,豊市,郷市,鷹市;宮市,関市;どり市,やDよし市;がる市,くば7;みらい市,市;いたAくEぬC;すみがうDほく市;の市;きは市,る7;ま市;すみ市,ちき串木1なべ市,わ7;き市;きる1ま市,わ7;ら市;野市",Country:"true¦0:17;1:1F;ア15イ11ウ0Xエ0Vオ0Sカ0Qガ0Oキ0Mギ0Kク0Hグ0Gケ0コ0Dサ0Bザン0Pシ0Aジ09ス04セ01ソZタYチXツバル,デンマWトUドSナRニQネパ0Rノルウェー,ハPバOパMフKブIベHペルー,ホンジュラス,ボGポFマEミDメキシコ,モ9ヨル05ラ8リ7ル6レ5ロ13中4北3南2台湾,日本,東ティモ0R沿ドニエストル,西サハラ,赤道ギ0韓国;アフ1Aオセ0Hスー04;キプ0L朝鮮;国,央アフリカ共0C;ソト,バノン;クセンブルク,ワ0Vーマ0;トア0ヒテンシュタ02ビア,ベ13;オス,ト0I;ザンビOナコ,ル4ロッコ,ン3ーリ2;シャス,タ0;ゴル,テネグロ;ディブ,ドバ;クロネシア0Yャンマー;ケドニア旧ユーゴスラビア共02ダガスカル,ラウイ,リ,ルタ,レー0Qーシャル06;ルトPーラ1;スニア・ヘルツェゴビナ,ツワナ,リ0A;トナム,ナン,ネズエラ,ラルーシ,リーズ,ルギー;ラジル,ル2ー0X;ガ0Rキナファソ,ネイ,ンジ;ィ2ランス;ジー,リピン,ンラ1;キス0Tナマ,プアニューギ0ラ2レスチナ;オ,グ0C;チカン,ヌアツ,ハマ,ルバドス,ングラデシュ,ーレ07;イチ,ンガリー;ウエ,カラグア,ジェ02ュージーラ1;イジェ0Jウル,ゴルノ・カラバフ,ミZ;イツ,ミニカ2;共N国;リニダード・トバゴ,ル2ンガ,ーゴ;クメ0Jコ;ーク;ェコ,ャド,ュニ0Gリ;イ,ジ02ンザ0;マリ2ロモンL;ア,ラ1;ネ3ルPント2ーシェル;クリストファー・ネイビス,ビンセントおよびグレナディーンIル02;ガル;イス,ウェーデン,ペ5リ4ロ3ワジラ1ー2;ダン;バキア,ベ0;ナム,ランカ;イン;ブチ,ャマイカ,ョー04ンバブエ;エラレオネ,リア,ンガポI;ウジアラFモア,ン2;トメ・プリンシペ,マリノ;スタZソボ,モロ,ロンDンゴ2ートジボワF;共2民主共2;和国;アテマラ,レナダ;ウェート,ック3ロア2;チア;諸島;ニア2リシャ;!ビサウ;プ2ューバ,リバス,ルギス;ロス;イアナ,ボン,ン2ーナ;ビア;ザフスPタ2ナダ,メル5ンボNーボベルデ;ール;マ3ラ9ースト2;ラHリア;ーン;クア2ジプト,スト0チオピア,リトFルサルバ2;ドル;ガ4クライナ,ズベ3ルグ2;アイ;キスG;ンダ;エメン,ギリス,スラエル,タ9ラ4ンド2;!ネ2;シア;ク,ン;イBゼルバイジャン,フガ9ブハ8メ7ラブ首長国6ル3ン2;ゴラ,ティグア・バーブーダ,ドラ;ジェ3ゼンチン,バ0メ0;ニア;リア;連邦;リカ;ジア;ニス2;タン;スラ1ルラ1;ンド",Adjective:"true¦0:0Y;1:0U;あ0Uい0Sう0Rお0Lか0Kがんこな,き0Gく0Nげんき1こ0Fさ0Eざんねん,し09じ07す05せ04た03ち01つZていねい,とYなXにVねUはTひSびょうきの,ふQへPべんり,ほそい,ぼんやり0JまNみLむKやJゆうめい,よIりっぽ0HわH丁寧,丈夫,三角の,上手,下手,不味い,丸いG低い,便利,優0元気1冷00危F厚い,古い,可愛い,四角い,固い,塩辛い,変1多い,大E太R奇麗,好き,嫌い,嬉0孤独な,安D寒い,小02少0X平均C年老0O広い,弱い,強い,忙0怒0W悪い,悲0新B早い,明るい,易0暇,暑い,暖10暗い,有名,柔ら10楽0正A残念,汚い,涼0温10滑ら11無料,熱い,狭い,球9甘い,異常な,病気の,痛い,痩せた,白い,真面目な,眠い,短い,硬い・固い,社交C立方9簡単1素8細い,綺麗な,緊急の,緑の,美7肌寒い,良い,色々,若い,苦い,荒い,落ち着0O蒸し蒸し0J薄い,複雑1親6詰まら0X誤0W貧0賑W赤い,軽い,辛い,近い,速い,遅い,遠い,酸っ06醜い,重5長4難0青い,静か,面白い,頑固な,高3魅力2鮮や11黄色い,黒い;の0W的な;い,価な;い,方形の;い,要な;し07切;しい,味0;敵1晴ら0;体の;しい,常な;しい,鮮;的な;い,全1;きい,人0;ない,険な;!・円い;かい,るい;い,かっ,わい;さ0すい,せた,わら0I;しむし00ずか0;じ0Gどりの,にTりょく2;てQの0C;じめな,ず2るい;い,しい;いきんてNた,ん1;くざつ1と2るい;い,った;くい,どい,ま,ろい;だざ2やい;むい;がい,ぎ2;やか;がい,めら05;おい,しおR;まらZめ2よい;たい;い2かい,ょうほうけI;さい;かい,だ0の0;いじょQまい;き,くTず0っ2てき1ばら0;ぱい;ゅうよNょう2;ず,ぶ;おからい,か5ずか,たし4ゃこうて3ろい,んせ2;つ,ん;きな;みやすい;くい;むい,んかくの;うNどくな;い8けんな,たIちんと4ゅ2らい,れい1んきゅうの;うた2;いの;した;たい,な0らい,るい,わいい,んたん1;い0お6かねも5こCそい,ちつ4とな0も2金持5;い,し2;ろい;いた;ちな;い,きい;すい,つく0れ0;い,じょ2そが0;うな;おい,か9ざや8た5つい,ぶ4まい,やま3らい,んぜん1;!な;った;ない;た3ら0;しい;かい;かな;い,るい",Preposition:"true¦かJがはやいか,きり,くらい,こそ,さIしGすら,ぜ,ぞ,だEてDとBなAに9ね,の8は,ば6へ,ほど,まで5も3や2よ1わ,を0;!する;!り;いなや,ら;!の0;!か,の;!もない;!いい,かり0;!でなく,に;!です,に,み;!しては,ついて,とって;!あ,がら,ど,り; いう,か,ころ,して,も0;!…とも,あろうひと;は,も;け0の;!に;!か0;!ない;!え;しら,な0;!いうちに",Auxiliary:"true¦いZえYおう,かXがWきVぎUくTけSげYこRごう,さOしLす06せKたIちHっGてCとう,な7にUねYのう,ばWびUべYぼう,ま2みUめYもう,ら1りUるな,れYろう,わWん0;じ06だ03で;ず,せる,ない,れN;し2す,ず,せ0ない,れる;る,ん0;!でした1;た0ょう;!ら;い1かった0ければ,さい,ず,せる,ない,れる;!だ2でしAら;! だ1で0; くだSし8;ろう; 0ば,る;い0くだP;た,ま0る;した,す,せんL;たNちQて;すOそう,たい,なLまIゃう;い,ず,せる,でし0ない,り,れる,ろう;ょう;ず,ば,よ,る;すKそう,た1ちLて,な0まEよう,ろ;い,さい;!い,り;ず,せ0ない,れる;ない,ま0る;す,せん;い,う,させる,ず,ない,よう,られる,れる;ば,る,れば;ありません7て,ない;すBそう,たい,な8ま5;すAそう,た9ちBて,な7ま4;ず,せる,ない,れる;ず,せる,った6ない,れる;ば,る;じ7す6そう,た5だ4ち7て,で,な3ま0;し1す,せん0;!でした;た,ょう;さい;!ら,り;!い,ら,り;ぎる;ゃう",Adverb:"true¦あ0Hい06おそらく,か03き02くする,けっ00ことごとく,ごとき / ごとく / ごとし,しょっちゅう,じゅうZすっかり,ずいZぜんぜん,そこそこ,たWだUちょTつSできるだけ,とRどOなかなか,のんびり,はLひKびJふIべつHほとんど,まCみBむしろ,めったにAも9や7ゆJよ6一5丁度,万一,今に0G以4全F再び,初N別H前に,十分,大3実に,少すこし,後で,必ず,急に,意外,敢えて,普1本当に,果たY案の定,極N決し01相当,真っ直ぐ,結0色々 ,間に,非常に;局,構;段,通0;! ;丈夫,分,変;上に,外;人,体,層,度に,応,旦,気に,番,種,緒に;うやく,く;っ0はり;と,ぱり;しかしたら,はや;!~08;たGんな;あまあ,えに,すます,だ3っ1でに,る0んいち;っ8で;すぐ,た0;く~03;!しも,~ていません;に~01;たEつう,と;っくり;じょQとり;じ1たCっ0;きり;めて;う1ん0;どん,なに~O;!してPせ,にも~Sやら;うとう,きどき,ても;いに;うど,っと;い0んだん;じょうぶ,ぶ;い1くさん,しかに,び0ぶん,まに;たび;して;ぶん;きょく,こう,し0;て~H;っと,ゅ8;た1つて,どうか,な0何か;にか,らず,り;がた,わら;か8がい,きなり,く5じょ4ち3っ0つも,まに9ろいろ;きに,し1そう,た0ぱい;い,ん;ゅ,ょに;おう,どに,ばん;うに;つ,ら0;!~0;ても;が,に0;!も;いだに,えて,くまでも,とで,まり0らかじめ,んのじょう;!にも,~0;ない",Expression:"true¦あ13い10う0Xえ0Uお0Nきゃ0Mぎ0Jぐふ0Iげっ,こ0Dご0Aさ08ざまあみろ,じゃ11す06そ03ただいま02どXなTねSはQひ0RふPへMほLまKもJやIよDわCアAイヤ,ウ9エ8オ7ガーン,キャ6コンニチワ,ゴメン,サヨナラ,デヘヘ,トホホ,ノー,ハ5バカヤロー,ヒヒヒ,フ3メリークリスマス,モシモシ,ヤ2ヨロシク,ワ1何だ,南無,嗚呼,御0有難う;意,馳走0P;ァー,ーッ;ダー,ッター,レヤレ;ェ0ムフム;!ーン;ア,ッハッハ,テ;ッ,ー;ヤスミ,ー;イ,ッ;イ,ヒャー,ン,ーン,~ン;ッ0ハハ,リガトウ;!カンベー,プップ~;ぁ03あ,っ,んわん,ーい;い3う2お,くもまあ,し1っ0ーし;こら2しゃ;!っ,ゃ;!こそ,し;しょ;ぁ,あ,れやれ,ァ;ぉ,しもし;ぁ,あVァ,ア;う,ら,んと;ぇ,え1っ,ー0;!え,っ;!え,ッ,ー;うん,ふふ,むふむ,ん,ーん;ぁ,あ,い,じめAっ,て0ーい;!な;ぇ,え;あ2む,るほど,ん0;てこった,と0;!まあ,もはや;に,んだ;う2っこい1れどれ,ー0;ぞ,も;!しょ;いたし0ぞ,も;まして;!ッ;う1ら0;!そら;!ですね,ね;い0まん,み0ん0;ません;ぁ,あ7てと,よ0らば;うなら,なら;きげんEくろうさん,ちそうFっつぁん,めん1苦労さ0馳走F;ま,ん;!くだGなG;ら3りゃ2れこれ,ん0;にち0ばん0;は,わ;!ー;!ぁ;!っ;ゃ1ょ0;!い,ぎょ;あ,ふん;あ,ー;い,ぉ,お,かえり4ぎ3す,そまつ2っ,つかれ様,は1めでとう,や0ーい,早う,疲れ2粗末2;!すみ3っ;よう;さま,様;ゃー;!な0;さい;え1っ,ッ,ー0;!っ,ッ;!い;うん,ふ1わ,ん,ー0;む,ん;!っ,ふ;いえ,え1ただきます,や0ーえ;!ぁ,あ,ー;!いえ;ぁ,あ,いた,かん7きまへん,っ6ら5り2れ1ゝ,ッ,ー0~;!あ;!よあれよ,れ,ー;がと1ゃ0;!りゃ;!う;!ッ,ー;!かんべー;!べ",Conjunction:"true¦あ0Yいっぽう,お0Rか0Pが0Oぎゃくに,け0Mこう0Qさ0Kし0Fじゃが,す0Eそ00たXだTちなSってか,つPてOでLとIど05なDにもかかわらず,のCはんめん,ふんBほ8ま6も4や0Oゆえに0Oよ0Hわけ03んB一方3並びに,乃至,亦,但Z併0Z例Y即ち,又H及び,反面,同0T否,因S実は,尚,尤も,従0H恐0U惜し0W或2故に,本当は,次1然し0若し0X譬Y追0H逆に;!な0U乍ら;いで,に;いは,は;!で;、,し0っとも,また;!くは;してや,ずは,た0;!は0G;な1ん0;じゃ,で,なら;!ら;じゃ;ため,で;いし3お,かん2ぜなら,の1ら0;!ば,びに;で,に;ずく,づく;!は;!、,いうのも,ころ1す02も0同時に;あれ,す01に;が,で;!す1な0は,も;いと,けY;から,が,けれど;か,ゆーか;い1ま0;り,るところ;ては,で;みに;から2が,け1って,とす0;ると,れば;ど,れども;!、,こそ,といK;だ1と0め,ら;えば,へば;!し;う9こで,し8の6もそも,やさかい,りゃ,れ0ーいや;からMだQで4とLど3な2に0も,ゆえに、;!し0;ても;のに,ら;ころか;!、,いて,は,も;うえ0上,後;!で,に;たら,てE;い2し1す0ですが,な0;ると;たら,て;えば,や;なわち,ると;か2た0;が0ら;って;し0も;!、,なB;て,もなけ0らに,りとて,れど;れば;ど,れど0;!も;!、;!く0たや,つ,ら;して;し4そ2な1ま0よび;けに;じく;れな0;がら;むら0;くは;るいは,わ0;せて",Value:"true¦一,七,三,九,二,五,八,六,十,千,四,百",Weekday:"true¦土0日0月0木0水0火0金0;曜日",Infinitive:"true¦0:04;ふけり,上0K下0J並0I乗り0H乾0G仄めかし,仰ぎ,企0F伏せ,休み,会い,似,住み,作り,使い,侍り,信じ,倒0E借り,偽り,傷つけ,傾き,働き,優れ,儲0D光り,入0C冷0A凝09出08分かり,切0C別れ,刺し,加え,劣り,助0D励07勉強,動き,勝ち,勤め,包み,参り,取06口説き,可愛0K叱り,合い,向かい,吸い,吹き,呉れ,呼び,咲き,喋り,喜05噛み,回り,困り,囲み,固0基づき,増03壊0E売0C変02外し,太り,好み,妨げ,始0威張り,嫌0K学び,守り,定め,実り,寄00寝,届Z履き,崩0E干し,広0庇い,座り,引きY張り,強0弾き,待ち,得,志し,忘れ,怒り,怖0K思いX怠け,急ぎ,恐れ,悲W惚れ,惜W感じ,慌て,慣れ,慰め,戒め,戻V手伝い,払い,抑え,投げ,折れ,抜Z抱U押し,担ぎ,招き,拵え,拾い,持ち,挟み,捨て,捻り,掘り,掛0D探し,掲げ,握り,支え,救い,教え,散り,数え,敷き,晴れ,暖T暮S曇り,曲0J書き,枯S楽W構R次ぎ,欲し0K歌い,止T歩き,死に,残V殴り,殺し,比べ,気Q求め,汚れ,污し,決0沈み,沸0G泊T泣き,泳ぎ,洗い,流P浴び,消O混N減M渡V満たし,溶L滅K滑り,漏S濡れ,点け,無くJ焦I焼Z熟し,片付け,狂い,現0E生H異なり,畳み,疲れ,痛み,登り,盗み,目立ち,直V眠り,眩み,眺め,着G睨み,知F砕き,磨き,示し,祈り,祝い,禁じ,稼ぎ,空き,立E笑い,答え,終D組み,結び,続Z練り,縛り,繰り返し,置き,罵り,習い,考え,聞C育E脂ぎり,脱ぎ,腐り,腰掛け,臥せり,舐め,苦しB落A蓄え,虐め,行き,被り,褒め,襲い,要り,見9覚え,解Z触0C言い8試し,話し,認め,誘い,読み,調べ,負L貰い,買い,貸し,走り,起7越し,足V踊り,踏み,蹴り,転び,輝き,込み,迎え,返V迷い,追い,送り,逃げ,通6連れ,進み,遅れ,遊び,運び,過5違い,適い,選び,避け,重4釣り,長け,閉0開け,間違R関D降3限り,隠2集0離0E霞み,静T頑張り,頼み,飛び,食1飲み,飼い,飾り,馴染み,騒ぎ,騙し,驚き,魂消り,黙り,齧り;い違い,べ;し,れり;り,ろし;なり,ね;ぎ,ごし;い,り;き,こO;!つけ,ふ01出し,換えり,表し;!え,せ,つ04做し,張り,逃し;ち,とし;ませ,み;き,こえ;わり;ち,て;らせ,り;!き,換え;え,き,まれ,やし;げ,り;し,なり;びり,ぼし;かし,け;らし,り;じり,ぜ;え,し;れ,行り;付き,遣い;い,え;らし,れ;まり;え,き;し,り;しみ;!つき;!受け;き,け;せ,り;張り;え,わり;え,やし;まり,め;ばし,び;りBれ;まし,み;!かけ,し,来;らし;え,や1;かし,し;り,れ;かり,け;し,れ;て,み;かし,き;!換え;び,べ;がり,げ;がり",Noun:"true¦人",Determiner:"true¦あの,この,その",Pronoun:"true¦あJうち,おHかFきDこCしょうせい,じぶん,そBてAへいIぼく,やつ,わ6俺5僕,儂,其奴,君,奴,小生,弊社,彼4御社,我2手前,此奴,私1自分,貴0;下,官,様,社;!たち;々,が0等;!社;!女,奴,等;!様;が2し,た1て,れ0;!ら,われ;くし,し;!しゃ;まえ,めえ;いつ,やつ,れ;いつ,やつ;か0さま,しゃ,み;!ん;のじょ,れ0;!ら;いら,たく,まえ,ら,れ,ん0前;しゃ;いつ,た1なた,の0やつ,んた;かた,ひと,人,方;い,くし,し"};const yi=36,xi="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ji=xi.split("").reduce((function(t,e,n){return t[e]=n,t}),{});var Pi=function(t){if(void 0!==ji[t])return ji[t];let e=0,n=1,r=yi,o=1;for(;n<t.length;e+=r,n++,r*=yi);for(let n=t.length-1;n>=0;n--,o*=yi){let r=t.charCodeAt(n)-48;r>10&&(r-=7),e+=r*o}return e},Ei=function(t){const e=new RegExp("([0-9A-Z]+):([0-9A-Z]+)");for(let n=0;n<t.nodes.length;n++){const r=e.exec(t.nodes[n]);if(!r){t.symCount=n;break}t.syms[Pi(r[1])]=Pi(r[2])}t.nodes=t.nodes.slice(t.symCount,t.nodes.length)};const Oi=function(t,e,n){const r=Pi(e);return r<t.symCount?t.syms[r]:n+r+1-t.symCount};var ki=function(t){const e={nodes:t.split(";"),syms:[],symCount:0};return t.match(":")&&Ei(e),function(t){const e=[],n=(r,o)=>{let i=t.nodes[r];"!"===i[0]&&(e.push(o),i=i.slice(1));const s=i.split(/([A-Z0-9,]+)/g);for(let i=0;i<s.length;i+=2){const l=s[i],a=s[i+1];if(!l)continue;const u=o+l;if(","===a||void 0===a){e.push(u);continue}const c=Oi(t,a,r);n(c,u)}};return n(0,""),e}(e)},_i=function(t){if(!t)return{};const e=t.split("|").reduce(((t,e)=>{const n=e.split("¦");return t[n[0]]=n[1],t}),{}),n={};return Object.keys(e).forEach((function(t){const r=ki(e[t]);"true"===t&&(t=!0);for(let e=0;e<r.length;e++){const o=r[e];!0===n.hasOwnProperty(o)?!1===Array.isArray(n[o])?n[o]=[n[o],t]:n[o].push(t):n[o]=t}})),n};const Ai=/^.([0-9]+)/;var Ci=function(t,e,n){if(e.exceptions.hasOwnProperty(t))return n&&console.log("exception, ",t,e.exceptions[t]),function(t,e){let n=e.exceptions[t],r=n.match(Ai);if(null===r)return e.exceptions[t];let o=Number(r[1])||0;return t.substr(0,o)+n.replace(Ai,"")}(t,e);let r=e.rules;e.reversed&&(r=e.rev),r=function(t,e={}){let n=e[t[t.length-1]]||[];return e[""]&&(n=n.concat(e[""])),n}(t,r);for(let e=0;e<r.length;e+=1){let o=r[e][0];if(t.endsWith(o)){n&&console.log("rule, ",r[e]);let i=new RegExp(o+"$");return t.replace(i,r[e][1])}}return n&&console.log(" x - "+t),t};const Ni=function(t){let e={};return t.forEach((t=>{let n=t[0]||"",r=n[n.length-1]||"";e[r]=e[r]||[],e[r].push(t)})),e},Si=/^([0-9]+)/,Ti=function(t){const e=/\|/;return t.split(/,/).map((t=>{let n=t.split(e);return function(t="",e=""){let n=(e=String(e)).match(Si);if(null===n)return[t,e];let r=Number(n[1])||0,o=t.substring(0,r);return[t,o+e.replace(Si,"")]}(n[0],n[1])}))};var Vi=function(t={}){return(t=Object.assign({},t)).rules=Ti(t.rules),t.rules=Ni(t.rules),t.rev&&(t.rev=Ti(t.rev),t.rev=Ni(t.rev)),t.exceptions=Ti(t.exceptions),t.exceptions=t.exceptions.reduce(((t,e)=>(t[e[0]]=e[1],t)),{}),t},$i=function(t){let{rules:e,exceptions:n,rev:r}=t;var o;return o=n,n=Object.entries(o).reduce(((t,e)=>(t[e[1]]=e[0],t)),{}),{reversed:!Boolean(t.reversed),rules:e,exceptions:n,rev:r}},Di={causative_negative:{rules:"けり|1れません,り|らせない,ごし|1さなかったら,し|さない,ね|1させない,ぜ|1させない,に|ななかったら,来|1させない,べ|1させない,じ|1させない,ち|たせない,て|1させない,せ|1させない,げ|1させない,ぎ|がない,び|ばない,め|1させない,け|1させない,え|1させない,み|ませない,い|わせない,き|かせない,れ|1させない",exceptions:"足り|2させない,書き|1かなかったら,働き|1かなかったら,着|1なかったら,洗い|1わなかったら,歩き|1かなかったら,待ち|1たなかったら,考え|2なかったら,思い|1わなかったら,泊まり|2らなかったら,立ち|1たなかったら,話し|1さなかったら,寝|1なかったら,言い|1わなかったら,走り|1らなかったら,返り|1らなかったら,似|1させない,読み|1まなかったら,覚え|2なかったら,引き|1かなかったら,遊び|1ばなかったら,過ぎ|2させない,開け|2なかったら,要り|1らなかったら,会い|1わなかったら,見|1なかったら,聞き|1かなかったら,貸し|1さなかったら,知り|1らなかったら,急ぎ|1がなかったら,出|1なかったら,行き|1かなかったら,起き|2させない,降り|2させない,得|1させない,落ち|2させない,入り|1らなかったら,食べ|2なかったら,飲み|1まなかったら,切り|1らなかったら,喋り|1らなかったら,買い|1わなかったら,沸き|1かなかったら,借り|2させない,始め|2なかったら,生き|2させない,浴び|2させない",rev:"けれません|1り,ばなかったら|び,けなかったら|1,がなかったら|ぎ,べなかったら|1,ななかったら|に,めなかったら|1,たなかったら|ち,えなかったら|1,まなかったら|み,さなかったら|し,わなかったら|い,かなかったら|き,らなかったら|り,たせない|ち,がない|ぎ,ばない|び,ませない|み,わせない|い,かせない|き,さない|し,らせない|り,させない|"},causative:{rules:"けり|1れます,り|らせる,ごし|2たら,し|させる,ね|1させる,ぜ|1させる,に|んだら,来|1させる,べ|1させる,じ|1させる,ち|たせる,て|1させる,せ|1させる,げ|1させる,ぎ|がせる,び|ばせる,め|1させる,け|1させる,え|1させる,み|ませる,い|わせる,き|かせる,れ|1させる",exceptions:"足り|2させる,書き|1いたら,働き|1いたら,着|1たら,洗い|1ったら,歩き|1いたら,待ち|1ったら,考え|2たら,思い|1ったら,泊まり|2ったら,立ち|1ったら,話し|2たら,寝|1たら,言い|1ったら,走り|1ったら,返り|1ったら,似|1させる,読み|1んだら,覚え|2たら,引き|1いたら,遊び|1んだら,過ぎ|2させる,開け|2たら,要り|1ったら,会い|1ったら,見|1たら,聞き|1いたら,貸し|2たら,知り|1ったら,急ぎ|1いだら,出|1たら,行き|1ったら,起き|2させる,降り|2させる,得|1させる,落ち|2させる,入り|1ったら,食べ|2たら,飲み|1んだら,切り|1ったら,喋り|1ったら,買い|1ったら,沸き|1いたら,借り|2させる,始め|2たら,生き|2させる,浴び|2させる,消し|1させる,騙し|1させる,試し|1させる,現し|1させる,離し|1させる,探し|1させる,戻し|1させる,外し|1させる,直し|1させる,押し|1させる,刺し|1させる,倒し|1させる,熟し|1させる,污し|1させる,残し|1させる,殺し|1させる,示し|1させる,隠し|1させる,渡し|1させる,干し|1させる,死に|1んだら,崩し|1させる,越し|1させる,壊し|1させる,志し|1させる,足し|1させる",rev:"けれます|1り,こさせる|1し,たさせる|1し,逃させる|1し,とさせる|1し,くさせる|1し,做させる|1し,まさせる|1し,ろさせる|1し,ぼさせる|1し,い表させる|2し,ばさせる|1し,出させる|1し,返させる|1し,やさせる|1し,たせる|ち,かさせる|1し,らさせる|1し,がせる|ぎ,ばせる|び,ませる|み,わせる|い,かせる|き,らせる|り,させる|,まったら|1り,けたら|1,いだら|ぎ,べたら|1,めたら|1,えたら|1,したら|1,いたら|き"},conditional_negative:{rules:"ね|1なかったら,ぜ|1なかったら,来|1なかったら,べ|1なかったら,じ|1なかったら,ち|たなかったら,て|1なかったら,せ|1なかったら,げ|1なかったら,ぎ|がなかったら,び|ばなかったら,め|1なかったら,け|1なかったら,え|1なかったら,み|まなかったら,い|わなかったら,き|かなかったら,れ|1なかったら,し|さなかったら,り|らなかったら",exceptions:"足り|2なかったら,似|1なかったら,過ぎ|2なかったら,起き|2なかったら,降り|2なかったら,得|1なかったら,落ち|2なかったら,借り|2なかったら,生き|2なかったら,浴び|2なかったら",rev:"ねなかったら|1,ぎなかったら|1,ぜなかったら|1,ちなかったら|1,来なかったら|1,びなかったら|1,きなかったら|1,りなかったら|1,べなかったら|1,じなかったら|1,たなかったら|ち,てなかったら|1,せなかったら|1,げなかったら|1,がなかったら|ぎ,ばなかったら|び,めなかったら|1,けなかったら|1,えなかったら|1,まなかったら|み,わなかったら|い,かなかったら|き,れなかったら|1,さなかったら|し,らなかったら|り"},conditional:{rules:"ね|1たら,ぜ|1たら,来|1たら,べ|1たら,じ|1たら,ち|ったら,て|1たら,せ|1たら,げ|1たら,ぎ|いだら,び|んだら,め|1たら,け|1たら,え|1たら,い|ったら,み|んだら,き|いたら,れ|1たら,し|1たら,り|ったら",exceptions:"足り|2たら,似|1たら,過ぎ|2たら,起き|2たら,降り|2たら,得|1たら,落ち|2たら,借り|2たら,生き|2たら,浴び|2たら,喜び|1んだら,勝ち|1ったら,使い|1ったら,結び|1んだら,適い|1ったら,歌い|1ったら,救い|1ったら,貰い|1ったら,及び|1んだら,庇い|1ったら,拾い|1ったら,払い|1ったら,合い|1ったら,学び|1んだら,習い|1ったら,笑い|1ったら,飛び|1んだら,誘い|1ったら,飼い|1ったら,吸い|1ったら,持ち|1ったら,育ち|1ったら,狂い|1ったら,並び|1んだら,転び|1んだら,向かい|2ったら,選び|1んだら,追い|1ったら,祝い|1ったら,構い|1ったら,運び|1んだら,呼び|1んだら,迷い|1ったら,襲い|1ったら",rev:"遣ったら|1い,伝ったら|1い,立ったら|1ち,違ったら|1い,いだら|ぎ,んだら|み,いたら|き,ったら|り,たら|"},imperative_negative:{rules:"ね|1るな,ぜ|1るな,に|ぬな,来|1るな,じ|1るな,べ|1るな,て|1るな,せ|1るな,ち|つな,げ|1るな,ぎ|ぐな,び|ぶな,め|1るな,け|1るな,え|1るな,み|むな,れ|1るな,い|うな,き|くな,し|すな,り|るな",exceptions:"足り|2るな,着|1るな,寝|1るな,似|1るな,過ぎ|2るな,見|1るな,出|1るな,起き|2るな,降り|2るな,得|1るな,落ち|2るな,借り|2るな,生き|2るな,浴び|2るな,罵り|1るな,直り|1るな,脂ぎり|2るな,被り|1るな,触り|1るな,縛り|1るな,練り|1るな,取り|1るな,黙り|1るな,滑り|1るな,座り|1るな,光り|1るな,送り|1るな,叱り|1るな,売り|1るな,走り|1るな,実り|1るな,返り|1るな,戻り|1るな,殴り|1るな,祈り|1るな,守り|1るな,滅びり|2るな,要り|1るな,作り|1るな,臥せり|2るな,限り|1るな,残り|1るな,蹴り|1るな,知り|1るな,隠れり|2るな,握り|1るな,通り|1るな,齧り|1るな,回り|1るな,太り|1るな,曇り|1るな,怒り|1るな,釣り|1るな,散り|1るな,眠り|1るな,入り|1るな,掘り|1るな,飾り|1るな,腐り|1るな,減り|1るな,偽り|1るな,踊り|1るな,切り|1るな,渡り|1るな,参り|1るな,登り|1るな,喋り|1るな,乗り|1るな,捻り|1るな,劣り|1るな,混じり|2るな,困り|1るな,焦り|1るな,侍り|1るな,寄り|1るな",rev:"い換えるな|3り,こるな|1り,ぬな|に,行るな|1り,消るな|1り,なるな|1り,わるな|1り,張るな|1り,かるな|1り,つな|ち,がるな|1り,ぐな|ぎ,ぶな|び,まるな|1り,むな|み,うな|い,くな|き,すな|し,るな|"},imperative:{rules:"ね|1ろ,ぜ|1ろ,に|ね,来|1ろ,じ|1ろ,べ|1ろ,て|1ろ,せ|1ろ,ち|て,げ|1ろ,ぎ|げ,び|べ,め|1ろ,け|1ろ,え|1ろ,れ|1ろ,み|め,い|え,き|け,し|せ,り|れ",exceptions:"足り|2ろ,着|1ろ,寝|1ろ,似|1ろ,過ぎ|2ろ,見|1ろ,出|1ろ,呉れ|2,起き|2ろ,降り|2ろ,得|1ろ,落ち|2ろ,借り|2ろ,生き|2ろ,浴び|2ろ",rev:"ね|に,て|ち,げ|ぎ,べ|び,め|み,え|い,け|き,せ|し,れ|り,ろ|"},infinitive:{rules:"ね|1,ぜ|1,に|1,来|1,じ|1,べ|1,て|1,せ|1,げ|1,ち|1,ぎ|1,び|1,め|1,け|1,え|1,み|1,れ|1,い|1,き|1,し|1,り|1",exceptions:"着|1,寝|1,似|1,見|1,出|1,得|1",rev:"ね|1,ぜ|1,に|1,来|1,じ|1,べ|1,て|1,せ|1,げ|1,ち|1,ぎ|1,び|1,め|1,け|1,え|1,み|1,れ|1,い|1,き|1,し|1,り|1"},passive_negative:{rules:"けり|1らせません,り|られない,ごし|1せない,し|されない,ね|1られない,ぜ|1られない,に|ねない,来|1られない,じ|1られない,ち|たれない,べ|1られない,て|1られない,せ|1られない,げ|1られない,ぎ|がれない,び|ばれない,め|1られない,け|1られない,え|1られない,み|まれない,い|われない,き|かれない,れ|1られない",exceptions:"足り|2られない,書き|1けない,働き|1けない,着|1られない,洗い|1えない,歩き|1けない,待ち|1てない,思い|1えない,泊まり|2れない,立ち|1てない,話し|1せない,寝|1られない,言い|1えない,走り|1れない,返り|1れない,似|1られない,読み|1めない,引き|1けない,遊び|1べない,過ぎ|2られない,要り|1れない,会い|1えない,見|1られない,聞き|1けない,貸し|1せない,知り|1れない,急ぎ|1げない,出|1られない,行き|1けない,起き|2られない,降り|2られない,得|1られない,落ち|2られない,入り|1れない,飲み|1めない,切り|1れない,喋り|1れない,買い|1えない,沸き|1けない,借り|2られない,生き|2られない,浴び|2られない,罵り|1られない,直り|1られない,脂ぎり|2られない,被り|1られない,触り|1られない,縛り|1られない,練り|1られない,取り|1られない,黙り|1られない,滑り|1られない,座り|1られない,光り|1られない,送り|1られない,叱り|1られない,売り|1られない,実り|1られない,戻り|1られない,殴り|1られない,祈り|1られない,守り|1られない,滅びり|2られない,作り|1られない,臥せり|2られない,限り|1られない,残り|1られない,蹴り|1られない,隠れり|2られない,握り|1られない,通り|1られない,齧り|1られない,回り|1られない,太り|1られない,曇り|1られない,怒り|1られない,釣り|1られない,散り|1られない,眠り|1られない,掘り|1られない,飾り|1られない,腐り|1られない,減り|1られない,偽り|1られない,踊り|1られない,渡り|1られない,参り|1られない,登り|1られない,乗り|1られない,捻り|1られない,劣り|1られない,混じり|2られない,困り|1られない,焦り|1られない,侍り|1られない,寄り|1られない",rev:"けらせません|1り,い換えられない|3り,べない|び,こられない|1り,げない|ぎ,ねない|に,行られない|1り,消られない|1り,てない|ち,めない|み,なられない|1り,わられない|1り,せない|し,たれない|ち,張られない|1り,かられない|1り,えない|い,けない|き,がられない|1り,がれない|ぎ,ばれない|び,まられない|1り,まれない|み,われない|い,かれない|き,されない|し,られない|"},passive:{rules:"けり|1らせます,り|られる,ごし|1せる,し|される,ね|1られる,ぜ|1られる,に|ねる,来|1られる,じ|1られる,ち|たれる,べ|1られる,て|1られる,せ|1られる,げ|1られる,ぎ|がれる,び|ばれる,め|1られる,け|1られる,え|1られる,み|まれる,い|われる,き|かれる,れ|1られる",exceptions:"足り|2られる,書き|1ける,働き|1ける,着|1られる,洗い|1える,歩き|1ける,待ち|1てる,思い|1える,泊まり|2れる,立ち|1てる,話し|1せる,寝|1られる,言い|1える,走り|1れる,返り|1れる,似|1られる,読み|1める,引き|1ける,遊び|1べる,過ぎ|2られる,要り|1れる,会い|1える,見|1られる,聞き|1ける,貸し|1せる,知り|1れる,急ぎ|1げる,出|1られる,行き|1ける,起き|2られる,降り|2られる,得|1られる,落ち|2られる,入り|1れる,飲み|1める,切り|1れる,喋り|1れる,買い|1える,沸き|1ける,借り|2られる,生き|2られる,浴び|2られる,罵り|1られる,直り|1られる,脂ぎり|2られる,被り|1られる,触り|1られる,縛り|1られる,練り|1られる,取り|1られる,黙り|1られる,滑り|1られる,座り|1られる,光り|1られる,送り|1られる,叱り|1られる,売り|1られる,実り|1られる,戻り|1られる,殴り|1られる,祈り|1られる,守り|1られる,滅びり|2られる,作り|1られる,臥せり|2られる,限り|1られる,残り|1られる,蹴り|1られる,隠れり|2られる,握り|1られる,通り|1られる,齧り|1られる,回り|1られる,太り|1られる,曇り|1られる,怒り|1られる,釣り|1られる,散り|1られる,眠り|1られる,掘り|1られる,飾り|1られる,腐り|1られる,減り|1られる,偽り|1られる,踊り|1られる,渡り|1られる,参り|1られる,登り|1られる,乗り|1られる,捻り|1られる,劣り|1られる,混じり|2られる,困り|1られる,焦り|1られる,侍り|1られる,寄り|1られる",rev:"けらせます|1り,い換えられる|3り,べる|び,こられる|1り,げる|ぎ,ねる|に,行られる|1り,消られる|1り,てる|ち,める|み,なられる|1り,わられる|1り,せる|し,たれる|ち,張られる|1り,かられる|1り,える|い,ける|き,がられる|1り,がれる|ぎ,ばれる|び,まられる|1り,まれる|み,われる|い,かれる|き,される|し,られる|"},past_negative:{rules:"けり|1らないでください,り|らなかった,ね|1なかった,ぜ|1なかった,来|1なかった,べ|1なかった,じ|1なかった,ち|たなかった,て|1なかった,せ|1なかった,ぎ|がなかった,げ|1なかった,び|ばなかった,め|1なかった,け|1なかった,え|1なかった,み|まなかった,い|わなかった,き|かなかった,れ|1なかった,し|さなかった",exceptions:"足り|2なかった,似|1なかった,過ぎ|2なかった,起き|2なかった,降り|2なかった,得|1なかった,落ち|2なかった,借り|2なかった,生き|2なかった,浴び|2なかった,ふけり|2らないでください",rev:"ねなかった|1,ぎなかった|1,ぜなかった|1,ちなかった|1,来なかった|1,びなかった|1,きなかった|1,りなかった|1,べなかった|1,じなかった|1,たなかった|ち,てなかった|1,せなかった|1,がなかった|ぎ,げなかった|1,ばなかった|び,めなかった|1,けなかった|1,えなかった|1,まなかった|み,わなかった|い,かなかった|き,れなかった|1,さなかった|し,らなかった|り"},past:{rules:"けり|1ってください,り|った,ね|1た,ぜ|1た,来|1た,べ|1た,じ|1た,ち|った,て|1た,せ|1た,ぎ|いだ,げ|1た,び|んだ,め|1た,け|1た,え|1た,み|んだ,い|った,き|いた,れ|1た,し|1た",exceptions:"足り|2た,似|1た,過ぎ|2た,起き|2た,降り|2た,得|1た,落ち|2た,借り|2た,生き|2た,浴び|2た,喜び|1んだ,勝ち|1った,使い|1った,結び|1んだ,適い|1った,歌い|1った,救い|1った,貰い|1った,及び|1んだ,庇い|1った,拾い|1った,払い|1った,合い|1った,学び|1んだ,習い|1った,笑い|1った,飛び|1んだ,誘い|1った,飼い|1った,吸い|1った,持ち|1った,育ち|1った,狂い|1った,並び|1んだ,転び|1んだ,向かい|2った,選び|1んだ,追い|1った,祝い|1った,構い|1った,運び|1んだ,呼び|1んだ,迷い|1った,襲い|1った",rev:"けってください|1り,遣った|1い,立った|1ち,違った|1い,いた|き,った|り,た|,いだ|ぎ,んだ|み"},past_progressive:{rules:"けり|1って います,り|って いた,ね|1て いた,ぜ|1て いた,来|1て いた,べ|1て いた,じ|1て いた,ち|って いた,て|1て いた,せ|1て いた,げ|1て いた,ぎ|いで いた,び|んで いた,め|1て いた,け|1て いた,え|1て いた,い|って いた,み|んで いた,き|いて いた,れ|1て いた,し|1て いた",exceptions:"足り|2て いた,似|1て いた,過ぎ|2て いた,起き|2て いた,降り|2て いた,得|1て いた,落ち|2て いた,借り|2て いた,生き|2て いた,浴び|2て いた,喜び|1んで いた,勝ち|1って いた,使い|1って いた,結び|1んで いた,適い|1って いた,歌い|1って いた,救い|1って いた,貰い|1って いた,及び|1んで いた,庇い|1って いた,拾い|1って いた,払い|1って いた,合い|1って いた,学び|1んで いた,習い|1って いた,笑い|1って いた,飛び|1んで いた,誘い|1って いた,飼い|1って いた,吸い|1って いた,持ち|1って いた,育ち|1って いた,狂い|1って いた,並び|1んで いた,転び|1んで いた,向かい|2って いた,選び|1んで いた,追い|1って いた,祝い|1って いた,構い|1って いた,運び|1んで いた,呼び|1んで いた,迷い|1って いた,襲い|1って いた",rev:"けって います|1り,遣って いた|1い,伝って いた|1い,立って いた|1ち,違って いた|1い,いで いた|ぎ,んで いた|み,いて いた|き,って いた|り,て いた|"},potential_negative:{rules:"けり|2ませんでしたら,り|れない,ごし|1さなければ,し|せない,ね|1られない,ぜ|1られない,に|ななければ,来|1られない,べ|1られない,じ|1られない,ち|てない,て|1られない,せ|1られない,げ|1られない,ぎ|げない,び|べない,め|1られない,け|1られない,え|1られない,み|めない,い|えない,き|けない,れ|1られない",exceptions:"足り|2られない,書き|1かなければ,働き|1かなければ,着|1なければ,洗い|1わなければ,歩き|1かなければ,待ち|1たなければ,考え|2なければ,思い|1わなければ,泊まり|2らなければ,立ち|1たなければ,話し|1さなければ,寝|1なければ,言い|1わなければ,走り|1らなければ,返り|1らなければ,似|1られない,読み|1まなければ,覚え|2なければ,引き|1かなければ,遊び|1ばなければ,過ぎ|2られない,開け|2なければ,要り|1らなければ,会い|1わなければ,見|1なければ,聞き|1かなければ,貸し|1さなければ,知り|1らなければ,急ぎ|1がなければ,出|1なければ,行き|1かなければ,起き|2られない,降り|2られない,得|1られない,落ち|2られない,入り|1らなければ,食べ|2なければ,飲み|1まなければ,切り|1らなければ,喋り|1らなければ,買い|1わなければ,沸き|1かなければ,借り|2られない,始め|2なければ,生き|2られない,浴び|2られない,罵り|1れない,直り|1れない,被り|1れない,触り|1れない,縛り|1れない,練り|1れない,取り|1れない,黙り|1れない,滑り|1れない,座り|1れない,光り|1れない,送り|1れない,叱り|1れない,売り|1れない,実り|1れない,戻り|1れない,殴り|1れない,祈り|1れない,守り|1れない,作り|1れない,限り|1れない,残り|1れない,蹴り|1れない,握り|1れない,通り|1れない,齧り|1れない,回り|1れない,太り|1れない,曇り|1れない,怒り|1れない,釣り|1れない,散り|1れない,眠り|1れない,掘り|1れない,飾り|1れない,腐り|1れない,減り|1れない,偽り|1れない,踊り|1れない,渡り|1れない,参り|1れない,登り|1れない,乗り|1れない,捻り|1れない,劣り|1れない,困り|1れない,焦り|1れない,侍り|1れない,寄り|1れない",rev:"ませんでしたら|,ぎれない|1り,い換えれない|3り,びれない|1り,これない|1り,せれない|1り,れれない|1り,行れない|1り,じれない|1り,消れない|1り,なれない|1り,われない|1り,てない|ち,張れない|1り,かれない|1り,がれない|1り,げない|ぎ,べない|び,まれない|1り,めない|み,えない|い,けない|き,せない|し,られない|,ばなければ|び,けなければ|1,がなければ|ぎ,べなければ|1,ななければ|に,めなければ|1,たなければ|ち,えなければ|1,まなければ|み,さなければ|し,わなければ|い,かなければ|き,らなければ|り"},potential:{rules:"けり|2ましたら,り|れる,ごし|1せば,し|せる,ね|1られる,ぜ|1られる,に|ねば,来|1られる,べ|1られる,じ|1られる,ち|てる,て|1られる,せ|1られる,げ|1られる,ぎ|げる,び|べる,め|1られる,け|1られる,え|1られる,み|める,い|える,き|ける,れ|1られる",exceptions:"足り|2られる,書き|1けば,働き|1けば,着|1れば,洗い|1えば,歩き|1けば,待ち|1てば,考え|2れば,思い|1えば,泊まり|2れば,立ち|1てば,話し|1せば,寝|1れば,言い|1えば,走り|1れば,返り|1れば,似|1られる,読み|1めば,覚え|2れば,引き|1けば,遊び|1べば,過ぎ|2られる,開け|2れば,要り|1れば,会い|1えば,見|1れば,聞き|1けば,貸し|1せば,知り|1れば,急ぎ|1げば,出|1れば,行き|1けば,起き|2られる,降り|2られる,得|1られる,落ち|2られる,入り|1れば,食べ|2れば,飲み|1めば,切り|1れば,喋り|1れば,買い|1えば,沸き|1けば,借り|2られる,始め|2れば,生き|2られる,浴び|2られる,罵り|1れる,直り|1れる,被り|1れる,触り|1れる,縛り|1れる,練り|1れる,取り|1れる,黙り|1れる,滑り|1れる,座り|1れる,光り|1れる,送り|1れる,叱り|1れる,売り|1れる,実り|1れる,戻り|1れる,殴り|1れる,祈り|1れる,守り|1れる,作り|1れる,限り|1れる,残り|1れる,蹴り|1れる,握り|1れる,通り|1れる,齧り|1れる,回り|1れる,太り|1れる,曇り|1れる,怒り|1れる,釣り|1れる,散り|1れる,眠り|1れる,掘り|1れる,飾り|1れる,腐り|1れる,減り|1れる,偽り|1れる,踊り|1れる,渡り|1れる,参り|1れる,登り|1れる,乗り|1れる,捻り|1れる,劣り|1れる,困り|1れる,焦り|1れる,侍り|1れる,寄り|1れる",rev:"けりましたら|2,ぎれる|1り,い換えれる|3り,びれる|1り,これる|1り,せれる|1り,れれる|1り,行れる|1り,じれる|1り,消れる|1り,なれる|1り,われる|1り,てる|ち,張れる|1り,かれる|1り,がれる|1り,げる|ぎ,べる|び,まれる|1り,める|み,える|い,ける|き,せる|し,られる|,まれば|1り,べば|び,げば|ぎ,ねば|に,てば|ち,めば|み,せば|し,えば|い,けば|き,れば|"},present_negative:{rules:"ね|1ない,ぜ|1ない,に|なない,来|1ない,じ|1ない,べ|1ない,て|1ない,せ|1ない,ち|たない,げ|1ない,ぎ|がない,び|ばない,め|1ない,け|1ない,え|1ない,み|まない,れ|1ない,い|わない,き|かない,し|さない,り|らない",exceptions:"足り|2ない,着|1ない,寝|1ない,似|1ない,過ぎ|2ない,見|1ない,出|1ない,起き|2ない,降り|2ない,得|1ない,落ち|2ない,借り|2ない,生き|2ない,浴び|2ない",rev:"ねない|1,ぎない|1,ぜない|1,ちない|1,なない|に,来ない|1,びない|1,きない|1,りない|1,じない|1,べない|1,てない|1,せない|1,たない|ち,げない|1,がない|ぎ,ばない|び,めない|1,けない|1,えない|1,まない|み,れない|1,わない|い,かない|き,さない|し,らない|り"},present:{rules:"ね|1る,ぜ|1る,に|ぬ,来|1る,じ|1る,べ|1る,て|1る,せ|1る,ち|つ,げ|1る,ぎ|ぐ,び|ぶ,め|1る,け|1る,え|1る,み|む,れ|1る,い|う,き|く,し|す,り|る",exceptions:"足り|2る,着|1る,寝|1る,似|1る,過ぎ|2る,見|1る,出|1る,起き|2る,降り|2る,得|1る,落ち|2る,借り|2る,生き|2る,浴び|2る,罵り|1る,直り|1る,脂ぎり|2る,被り|1る,触り|1る,縛り|1る,練り|1る,取り|1る,黙り|1る,滑り|1る,座り|1る,光り|1る,送り|1る,叱り|1る,売り|1る,走り|1る,実り|1る,返り|1る,戻り|1る,殴り|1る,祈り|1る,守り|1る,滅びり|2る,要り|1る,作り|1る,臥せり|2る,限り|1る,残り|1る,蹴り|1る,知り|1る,隠れり|2る,握り|1る,通り|1る,齧り|1る,回り|1る,太り|1る,曇り|1る,怒り|1る,釣り|1る,散り|1る,眠り|1る,入り|1る,掘り|1る,飾り|1る,腐り|1る,減り|1る,偽り|1る,踊り|1る,切り|1る,渡り|1る,参り|1る,登り|1る,喋り|1る,乗り|1る,捻り|1る,劣り|1る,混じり|2る,困り|1る,焦り|1る,侍り|1る,寄り|1る",rev:"い換える|3り,こる|1り,行る|1り,消る|1り,なる|1り,わる|1り,張る|1り,かる|1り,がる|1り,まる|1り,る|,ぬ|に,つ|ち,ぐ|ぎ,ぶ|び,む|み,う|い,く|き,す|し"},present_progressive:{rules:"けり|1ったでしょう,り|って いる,ね|1て いる,ぜ|1て いる,来|1て いる,べ|1て いる,じ|1て いる,ち|って いる,て|1て いる,せ|1て いる,げ|1て いる,ぎ|いで いる,び|んで いる,め|1て いる,け|1て いる,え|1て いる,い|って いる,み|んで いる,き|いて いる,れ|1て いる,し|1て いる",exceptions:"足り|2て いる,着|1たろう,考え|2たろう,寝|1たろう,似|1て いる,覚え|2たろう,過ぎ|2て いる,開け|2たろう,見|1たろう,出|1たろう,起き|2て いる,降り|2て いる,得|1て いる,落ち|2て いる,食べ|2たろう,借り|2て いる,始め|2たろう,生き|2て いる,浴び|2て いる,喜び|1んで いる,勝ち|1って いる,使い|1って いる,結び|1んで いる,適い|1って いる,歌い|1って いる,救い|1って いる,貰い|1って いる,及び|1んで いる,庇い|1って いる,拾い|1って いる,払い|1って いる,合い|1って いる,学び|1んで いる,習い|1って いる,笑い|1って いる,飛び|1んで いる,誘い|1って いる,飼い|1って いる,吸い|1って いる,持ち|1って いる,育ち|1って いる,狂い|1って いる,並び|1んで いる,転び|1んで いる,向かい|2って いる,選び|1んで いる,追い|1って いる,祝い|1って いる,構い|1って いる,運び|1んで いる,呼び|1んで いる,迷い|1って いる,襲い|1って いる",rev:"けったでしょう|1り,たろう|,遣って いる|1い,伝って いる|1い,立って いる|1ち,違って いる|1い,いで いる|ぎ,んで いる|み,いて いる|き,って いる|り,て いる|"},gerund:{rules:"ね|1て,ぜ|1て,に|んで,来|1て,じ|1て,べ|1て,て|1て,せ|1て,ち|って,げ|1て,ぎ|いで,び|んで,め|1て,け|1て,え|1て,み|んで,れ|1て,い|って,き|いて,し|1て,り|って",exceptions:"足り|2て,着|1て,寝|1て,似|1て,過ぎ|2て,見|1て,出|1て,行き|1って,起き|2て,降り|2て,得|1て,落ち|2て,借り|2て,生き|2て,浴び|2て,喜び|1んで,勝ち|1って,洗い|1って,待ち|1って,使い|1って,結び|1んで,思い|1って,適い|1って,歌い|1って,言い|1って,救い|1って,貰い|1って,及び|1んで,庇い|1って,遊び|1んで,拾い|1って,払い|1って,会い|1って,合い|1って,学び|1んで,習い|1って,笑い|1って,飛び|1んで,誘い|1って,飼い|1って,吸い|1って,持ち|1って,育ち|1って,狂い|1って,並び|1んで,転び|1んで,向かい|2って,死に|1んで,選び|1んで,追い|1って,祝い|1って,構い|1って,運び|1んで,買い|1って,呼び|1んで,迷い|1って,襲い|1って",rev:"遣って|1い,伝って|1い,立って|1ち,違って|1い,いて|き,って|り,て|,いで|ぎ,んで|み"},volitional_negative:{rules:"ね|1ない だろう,ぜ|1ない だろう,に|なないだろう,来|1ない だろう,じ|1ない だろう,べ|1ない だろう,て|1ない だろう,せ|1ない だろう,ち|たないだろう,げ|1ない だろう,ぎ|がないだろう,び|ばないだろう,め|1ない だろう,け|1ない だろう,え|1ない だろう,み|まないだろう,れ|1ない だろう,い|わないだろう,き|かないだろう,し|さないだろう,り|らないだろう",exceptions:"足り|2ない だろう,着|1ない だろう,寝|1ない だろう,似|1ない だろう,過ぎ|2ない だろう,見|1ない だろう,出|1ない だろう,起き|2ない だろう,降り|2ない だろう,得|1ない だろう,落ち|2ない だろう,借り|2ない だろう,生き|2ない だろう,浴び|2ない だろう",rev:"なないだろう|に,たないだろう|ち,がないだろう|ぎ,ばないだろう|び,まないだろう|み,わないだろう|い,かないだろう|き,さないだろう|し,らないだろう|り,ない だろう|"},volitional:{rules:"ね|1よう,ぜ|1よう,に|のう,来|1よう,じ|1よう,べ|1よう,て|1よう,せ|1よう,ち|とう,げ|1よう,ぎ|ご,び|ぼ,め|1よう,け|1よう,え|1よう,み|もう,れ|1よう,い|おう,き|こう,し|そう,り|ろう",exceptions:"足り|2よう,着|1よう,寝|1よう,似|1よう,過ぎ|2よう,見|1よう,出|1よう,起き|2よう,降り|2よう,得|1よう,落ち|2よう,借り|2よう,生き|2よう,浴び|2よう",rev:"のう|に,とう|ち,もう|み,おう|い,こう|き,そう|し,ろう|り,よう|,ご|ぎ,ぼ|び"},polite_negative:{rules:"けり|1らない,り|1ません,ね|1ません,ぜ|1ません,に|1ません,来|1ません,じ|1ません,べ|1ません,て|1ません,せ|1ません,げ|1ません,ち|1ません,ぎ|1ません,び|1ません,め|1ません,け|1ません,え|1ません,み|1ません,れ|1ません,い|1ません,き|1ません,し|1ません",exceptions:"着|1ません,寝|1ません,似|1ません,見|1ません,出|1ません,得|1ません",rev:"けらない|1り,ません|"},polite:{rules:"けり|1る,り|1ます,ね|1ます,ぜ|1ます,に|1ます,来|1ます,じ|1ます,べ|1ます,て|1ます,せ|1ます,げ|1ます,ち|1ます,ぎ|1ます,び|1ます,め|1ます,け|1ます,え|1ます,み|1ます,れ|1ます,い|1ます,き|1ます,し|1ます",exceptions:"着|1ます,寝|1ます,似|1ます,見|1ます,出|1ます,得|1ます",rev:"ける|1り,ます|"},past_polite_negative:{rules:"けり|1らなかった,り|1ませんでした,ごし|1さなかった,し|1ませんでした,ね|1ませんでした,ぜ|1ませんでした,に|ななかった,来|1ませんでした,べ|1ませんでした,じ|1ませんでした,ち|1ませんでした,て|1ませんでした,せ|1ませんでした,げ|1ませんでした,ぎ|1ませんでした,び|1ませんでした,め|1ませんでした,け|1ませんでした,え|1ませんでした,み|1ませんでした,い|1ませんでした,れ|1ませんでした,き|1ませんでした",exceptions:"書き|1かなかった,働き|1かなかった,着|1なかった,洗い|1わなかった,歩き|1かなかった,待ち|1たなかった,考え|2なかった,思い|1わなかった,泊まり|2らなかった,立ち|1たなかった,話し|1さなかった,寝|1なかった,言い|1わなかった,走り|1らなかった,返り|1らなかった,似|1ませんでした,読み|1まなかった,覚え|2なかった,引き|1かなかった,遊び|1ばなかった,開け|2なかった,要り|1らなかった,会い|1わなかった,見|1なかった,聞き|1かなかった,貸し|1さなかった,知り|1らなかった,急ぎ|1がなかった,出|1なかった,行き|1かなかった,得|1ませんでした,入り|1らなかった,食べ|2なかった,飲み|1まなかった,切り|1らなかった,喋り|1らなかった,買い|1わなかった,沸き|1かなかった,始め|2なかった",rev:"ばなかった|び,けなかった|1,がなかった|ぎ,べなかった|1,ななかった|に,めなかった|1,たなかった|ち,えなかった|1,まなかった|み,さなかった|し,わなかった|い,かなかった|き,らなかった|り,ませんでした|"},past_polite:{rules:"けり|1った,り|1ました,ごし|2た,し|1ました,ね|1ました,ぜ|1ました,に|んだ,来|1ました,べ|1ました,じ|1ました,ち|1ました,て|1ました,せ|1ました,げ|1ました,ぎ|1ました,び|1ました,め|1ました,け|1ました,え|1ました,み|1ました,い|1ました,れ|1ました,き|1ました",exceptions:"書き|1いた,働き|1いた,着|1た,洗い|1った,歩き|1いた,待ち|1った,考え|2た,思い|1った,泊まり|2った,立ち|1った,話し|2た,寝|1た,言い|1った,走り|1った,返り|1った,似|1ました,読み|1んだ,覚え|2た,引き|1いた,遊び|1んだ,開け|2た,要り|1った,会い|1った,見|1た,聞き|1いた,貸し|2た,知り|1った,急ぎ|1いだ,出|1た,行き|1った,得|1ました,入り|1った,食べ|2た,飲み|1んだ,切り|1った,喋り|1った,買い|1った,沸き|1いた,始め|2た,死に|1んだ",rev:"ごした|2,けた|1,べた|1,めた|1,えた|1,いた|き,った|り,ました|,いだ|ぎ"}};let zi={},Gi={};Object.keys(Di).forEach((t=>{zi[t]=Vi(Di[t]),Gi[t]=$i(zi[t])}));const Li=(t,e)=>{let n=e?zi.causative_negative:zi.causative;return Ci(t,n)},Fi=(t,e)=>{let n=e?zi.conditional_negative:zi.conditional;return Ci(t,n)},Ii=(t,e)=>{let n=e?zi.imperative_negative:zi.imperative;return Ci(t,n)},Mi=(t,e)=>{let n=e?zi.passive_negative:zi.passive;return Ci(t,n)},Bi=(t,e)=>{let n=e?zi.present_negative:zi.present;return Ci(t,n)},Ui=(t,e)=>{let n=e?zi.past_negative:zi.past;return Ci(t,n)},Hi=(t,e)=>{let n=e?zi.polite_negative:zi.polite;return Ci(t,n)},Wi=(t,e)=>{let n=e?zi.past_polite_negative:zi.past_polite;return Ci(t,n)};var Ki={all:function(t){return[Ii(t),Ii(t,!0),Ui(t),Ui(t,!0),Mi(t),Mi(t,!0),Fi(t),Fi(t,!0),Li(t),Li(t,!0),Bi(t),Bi(t,!0),Hi(t),Hi(t,!0),Wi(t),Wi(t,!0)]},toImperative:Ii,fromImperative:(t,e)=>{let n=e?Gi.imperative_negative:Gi.imperative;return Ci(t,n)},toPast:Ui,fromPast:(t,e)=>{let n=e?Gi.past_negative:Gi.past;return Ci(t,n)},toPassive:Mi,fromPassive:(t,e)=>{let n=e?Gi.passive_negative:Gi.passive;return Ci(t,n)},toConditional:Fi,fromConditional:(t,e)=>{let n=e?Gi.conditional_negative:Gi.conditional;return Ci(t,n)},toCausative:Li,fromCausative:(t,e)=>{let n=e?Gi.causative_negative:Gi.causative;return Ci(t,n)},toPresent:Bi,fromPresent:(t,e)=>{let n=e?Gi.present_negative:Gi.present;return Ci(t,n)},toPolite:Hi,fromPolite:(t,e)=>{let n=e?Gi.polite_negative:Gi.polite;return Ci(t,n)},toPastPolite:Wi,fromPastPolite:(t,e)=>{let n=e?Gi.past_polite_negative:Gi.past_polite;return Ci(t,n)}},Ri={"だ":["Copula","PresentTense"],"だった":["Copula","PastTense"],"では":["Copula"],"だろう":["Copula","Volitional"],"で":["Copula","Gerund"],"なら":["Copula","ConditionalVerb"],"ならば":["Copula","ConditionalVerb"],"です":["Copula","PresentTense","Polite"],"でした":["Copula","PresentTense","Polite"],"でしょう":["Copula","Volitional","Polite"],"(でありまして":["Copula","Gerund","Polite"],"(であれば":["Copula","Conditional","Polite"],"たち":"PluralSuffix"};let qi=Object.assign({},Ri);Object.keys(wi).forEach((t=>{let e=_i(wi[t]);Object.keys(e).forEach((e=>{if(qi[e]=t,"Infinitive"===t){let t=Ki.toPresent(e);t&&t!==e&&(qi[t]="PresentTense"),t=Ki.toImperative(e),t&&t!==e&&(qi[t]="Imperative"),t=Ki.toPast(e),t&&t!==e&&(qi[t]="PastTense"),t=Ki.toPassive(e),t&&t!==e&&(qi[t]="Passive"),t=Ki.toConditional(e),t&&t!==e&&(qi[t]="ConditionalVerb"),t=Ki.toCausative(e),t&&t!==e&&(qi[t]="Causative"),t=Ki.toPolite(e),t&&t!==e&&(qi[t]=["PresentTense","Polite"]),t=Ki.toPastPolite(e),t&&t!==e&&(qi[t]=["PastTense","Polite"])}}))}));var Zi=qi,Qi={model:{one:{lexicon:Zi}},methods:{two:{transform:{verb:Ki}}}},Yi=function(t){let e={more:{}};return t.forEach((t=>function(t,e){let n=t.split(""),r=e;n.forEach((t=>{r.more[t]=r.more[t]||{more:{}},r=r.more[t]})),r.end=!0}(t,e))),e};const Ji=function(t,e,n){let r=[],o=e;for(;n.more[t[o]];)n.more[t[o]].end&&(r=t.slice(e,o+1)),n=n.more[t[o]],o+=1;return 0===r.length?t[e]:r.join("")};var Xi=function(t,e){let n=t.split(""),r=[];for(let t=0;t<n.length;t+=1){let o=Ji(n,t,e);r.push(o),t+=o.length-1}return r};const ts=function(t){return(e=t)>="぀"&&e<="ゟ"?"hiragana":function(t){return t>="゠"&&t<="ヿ"}(t)?"katakana":function(t){return t>="一"&&t<="龯"||t>="㐀"&&t<="䶿"||"𠮟"===t}(t)?"kanji":function(t){return/[a-zA-Z0-9]/.test(t)}(t)?"ascii":void 0;var e};let es=new Set(["・","、",":"," ","\t","\n"]),ns={"たち":!0};const rs=function(t,e){return t===e||"kanji"===t&&"hiragana"===e};var os=function(t){for(let e=0;e<t.length;e+=1){let n=t[e];if(ns[n]&&t[e-1]&&(t[e-1]+=n,t[e]=null),null!==n&&1===n.length&&!Zi[n]){let r=ts(n);for(let n=e+1;n<t.length;n+=1){let o=t[n];if(1!==o.length||Zi[o]||!rs(r,ts(o))){e=n-1;break}if(t[e]+=o,t[n]=null,es.has(o)){e=n-1;break}}}}return t=t.filter((t=>t)),t};let is=Yi(Object.keys(Zi));var ss=function(t){let e=Xi(t,is);return e=os(e),e};const ls=/^[\s「『(〽【]+/,as=/[\s、:・」』)…〜】\.?!]+$/;var us=function(t){return ss(t).map((t=>{let{pre:e,post:n,inside:r}=function(t){let e="",n="",r=t;return r=r.replace(ls,(t=>(e=t||"",""))),r=r.replace(as,(t=>(n=t||"",""))),{pre:e,inside:r,post:n}}(t);return{text:r,normal:r.toLowerCase(),pre:e,post:n,tags:new Set}}))},cs=[{},{"あ":"a","い":"i","う":"u","え":"e","お":"o","か":"ka","き":"ki","く":"ku","け":"ke","こ":"ko","さ":"sa","し":"shi","す":"su","せ":"se","そ":"so","た":"ta","ち":"chi","つ":"tsu","て":"te","と":"to","な":"na","に":"ni","ぬ":"nu","ね":"ne","の":"no","は":"ha","ひ":"hi","ふ":"fu","へ":"he","ほ":"ho","ま":"ma","み":"mi","む":"mu","め":"me","も":"mo","や":"ya","ゆ":"yu","よ":"yo","ら":"ra","り":"ri","る":"ru","れ":"re","ろ":"ro","わ":"wa","を":"wo","ん":"n","が":"ga","ぎ":"gi","ぐ":"gu","げ":"ge","ご":"go","ざ":"za","じ":"ji","ず":"zu","ぜ":"ze","ぞ":"zo","だ":"da","ぢ":"dchi","づ":"dzu","で":"de","ど":"do","ば":"ba","び":"bi","ぶ":"bu","べ":"be","ぼ":"bo","ぱ":"pa","ぴ":"pi","ぷ":"pu","ぺ":"pe","ぽ":"po","ゃ":"ya","ゅ":"yu","ょ":"yo","っ":"","ぁ":"a","ぃ":"i","ぅ":"u","ぇ":"e","ぉ":"o","。":"."},{"きゃ":"kya","きゅ":"kyu","きょ":"kyo","しゃ":"sha","しゅ":"shu","しょ":"sho","ちゃ":"cha","ちゅ":"chu","ちょ":"cho","にゃ":"nya","にゅ":"nyu","にょ":"nyo","ひゃ":"hya","ひゅ":"hyu","ひょ":"hyo","みゃ":"mya","みゅ":"myu","みょ":"myo","りゃ":"rya","りゅ":"ryu","りょ":"ryo","ぎゃ":"gya","ぎゅ":"gyu","ぎょ":"gyo","じゃ":"ja","じゅ":"ju","じょ":"jo","ぢゃ":"dja","ぢゅ":"dju","ぢょ":"djo","びゃ":"bya","びゅ":"byu","びょ":"byo","ぴゃ":"pya","ぴゅ":"pyu","ぴょ":"pyo","てぃ":"ti","っか":"kka","っき":"kki","っく":"kku","っけ":"kke","っこ":"kko","っさ":"ssa","っし":"sshi","っす":"ssu","っせ":"sse","っそ":"sso","った":"tta","っち":"cchi","っつ":"ttsu","って":"tte","っと":"tto","っば":"bba","っび":"bbi","っぶ":"bbu","っべ":"bbe","っぼ":"bbo","っぱ":"ppa","っぴ":"ppi","っぷ":"ppu","っぺ":"ppe","っぽ":"ppo"},{"っきゃ":"kkya","っきゅ":"kkyu","っきょ":"kkyo","っしゃ":"ssha","っしゅ":"sshu","っしょ":"ssho","っちゃ":"ccha","っちゅ":"cchu","っちょ":"ccho","っじゃ":"jja","っじゅ":"jju","っじょ":"jjo","っびゃ":"bbya","っびゅ":"bbyu","っびょ":"bbyo","っぴゃ":"ppya","っぴゅ":"ppyu","っぴょ":"ppyo"}];let hs=new Set(["き","ぎ","し","じ","ち","ぢ","っ","て","に","ひ","び","ぴ","み","り"]);var ps=function(t){let e=t.split(""),n="";for(let o=0;o<e.length;o+=1){let i=e[o];if((r=t)>="぀"&&r<="ゟ"){if(hs.has(i)&&e[o+1]){let t=i+e[o+1];if(cs[2].hasOwnProperty(t)){n+=cs[2][t],o+=1;continue}if(e[o+2]){let t=i+e[o+1]+e[o+2];if(cs[3].hasOwnProperty(t)){n+=cs[3][t],o+=1;continue}}}n+=cs[1][i]||i}else n+=i}var r;return n},fs={"一":"ひと-|イチ","二":"ふた|ニ","三":"み|サン","四":"よ|シ","五":"いつ|ゴ","六":"む|ロク","七":"なな|シチ","八":"や|ハチ","九":"ここの|キュウ","十":"とお|ジュウ","百":"もも|ヒャク","千":"ち|セン","上":"うえ|ジョウ","下":"した|カ","左":"ひだり|サ","右":"みぎ|ウ","中":"なか|チュウ","大":"おお-|ダイ","小":"ちい.さい|ショウ","月":"つき|ゲツ","日":"ひ|ニチ","年":"とし|ネン","早":"はや.い|ソウ","木":"き|ボク","林":"はやし|リン","山":"やま|サン","川":"かわ|セン","土":"つち|ド","空":"そら|クウ","田":"た|デン","天":"あまつ|テン","生":"い.きる|セイ","花":"はな|カ","草":"くさ|ソウ","虫":"むし|チュウ","犬":"いぬ|ケン","人":"ひと|ジン","名":"な|メイ","女":"おんな|ジョ","男":"おとこ|ダン","子":"こ|シ","目":"め|モク","耳":"みみ|ジ","口":"くち|コウ","手":"て|シュ","足":"あし|ソク","見":"み.る|ケン","音":"おと|オン","力":"ちから|リョク","気":"いき|キ","円":"まる.い|エン","入":"い.る|ニュウ","出":"で.る|シュツ","立":"た.つ|リツ","休":"やす.む|キュウ","先":"さき|セン","夕":"ゆう|セキ","本":"もと|ホン","文":"ふみ|ブン","字":"あざ|ジ","学":"まな.ぶ|ガク","村":"むら|ソン","町":"まち|チョウ","森":"もり|シン","正":"ただ.しい|セイ","水":"みず|スイ","火":"ひ|カ","玉":"たま|ギョク","石":"いし|セキ","竹":"たけ|チク","糸":"いと|シ","貝":"かい|バイ","車":"くるま|シャ","金":"かね|キン","雨":"あめ|ウ","赤":"あか|セキ","青":"あお|セイ","白":"しろ|ハク","数":"かず|スウ","多":"おお.い|タ","少":"すく.ない|ショウ","万":"よろず|マン","半":"なか.ば|ハン","形":"かた|ケイ","太":"ふと.い|タイ","細":"ほそ.い|サイ","広":"ひろ.い|コウ","長":"なが.い|チョウ","点":"つ.ける|テン","丸":"まる|ガン","交":"まじ.わる|コウ","光":"ひか.る|コウ","角":"かど|カク","計":"はか.る|ケイ","直":"ただ.ちに|チョク","線":"すじ|セン","矢":"や|シ","弱":"よわ.い|ジャク","強":"つよ.い|キョウ","高":"たか.い|コウ","同":"おな.じ|ドウ","親":"おや|シン","母":"はは|ボ","父":"ちち|フ","姉":"あね|シ","兄":"あに|ケイ","弟":"おとうと|テイ","妹":"いもうと|マイ","自":"みずか.ら|ジ","友":"とも|ユウ","体":"からだ|タイ","毛":"け|モウ","頭":"あたま|トウ","顔":"かお|ガン","首":"くび|シュ","心":"こころ|シン","時":"とき|ジ","朝":"あさ|チョウ","昼":"ひる|チュウ","夜":"よ|ヤ","分":"わ.ける|ブン","春":"はる|シュン","夏":"なつ|カ","秋":"あき|シュウ","冬":"ふゆ|トウ","今":"いま|コン","新":"あたら.しい|シン","古":"ふる.い|コ","間":"あいだ|カン","方":"かた|ホウ","北":"きた|ホク","南":"みなみ|ナン","東":"ひがし|トウ","西":"にし|セイ","遠":"とお.い|エン","近":"ちか.い|キン","前":"まえ|ゼン","後":"のち|ゴ","内":"うち|ナイ","外":"そと|ガイ","場":"ば|ジョウ","国":"くに|コク","園":"その|エン","谷":"たに|コク","野":"の|ヤ","原":"はら|ゲン","里":"さと|リ","市":"いち|シ","京":"みやこ|キョウ","風":"かぜ|フウ","雪":"ゆき|セツ","雲":"くも|ウン","池":"いけ|チ","海":"うみ|カイ","岩":"いわ|ガン","星":"ほし|セイ","室":"むろ|シツ","戸":"と|コ","家":"いえ|カ","寺":"てら|ジ","通":"とお.る|ツウ","門":"かど|モン","道":"みち|ドウ","話":"はな.す|ワ","言":"い.う|ゲン","答":"こた.える|トウ","声":"こえ|セイ","聞":"き.く|ブン","語":"かた.る|ゴ","読":"よ.む|ドク","書":"か.く|ショ","記":"しる.す|キ","紙":"かみ|シ","画":"えが.く|ガ","図":"え|ズ","教":"おし.える|キョウ","晴":"は.れる|セイ","思":"おも.う|シ","考":"かんが.える|コウ","知":"し.る|チ","理":"ことわり|リ","算":"そろ|サン","作":"つく.る|サク","元":"もと|ゲン","食":"く.う|ショク","肉":"しし|ニク","馬":"うま|バ","牛":"うし|ギュウ","魚":"うお|ギョ","鳥":"とり|チョウ","羽":"は|ウ","鳴":"な.く|メイ","麦":"むぎ|バク","米":"こめ|ベイ","色":"いろ|ショク","黄":"き|コウ","黒":"くろ|コク","来":"く.る|ライ","行":"い.く|コウ","帰":"かえ.る|キ","歩":"ある.く|ホ","走":"はし.る|ソウ","止":"と.まる|シ","活":"い.きる|カツ","店":"みせ|テン","買":"か.う|バイ","売":"う.る|バイ","午":"うま|ゴ","弓":"ゆみ|キュウ","回":"まわ.る|カイ","会":"あ.う|カイ","組":"く.む|ソ","船":"ふね|セン","明":"あ.かり|メイ","社":"やしろ|シャ","切":"き.る|セツ","毎":"ごと|マイ","合":"あ.う|ゴウ","当":"あ.たる|トウ","台":"うてな|ダイ","楽":"たの.しい|ガク","公":"おおやけ|コウ","引":"ひ.く|イン","歌":"うた|カ","刀":"かたな|トウ","番":"つが.い|バン","用":"もち.いる|ヨウ","何":"なに|カ","丁":"ひのと|チョウ","世":"よ|セイ","両":"てる|リョウ","主":"ぬし|シュ","乗":"の.る|ジョウ","予":"あらかじ.め|ヨ","事":"こと|ジ","仕":"つか.える|シ","他":"ほか|タ","代":"か.わる|ダイ","住":"す.む|ジュウ","使":"つか.う|シ","係":"かか.る|ケイ","全":"まった.く|ゼン","具":"そな.える|グ","写":"うつ.す|シャ","助":"たす.ける|ジョ","勉":"つと.める|ベン","動":"うご.く|ドウ","勝":"か.つ|ショウ","化":"ば.ける|カ","医":"い.やす|イ","去":"さ.る|キョ","反":"そ.る|ハン","取":"と.る|シュ","受":"う.ける|ジュ","号":"さけ.ぶ|ゴウ","向":"む.く|コウ","君":"きみ|クン","味":"あじ|ミ","命":"いのち|メイ","和":"やわ.らぐ|ワ","品":"しな|ヒン","商":"あきな.う|ショウ","問":"と.う|モン","坂":"さか|ハン","始":"はじ.める|シ","委":"ゆだ.ねる|イ","守":"まも.る|シュ","安":"やす.い|アン","定":"さだ.める|テイ","実":"み|ジツ","宮":"みや|キュウ","宿":"やど|シュク","寒":"さむ.い|カン","対":"あいて|タイ","局":"つぼね|キョク","屋":"や|オク","岸":"きし|ガン","島":"しま|トウ","州":"す|シュウ","帳":"とばり|チョウ","平":"たい.ら|ヘイ","幸":"さいわ.い|コウ","度":"たび|ド","庫":"くら|コ","庭":"にわ|テイ","待":"ま.つ|タイ","急":"いそ.ぐ|キュウ","息":"いき|ソク","悪":"わる.い|アク","悲":"かな.しい|ヒ","想":"おも.う|ソウ","所":"ところ|ショ","打":"う.つ|ダ","投":"な.げる|トウ","拾":"ひろ.う|シュウ","持":"も.つ|ジ","指":"ゆび|シ","放":"はな.す|ホウ","整":"ととの.える|セイ","旅":"たび|リョ","昔":"むかし|セキ","暑":"あつ.い|ショ","暗":"くら.い|アン","曲":"ま.がる|キョク","有":"あ.る|ユウ","板":"いた|ハン","柱":"はしら|チュウ","根":"ね|コン","植":"う.える|ショク","業":"わざ|ギョウ","様":"さま|ヨウ","横":"よこ|オウ","橋":"はし|キョウ","次":"つ.ぐ|ジ","歯":"よわい|シ","死":"し.ぬ|シ","氷":"こおり|ヒョウ","決":"き.める|ケツ","油":"あぶら|ユ","波":"なみ|ハ","注":"そそ.ぐ|チュウ","泳":"およ.ぐ|エイ","流":"なが.れる|リュウ","消":"き.える|ショウ","深":"ふか.い|シン","温":"あたた.か|オン","港":"みなと|コウ","湖":"みずうみ|コ","湯":"ゆ|トウ","炭":"すみ|タン","物":"もの|ブツ","球":"たま|キュウ","由":"よし|ユ","申":"もう.す|シン","病":"や.む|ビョウ","発":"た.つ|ハツ","登":"のぼ.る|トウ","皮":"かわ|ヒ","皿":"さら|ベイ","相":"あい-|ソウ","県":"か.ける|ケン","真":"ま|シン","着":"き.る|チャク","短":"みじか.い|タン","研":"と.ぐ|ケン","神":"かみ|シン","祭":"まつ.る|サイ","究":"きわ.める|キュウ","童":"わらべ|ドウ","笛":"ふえ|テキ","筆":"ふで|ヒツ","等":"ひと.しい|トウ","箱":"はこ|ソウ","終":"お.わる|シュウ","緑":"みどり|リョク","練":"ね.る|レン","羊":"ひつじ|ヨウ","美":"うつく.しい|ビ","習":"なら.う|シュウ","者":"もの|シャ","育":"そだ.つ|イク","苦":"くる.しい|ク","荷":"に|カ","落":"お.ちる|ラク","葉":"は|ヨウ","薬":"くすり|ヤク","血":"ち|ケツ","表":"おもて|ヒョウ","詩":"うた|シ","調":"しら.べる|チョウ","豆":"まめ|トウ","負":"ま.ける|フ","起":"お.きる|キ","路":"-じ|ロ","身":"み|シン","転":"ころ.がる|テン","軽":"かる.い|ケイ","返":"かえ.す|ヘン","追":"お.う|ツイ","送":"おく.る|ソウ","速":"はや.い|ソク","進":"すす.む|シン","遊":"あそ.ぶ|ユウ","運":"はこ.ぶ|ウン","部":"-べ|ブ","都":"みやこ|ト","配":"くば.る|ハイ","酒":"さけ|シュ","重":"え|ジュウ","鉄":"くろがね|テツ","銀":"しろがね|ギン","開":"ひら.く|カイ","陽":"ひ|ヨウ","階":"きざはし|カイ","集":"あつ.まる|シュウ","面":"おも|メン","飲":"の.む|イン","館":"やかた|カン","鼻":"はな|ビ","争":"あらそ.う|ソウ","付":"つ.ける|フ","以":"もっ.て|イ","仲":"なか|チュウ","伝":"つた.わる|デン","位":"くらい|イ","低":"ひく.い|テイ","例":"たと.える|レイ","便":"たよ.り|ベン","倉":"くら|ソウ","候":"そうろう|コウ","借":"か.りる|シャク","停":"と.める|テイ","健":"すこ.やか|ケン","側":"かわ|ソク","働":"はたら.く|ドウ","兆":"きざ.す|チョウ","児":"こ|ジ","共":"とも|キョウ","兵":"つわもの|ヘイ","冷":"つめ.たい|レイ","初":"はじ.め|ショ","別":"わか.れる|ベツ","利":"き.く|リ","刷":"す.る|サツ","功":"いさお|コウ","加":"くわ.える|カ","努":"つと.める|ド","労":"ろう.する|ロウ","勇":"いさ.む|ユウ","包":"つつ.む|ホウ","卒":"そっ.する|ソツ","単":"ひとえ|タン","印":"しるし|イン","参":"まい.る|サン","司":"つかさど.る|シ","各":"おのおの|カク","告":"つ.げる|コク","周":"まわ.り|シュウ","唱":"とな.える|ショウ","喜":"よろこ.ぶ|キ","器":"うつわ|キ","囲":"かこ.む|イ","固":"かた.める|コ","型":"かた|ケイ","塩":"しお|エン","士":"さむらい|シ","変":"か.わる|ヘン","夫":"おっと|フ","失":"うしな.う|シツ","好":"この.む|コウ","孫":"まご|ソン","巣":"す|ソウ","差":"さ.す|サ","希":"まれ|キ","席":"むしろ|セキ","帯":"お.びる|タイ","底":"そこ|テイ","建":"た.てる|ケン","径":"みち|ケイ","徒":"いたずら|ト","得":"え.る|トク","必":"かなら.ず|ヒツ","愛":"いと.しい|アイ","成":"な.る|セイ","戦":"いくさ|セン","折":"お.る|セツ","挙":"あ.げる|キョ","改":"あらた.める|カイ","救":"すく.う|キュウ","敗":"やぶ.れる|ハイ","散":"ち.る|サン","旗":"はた|キ","最":"もっと.も|サイ","望":"のぞ.む|ボウ","未":"いま.だ|ミ","末":"すえ|マツ","札":"ふだ|サツ","束":"たば|ソク","松":"まつ|ショウ","果":"は.たす|カ","栄":"さか.える|エイ","案":"つくえ|アン","梅":"うめ|バイ","械":"かせ|カイ","極":"きわ.める|キョク","標":"しるべ|ヒョウ","機":"はた|キ","欠":"か.ける|ケツ","残":"のこ.る|ザン","殺":"ころ.す|サツ","氏":"うじ|シ","民":"たみ|ミン","求":"もと.める|キュウ","治":"おさ.める|ジ","法":"のり|ホウ","泣":"な.く|キュウ","浅":"あさ.い|セン","浴":"あ.びる|ヨク","清":"きよ.い|セイ","満":"み.ちる|マン","漁":"あさ.る|ギョ","灯":"ひ|トウ","無":"な.い|ム","然":"しか|ゼン","焼":"や.く|ショウ","照":"て.る|ショウ","熱":"あつ.い|ネツ","牧":"まき|ボク","産":"う.む|サン","的":"まと|テキ","省":"かえり.みる|セイ","祝":"いわ.う|シュク","種":"たね|シュ","積":"つ.む|セキ","競":"きそ.う|キョウ","笑":"わら.う|ショウ","管":"くだ|カン","節":"ふし|セツ","粉":"デシメートル|フン","約":"つづ.まる|ヤク","結":"むす.ぶ|ケツ","給":"たま.う|キュウ","続":"つづ.く|ゾク","置":"お.く|チ","老":"お.いる|ロウ","脈":"すじ|ミャク","腸":"はらわた|チョウ","良":"よ.い|リョウ","芸":"う.える|ゲイ","芽":"め|ガ","英":"はなぶさ|エイ","菜":"な|サイ","街":"まち|ガイ","衣":"ころも|イ","要":"い.る|ヨウ","覚":"おぼ.える|カク","観":"み.る|カン","訓":"おし.える|クン","試":"こころ.みる|シ","説":"と.く|セツ","象":"かたど.る|ショウ","貨":"たから|カ","貯":"た.める|チョ","費":"つい.やす|ヒ","賞":"ほ.める|ショウ","軍":"いくさ|グン","輪":"わ|リン","辞":"や.める|ジ","辺":"あた.り|ヘン","連":"つら.なる|レン","達":"-たち|タツ","選":"えら.ぶ|セン","郡":"こおり|グン","量":"はか.る|リョウ","録":"しる.す|ロク","鏡":"かがみ|キョウ","関":"せき|カン","陸":"おか|リク","静":"しず-|セイ","願":"ねが.う|ガン","類":"たぐ.い|ルイ","飛":"と.ぶ|ヒ","飯":"めし|ハン","養":"やしな.う|ヨウ","験":"あかし|ケン","久":"ひさ.しい|キュウ","仏":"ほとけ|ブツ","仮":"かり|カ","件":"くだん|ケン","任":"まか.せる|ニン","似":"に.る|ジ","余":"あま.る|ヨ","価":"あたい|カ","保":"たも.つ|ホ","修":"おさ.める|シュウ","俵":"たわら|ヒョウ","備":"そな.える|ビ","再":"ふたた.び|サイ","判":"わか.る|ハン","則":"のっと.る|ソク","効":"き.く|コウ","務":"つと.める|ム","勢":"いきお.い|セイ","厚":"あつ.い|コウ","可":"-べ.き|カ","営":"いとな.む|エイ","因":"よ.る|イン","団":"かたまり|ダン","圧":"お.す|アツ","在":"あ.る|ザイ","均":"なら.す|キン","基":"もと|キ","報":"むく.いる|ホウ","境":"さかい|キョウ","墓":"はか|ボ","増":"ま.す|ゾウ","夢":"ゆめ|ム","妻":"つま|サイ","婦":"よめ|フ","容":"い.れる|ヨウ","寄":"よ.る|キ","富":"と.む|フ","導":"みちび.く|ドウ","居":"い.る|キョ","属":"さかん|ゾク","布":"ぬの|フ","師":"いくさ|シ","常":"つね|ジョウ","幹":"みき|カン","序":"つい.で|ジョ","弁":"かんむり|ベン","張":"は.る|チョウ","往":"い.く|オウ","復":"また|フク","志":"シリング|シ","応":"あた.る|オウ","快":"こころよ.い|カイ","性":"さが|セイ","情":"なさ.け|ジョウ","態":"わざ.と|タイ","慣":"な.れる|カン","承":"うけたまわ.る|ショウ","技":"わざ|ギ","招":"まね.く|ショウ","授":"さず.ける|ジュ","採":"と.る|サイ","接":"つ.ぐ|セツ","提":"さ.げる|テイ","損":"そこ.なう|ソン","支":"ささ.える|シ","政":"まつりごと|セイ","故":"ゆえ|コ","敵":"かたき|テキ","断":"た.つ|ダン","旧":"ふる.い|キュウ","易":"やさ.しい|エキ","暴":"あば.く|ボウ","条":"えだ|ジョウ","枝":"えだ|シ","桜":"さくら|オウ","検":"しら.べる|ケン","構":"かま.える|コウ","武":"たけ|ブ","比":"くら.べる|ヒ","永":"なが.い|エイ","河":"かわ|カ","混":"ま.じる|コン","減":"へ.る|ゲン","測":"はか.る|ソク","準":"じゅん.じる|ジュン","潔":"いさぎよ.い|ケツ","災":"わざわ.い|サイ","燃":"も.える|ネン","犯":"おか.す|ハン","独":"ひと.り|ドク","率":"ひき.いる|ソツ","現":"あらわ.れる|ゲン","留":"と.める|リュウ","略":"ほぼ|リャク","益":"ま.す|エキ","眼":"まなこ|ガン","破":"やぶ.る|ハ","確":"たし.か|カク","示":"しめ.す|ジ","移":"うつ.る|イ","程":"ほど|テイ","築":"きず.く|チク","素":"もと|ソ","経":"へ.る|ケイ","統":"す.べる|トウ","絶":"た.える|ゼツ","綿":"わた|メン","総":"す.べて|ソウ","編":"あ.む|ヘン","織":"お.る|ショク","罪":"つみ|ザイ","群":"む.れる|グン","耕":"たがや.す|コウ","肥":"こ.える|ヒ","能":"よ.く|ノウ","興":"おこ.る|コウ","舌":"した|ゼツ","舎":"やど.る|シャ","術":"すべ|ジュツ","解":"と.く|カイ","設":"もう.ける|セツ","許":"ゆる.す|キョ","証":"あかし|ショウ","謝":"あやま.る|シャ","識":"し.る|シキ","護":"まも.る|ゴ","豊":"ゆた.か|ホウ","財":"たから|ザイ","貧":"まず.しい|ヒン","責":"せ.める|セキ","貸":"か.す|タイ","賛":"たす.ける|サン","質":"たち|シツ","述":"の.べる|ジュツ","迷":"まよ.う|メイ","退":"しりぞ.く|タイ","逆":"さか|ギャク","造":"つく.る|ゾウ","過":"す.ぎる|カ","適":"かな.う|テキ","酸":"す.い|サン","鉱":"あらがね|コウ","銅":"あかがね|ドウ","銭":"ぜに|セン","防":"ふせ.ぐ|ボウ","限":"かぎ.る|ゲン","険":"けわ.しい|ケン","際":"きわ|サイ","雑":"まじ.える|ザツ","非":"あら.ず|ヒ","預":"あず.ける|ヨ","領":"えり|リョウ","額":"ひたい|ガク","飼":"か.う|シ","並":"な.み|ヘイ","乱":"みだ.れる|ラン","乳":"ちち|ニュウ","亡":"な.い|ボウ","供":"そな.える|キョウ","値":"ね|チ","傷":"きず|ショウ","優":"やさ.しい|ユウ","党":"なかま|トウ","冊":"ふみ|サツ","処":"ところ|ショ","刻":"きざ.む|コク","割":"わ.る|カツ","創":"つく.る|ソウ","勤":"つと.める|キン","危":"あぶ.ない|キ","卵":"たまご|ラン","厳":"おごそ.か|ゲン","収":"おさ.める|シュウ","后":"きさき|コウ","否":"いな|ヒ","吸":"す.う|キュウ","呼":"よ.ぶ|コ","善":"よ.い|ゼン","困":"こま.る|コン","垂":"た.れる|スイ","城":"しろ|ジョウ","奏":"かな.でる|ソウ","奮":"ふる.う|フン","姿":"すがた|シ","存":"ながら.える|ソン","宗":"むね|シュウ","宝":"たから|ホウ","宣":"のたま.う|セン","密":"ひそ.か|ミツ","専":"もっぱ.ら|セン","射":"い.る|シャ","将":"まさ.に|ショウ","尊":"たっと.い|ソン","就":"つ.く|シュウ","届":"とど.ける|カイ","己":"おのれ|コ","巻":"ま.く|カン","幕":"とばり|マク","干":"ほ.す|カン","幼":"おさな.い|ヨウ","庁":"やくしょ|チョウ","座":"すわ.る|ザ","延":"の.びる|エン","従":"したが.う|ジュウ","忘":"わす.れる|ボウ","我":"われ|ガ","担":"かつ.ぐ|タン","拝":"おが.む|ハイ","拡":"ひろ.がる|カク","捨":"す.てる|シャ","探":"さぐ.る|タン","推":"お.す|スイ","揮":"ふる.う|キ","操":"みさお|ソウ","敬":"うやま.う|ケイ","映":"うつ.る|エイ","暖":"あたた.か|ダン","暮":"く.れる|ボ","朗":"ほが.らか|ロウ","机":"つくえ|キ","染":"そ.める|セン","株":"かぶ|シュ","権":"おもり|ケン","樹":"き|ジュ","欲":"ほっ.する|ヨク","沿":"そ.う|エン","泉":"いずみ|セン","洗":"あら.う|セン","済":"す.む|サイ","源":"みなもと|ゲン","潮":"しお|チョウ","激":"はげ.しい|ゲキ","灰":"はい|カイ","熟":"う.れる|ジュク","片":"かた-|ヘン","異":"こと|イ","疑":"うたが.う|ギ","痛":"いた.い|ツウ","盛":"も.る|セイ","看":"み.る|カン","砂":"すな|サ","私":"わたくし|シ","秘":"ひ.める|ヒ","穴":"あな|ケツ","窓":"まど|ソウ","筋":"すじ|キン","簡":"えら.ぶ|カン","紅":"べに|コウ","納":"おさ.める|ノウ","絹":"きぬ|ケン","縦":"たて|ジュウ","縮":"ちぢ.む|シュク","聖":"ひじり|セイ","背":"せ|ハイ","胸":"むね|キョウ","脳":"のうずる|ノウ","腹":"はら|フク","臓":"はらわた|ゾウ","臨":"のぞ.む|リン","至":"いた.る|シ","若":"わか.い|ジャク","著":"あらわ.す|チョ","蒸":"む.す|ジョウ","蔵":"くら|ゾウ","蚕":"かいこ|サン","衆":"おお.い|シュウ","裁":"た.つ|サイ","装":"よそお.う|ソウ","裏":"うら|リ","補":"おぎな.う|ホ","視":"み.る|シ","覧":"み.る|ラン","討":"う.つ|トウ","訪":"おとず.れる|ホウ","訳":"わけ|ヤク","認":"みと.める|ニン","誠":"まこと|セイ","誤":"あやま.る|ゴ","諸":"もろ|ショ","警":"いまし.める|ケイ","貴":"たっと.い|キ","遺":"のこ.す|イ","郷":"さと|キョウ","針":"はり|シン","鋼":"はがね|コウ","閉":"と.じる|ヘイ","降":"お.りる|コウ","除":"のぞ.く|ジョ","障":"さわ.る|ショウ","難":"かた.い|ナン","革":"かわ|カク","頂":"いただ.く|チョウ","骨":"ほね|コツ"},ds=function(t,e){let n="",r=t.split("");return e||(e=1===t.length?"kun":"on"),r.forEach((t=>{let r=fs[t];if(!r)return void(n+=t);let[o,i]=r.split("|");n+="kun"===e?o:i})),n},ms={compute:{romanji:function(t){return t.document.forEach((t=>{t.forEach((t=>{let e=t.normal;t.tags.has("Kanji")&&(e=ds(e)),t.romanji=ps(e)}))})),t},readings:function(t){return t.document.forEach((t=>{t.forEach((t=>{t.tags.has("Kanji")&&(t.reading=ds(t.normal))}))})),t}},api:function(t){t.prototype.romanji=function(){this.compute("romanji");let t="";return this.docs.forEach((e=>{e.forEach((e=>{t+=e.pre+(e.romanji||e.text)+(e.post||" ")}))})),t=t.replace(/・/," "),t}}};const gs=/[ .][A-Z]\.? *$/i,vs=/(?:\u2026|\.{2,}) *$/,bs=/\p{L}/u,ws=/[0-9]\. *$/;var ys=function(t,e){if(!1===bs.test(t))return!1;if(!0===gs.test(t))return!1;if(!0===ws.test(t))return!1;if(!0===vs.test(t))return!1;let n=t.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==e.hasOwnProperty(r)},xs={mutate:t=>{t.methods.one.tokenize.isSentence=ys},methods:{toTerms:ss}};const js="";var Ps={green:t=>""+t+js,red:t=>""+t+js,blue:t=>""+t+js,magenta:t=>""+t+js,cyan:t=>""+t+js,yellow:t=>""+t+js,black:t=>""+t+js,dim:t=>""+t+js,i:t=>""+t+js};const Es={Kanji:"dim",Hiragana:"dim",Katagana:"dim",Ascii:"dim"};var Os=function(t){let{docs:e,model:n}=t;0===e.length&&console.log(Ps.blue("\n ──────")),e.forEach((e=>{console.log(Ps.blue("\n ┌─────────")),e.forEach((e=>{let r=[...e.tags||[]],o=e.text||"-";e.sense&&(o=`{${e.normal}/${e.sense}}`),e.implicit&&(o="["+e.implicit+"]"),o=Ps.yellow(o);let i="'"+o+"'";if(e.english&&(i+=Ps.i(` {${e.english}}`.padEnd(6))),e.reference){let n=t.update([e.reference]).text("normal");i+=` - ${Ps.dim(Ps.i("["+n+"]"))}`}i=i.padEnd(18);let s=Ps.blue(" │ ")+Ps.i(i)+" - "+function(t,e){return e.one.tagSet&&(t=(t=t.filter((t=>!Es[t]))).map((t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||Es[t]||"blue";return Ps[n](t)}))),t.join(", ")}(r,n);console.log(s)}))}))},ks=function(t={}){let e=this;if("string"==typeof t){let e={};e[t]=!0,t=e}return"undefined"!=typeof window&&window.document||!1!==t.tags&&(Os(e),console.log("\n")),e},_s={"は":"-","が":"-","目":"eye","私たち":"we","彼":"he","彼女":"she","泳い":"swim","泳ぎ":"swimming","歩い":"walk","する":"(do)","家":"house"};const As={debug:ks};var Cs={compute:{english:function(t){return t.docs.forEach((t=>{t.forEach((t=>{_s[t.normal]&&(t.english=_s[t.normal])}))})),t}},api:function(t){Object.assign(t.prototype,As)}};const Ns=["Person","Place","Organization"];var Ss={Noun:{not:["Verb","Adjective","Adverb","Value","Determiner"]},Topic:{is:"Noun"},Object:{is:"Noun"},Singular:{is:"Noun",not:["Plural"]},ProperNoun:{is:"Noun"},Person:{is:"Singular",also:["ProperNoun"],not:["Place","Organization","Date"]},FirstName:{is:"Person"},MaleName:{is:"FirstName",not:["FemaleName","LastName"]},FemaleName:{is:"FirstName",not:["MaleName","LastName"]},LastName:{is:"Person",not:["FirstName"]},Honorific:{is:"Noun",not:["FirstName","LastName","Value"]},Place:{is:"Singular",not:["Person","Organization"]},Country:{is:"Place",also:["ProperNoun"],not:["City"]},City:{is:"Place",also:["ProperNoun"],not:["Country"]},Region:{is:"Place",also:["ProperNoun"]},Address:{},Organization:{is:"ProperNoun",not:["Person","Place"]},SportsTeam:{is:"Organization"},School:{is:"Organization"},Company:{is:"Organization"},Plural:{is:"Noun",not:["Singular"]},Uncountable:{is:"Noun"},Pronoun:{is:"Noun",not:Ns},Actor:{is:"Noun",not:Ns},Activity:{is:"Noun",not:["Person","Place"]},Unit:{is:"Noun",not:Ns},Demonym:{is:"Noun",also:["ProperNoun"],not:Ns},Possessive:{is:"Noun"},MaleNoun:{is:"Noun",not:["FemaleNoun","NeuterNoun"]},FemaleNoun:{is:"Noun",not:["MaleNoun","NeuterNoun"]},NeuterNoun:{is:"Noun",not:["MaleNoun","FemaleNoun"]}},Ts={Hiragana:{not:["Katakana","Kanji","Ascii"]},Kanji:{not:["Hiragana","Katakana","Ascii"]},Katakana:{not:["Hiragana","Kanji","Ascii"]},Ascii:{not:["Hiragana","Kanji","Katakana"]},Polite:{},Adjective:{not:["Noun","Verb","Adverb","Value"]},Comparable:{is:"Adjective"},Comparative:{is:"Adjective"},Superlative:{is:"Adjective",not:["Comparative"]},NumberRange:{},Adverb:{not:["Noun","Verb","Adjective","Value"]},Determiner:{not:["Noun","Verb","Adjective","Adverb","QuestionWord","Conjunction"]},Conjunction:{not:["Noun","Verb","Adjective","Adverb","Value","QuestionWord"]},Preposition:{not:["Noun","Verb","Adjective","Adverb","QuestionWord"]},QuestionWord:{not:["Determiner"]},Currency:{is:"Noun"},Expression:{not:["Noun","Adjective","Verb","Adverb"]},Abbreviation:{},Url:{not:["HashTag","PhoneNumber","Verb","Adjective","Value","AtMention","Email"]},PhoneNumber:{not:["HashTag","Verb","Adjective","Value","AtMention","Email"]},HashTag:{},AtMention:{is:"Noun",not:["HashTag","Email"]},Emoji:{not:["HashTag","Verb","Adjective","Value","AtMention"]},Emoticon:{not:["HashTag","Verb","Adjective","Value","AtMention"]},Email:{not:["HashTag","Verb","Adjective","Value","AtMention"]},Acronym:{not:["Plural","RomanNumeral"]},Negative:{not:["Noun","Adjective","Value"]},Condition:{not:["Verb","Adjective","Noun","Value"]}},Vs={tags:Object.assign({},Ss,{Verb:{not:["Noun","Adjective","Adverb","Value","Expression"]},ConditionalVerb:{is:"Verb"},Passive:{is:"Verb"},Causative:{is:"Verb"},PresentTense:{is:"Verb",not:["PastTense"]},Infinitive:{is:"PresentTense",not:["Gerund"]},Imperative:{is:"Infinitive"},Gerund:{is:"PresentTense",not:["Copula"]},PastTense:{is:"Verb",not:["PresentTense","Gerund"]},Copula:{is:"Verb"},Modal:{is:"Verb",not:["Infinitive"]},PerfectTense:{is:"Verb",not:["Gerund"]},Pluperfect:{is:"Verb"},Participle:{is:"PastTense"},PhrasalVerb:{is:"Verb"},Particle:{is:"PhrasalVerb",not:["PastTense","PresentTense","Copula","Gerund"]},Auxiliary:{is:"Verb",not:["PastTense","PresentTense","Gerund","Conjunction"]}},{Value:{not:["Verb","Adjective","Adverb"]},Ordinal:{is:"Value",not:["Cardinal"]},Cardinal:{is:"Value",not:["Ordinal"]},Fraction:{is:"Value",not:["Noun"]},Multiple:{is:"Value"},RomanNumeral:{is:"Cardinal",not:["TextValue"]},TextValue:{is:"Value",not:["NumericValue"]},TextOrdinal:{is:"TextValue",also:["Ordinal"]},TextCardinal:{is:"TextValue",also:["Cardinal"]},NumericValue:{is:"Value",not:["TextValue"]},Money:{is:"Cardinal"},Percent:{is:"Value"}},{Date:{not:["Verb","Adverb","Adjective"]},Month:{is:"Singular",also:["Date"],not:["Year","WeekDay","Time"]},WeekDay:{is:"Noun",also:["Date"]},Year:{is:"Date",not:["RomanNumeral"]},FinancialQuarter:{is:"Date",not:"Fraction"},Holiday:{is:"Date",also:["Noun"]},Season:{is:"Date"},Timezone:{is:"Noun",also:["Date"],not:["ProperNoun"]},Time:{is:"Date",not:["AtMention"]},Duration:{is:"Noun",also:["Date"]}},Ts)},$s=function(t,e,n){const r="script";t.forEach((t=>{let o=t.text;var i;if(!((i=o)>="぀"&&i<="ゟ"))return function(t){return t>="゠"&&t<="ヿ"}(o)?(e([t],"Katakana",n,null,r),void e([t],"Noun",n,null,r)):void(function(t){return t>="一"&&t<="龯"||t>="㐀"&&t<="䶿"||"𠮟"===t}(o)?e([t],"Kanji",n,null,r):function(t){return/[a-zA-Z]/.test(t)}(o)&&e([t],"Ascii",n,null,r));e([t],"Hiragana",n,null,r)}))};const Ds="marker";var zs=function(t,e,n){for(let r=1;r<t.length;r+=1){let o=t[r];"は"===o.text&&(e([o],"Preposition",n,null,Ds),e([t[r-1]],"Topic",n,null,Ds)),"が"===o.text&&(e([o],"Preposition",n,null,Ds),e([t[r-1]],"Noun",n,null,Ds)),"を"===o.text&&(e([o],"Preposition",n,null,Ds),e([t[r-1]],"Object",n,null,Ds)),"で"===o.text&&(e([o],"Preposition",n,null,Ds),e([t[r-1]],"Noun",n,null,Ds)),"から"===o.text&&(e([o],"Preposition",n,null,Ds),e([t[r-1]],"Noun",n,null,Ds)),"の"===o.text&&(e([o],"Preposition",n,null,Ds),e([t[r-1]],"Possessive",n,null,Ds))}};let Gs=new Set;Object.entries({polite_negative_presumptive:["わないだろう","かないだろう","がないだろう","さないだろう","たないだろう","まないだろう","ばないだろう","なないだろう","らないだろう","ないだろう"],polite_presumptive:["うでしょう","くでしょう","ぐでしょう","すでしょう","つでしょう","むでしょう","ぶでしょう","ぬでしょう","るでしょう","るでしょう"],polite_negative:["いません","きません","ぎません","しません","ちません","みません","びません","にません","りません","ません"],others_desire:["いたがる","きたがる","ぎたがる","したがる","ちたがる","みたがる","びたがる","にたがる","りたがる","たがる"],simplified_te_ageru:["ったげる","いたげる","いだげる","したげる","ったげる","んだげる","んだげる","んだげる","ったげる","たげる"],te_iru:["っている","いている","いでいる","している","っている","んでいる","んでいる","んでいる","っている","ている"],te_aru:["ってある","いてある","いである","してある","ってある","んである","んである","んである","ってある","てある"],te_oru:["っておる","いておる","いでおる","しておる","っておる","んでおる","んでおる","んでおる","っておる","ておる"],te_oku:["っておく","いておく","いでおく","しておく","っておく","んでおく","んでおく","んでおく","っておく","ておく"],plain_presumptive:["うだろう","くだろう","ぐだろう","すだろう","つだろう","むだろう","ぶだろう","ぬだろう","るだろう","るだろう"],past_presumptive:["ったろう","いたろう","いだろう","したろう","ったろう","んだろう","んだろう","んだろう","った","たろう"],passive:["われる","かれる","がれる","される","たれる","まれる","ばれる","なれる","られる","られる"],causative:["わせる","かせる","がせる","させる","たせる","ませる","ばせる","なせる","らせる","させる"],way_of_doing:["いかた","きかた","ぎかた","しかた","ちかた","みかた","びかた","にかた","りかた","かた"],plain_negative:["わない","かない","がない","さない","たない","まない","ばない","なない","らない","ない"],plain_negative_presumptive:["うまい","くまい","ぐまい","すまい","つまい","むまい","ぶまい","ぬまい","るまい","まい"],polite:["います","きます","ぎます","します","ちます","みます","びます","にます","ります","ます"],desire:["いたい","きたい","ぎたい","したい","ちたい","みたい","びたい","にたい","りたい","たい"],simplified_te_iru:["ってる","いてる","いでる","してる","ってる","んでる","んでる","んでる","ってる","てる"],past_hypothetical:["ったら","いたら","いだら","したら","ったら","んだら","んだら","んだら","ったら","たら"],representative:["ったり","いたり","いだり","したり","ったり","んだり","んだり","んだり","ったり","たり"],simplified_te_oru:["っとる","いとる","いどる","しとる","っとる","んどる","んどる","んどる","っとる","とる"],impression:["いそう","きそう","ぎそう","しそう","ちそう","みそう","びそう","にそう","りそう","そう"],simplified_te_oku:["っとく","いとく","いどく","しとく","っとく","んどく","んどく","んどく","っとく","とく"],hypothetical:["えば","けば","げば","せば","てば","めば","べば","ねば","れば","れば"],perfect:["わず","かず","がず","さず","たず","まず","ばず","なず","らず","ず"],plain_negative:["わん","かん","がん","さん","たん","まん","ばん","なん","らん","ん"],negative_imperative:["うな","くな","ぐな","すな","つな","むな","ぶな","ぬな","るな","るな"],past_tense:["った","いた","いだ","した","った","んだ","んだ","んだ","った","た"],te_form:["って","いて","いで","して","って","んで","んで","んで","って","て"],short_potential:["える","ける","げる","せる","てる","める","べる","ねる","れる",""],pseudo_futurum:["おう","こう","ごう","そう","とう","もう","ぼう","のう","ろう","よう"],commanding:["え","け","げ","せ","て","め","べ","ね","れ","ろ"],conjunctive:["い","き","ぎ","し","ち","み","び","に","り",""],advising_commanding:["","","","","","","","","","よ"]}).forEach((t=>{t[1].forEach((t=>{t&&Gs.add(t)}))}));const Ls="endVerbPhrase";var Fs=function(t,e,n){let r=t[t.length-1];if(Gs.has(r.text)){e([r],"Auxiliary",n,null,Ls);let o=t[t.length-2];o&&o.tags.has("Kanji")&&e([o],"Verb",n,null,Ls)}else t.length>4&&e([t[t.length-1]],"Verb",n,null,Ls)},Is=function(t,e,n){t.forEach((t=>{t.text.endsWith("い")&&e([t],"Adjective",n,null,"adjSuffix")}))},Ms=function(t,e,n){t.forEach((t=>{t.text.endsWith("たち")&&e([t],"Plural",n,null,"nounSuffix")}))};const Bs="noun-fallback";var Us=function(t){const e=t.methods.one.setTag||function(){},n=t.world;return t.document.forEach((t=>{$s(t,e,n),zs(t,e,n),Fs(t,e,n),Is(t,e,n),Ms(t,e,n),function(t,e,n){t.forEach((t=>{let r=t.tags;(0===r.size||1===r.size&&(r.has("Kanji")||r.has("Hiragana")||r.has("Katagana")))&&e([t],"Noun",n,null,Bs)}))}(t,e,n)})),t},Hs={compute:{preTagger:Us},hooks:["preTagger"]};v.plugin(xs),v.plugin(Vs),v.plugin(Qi),v.plugin(Cs),v.plugin(ms),v.plugin(Hs);const Ws=function(t,e){let n=v.tokenize(t,e);n.document=n.document.map((t=>t.length>1?t:us(t[0].text)));const r=v.world();return n.compute(r.hooks),n};return Object.keys(v).forEach((t=>{v.hasOwnProperty(t)&&(Ws[t]=v[t])})),Object.defineProperty(Ws,"_world",{value:v._world,writable:!0}),Ws.verbose=function(t){let e="undefined"==typeof process?self.env||{}:process.env;return e.DEBUG_TAGS="tagger"===t||!0===t||"",e.DEBUG_MATCH="match"===t||!0===t||"",e.DEBUG_CHUNKS="chunker"===t||!0===t||"",this},Ws.version="0.0.1",Ws},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).jaCompromise=e();