ja-compromise 0.0.1 → 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +367 -6
- package/builds/ja-compromise.cjs +4389 -2286
- package/builds/ja-compromise.min.js +1 -1
- package/builds/ja-compromise.mjs +1 -1
- package/package.json +36 -23
- package/src/01-one/conjugate/conjugate-adj.js +53 -0
- package/src/01-one/conjugate/conjugate-verb.js +145 -0
- package/src/01-one/conjugate/deconjugate.js +178 -0
- package/src/01-one/conjugate/index.js +13 -0
- package/src/01-one/conjugate/kana.js +38 -0
- package/src/01-one/conjugate/tags.js +85 -0
- package/src/01-one/conjugate/verb-class.js +105 -0
- package/src/01-one/lexicon/_data.js +30 -0
- package/src/01-one/lexicon/api.js +61 -0
- package/src/01-one/lexicon/lexicon.js +163 -0
- package/src/01-one/lexicon/misc.js +115 -0
- package/src/01-one/lexicon/plugin.js +20 -0
- package/src/01-one/numbers/api.js +202 -0
- package/src/01-one/numbers/kanji-number.js +69 -0
- package/src/01-one/numbers/to-kanji.js +66 -0
- package/src/01-one/output/compute/dict.js +13 -0
- package/src/01-one/output/compute/english.js +13 -0
- package/src/01-one/output/compute/root.js +30 -0
- package/src/01-one/output/debug/_color.js +16 -0
- package/src/01-one/output/debug/index.js +24 -0
- package/src/01-one/output/debug/tags.js +56 -0
- package/src/01-one/output/plugin.js +13 -0
- package/src/01-one/romanji/api.js +16 -0
- package/src/01-one/romanji/compute/index.js +36 -0
- package/src/01-one/romanji/compute/kanji-reading/index.js +91 -0
- package/src/01-one/romanji/compute/kanji-reading/readings.js +861 -0
- package/src/01-one/romanji/compute/kanji-reading/words.js +31 -0
- package/src/01-one/romanji/compute/toRomanji/hiragana-map.js +175 -0
- package/src/01-one/romanji/compute/toRomanji/index.js +84 -0
- package/src/01-one/romanji/compute/toRomanji/katakana-map.js +128 -0
- package/src/01-one/romanji/plugin.js +7 -0
- package/src/01-one/tokenizer/methods/join-numbers.js +32 -0
- package/src/01-one/tokenizer/methods/join-up.js +66 -0
- package/src/01-one/tokenizer/methods/lib.js +66 -0
- package/src/01-one/tokenizer/methods/naiive-split.js +88 -0
- package/src/01-one/tokenizer/methods/okurigana.js +58 -0
- package/src/01-one/tokenizer/methods/terms.js +143 -0
- package/src/01-one/tokenizer/methods/trie/build.js +13 -0
- package/src/01-one/tokenizer/methods/trie/split-up.js +29 -0
- package/src/01-one/tokenizer/methods/whitespace.js +44 -0
- package/src/01-one/tokenizer/plugin.js +13 -0
- package/src/02-two/preTagger/compute/01-script.js +44 -0
- package/src/02-two/preTagger/compute/02-particles.js +82 -0
- package/src/02-two/preTagger/compute/03-verbs.js +111 -0
- package/src/02-two/preTagger/compute/04-adjectives.js +43 -0
- package/src/02-two/preTagger/compute/05-people.js +22 -0
- package/src/02-two/preTagger/compute/06-numbers.js +80 -0
- package/src/02-two/preTagger/compute/07-dates.js +105 -0
- package/src/02-two/preTagger/compute/index.js +52 -0
- package/src/02-two/preTagger/plugin.js +9 -0
- package/src/02-two/tagset/plugin.js +12 -0
- package/src/02-two/tagset/tags/dates.js +58 -0
- package/src/02-two/tagset/tags/misc.js +91 -0
- package/src/02-two/tagset/tags/nouns.js +131 -0
- package/src/02-two/tagset/tags/particles.js +50 -0
- package/src/02-two/tagset/tags/values.js +68 -0
- package/src/02-two/tagset/tags/verbs.js +93 -0
- package/src/_lib.js +2 -0
- package/src/_version.js +1 -0
- package/src/index.js +82 -0
- package/types/index.d.ts +268 -0
- package/types/japanese.d.ts +159 -0
- package/types/misc.d.ts +92 -0
|
@@ -1 +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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),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="[0m";var Vn={green:t=>"[32m"+t+Tn,red:t=>"[31m"+t+Tn,blue:t=>"[34m"+t+Tn,magenta:t=>"[35m"+t+Tn,cyan:t=>"[36m"+t+Tn,yellow:t=>"[33m"+t+Tn,black:t=>"[30m"+t+Tn,dim:t=>"[2m"+t+Tn,i:t=>"[3m"+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 [32m→ ${t.length} post-tagger:[0m`),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,"[33m[3m"+o+"[0m").padEnd(24)} [32m→[0m #${e.padEnd(22)} ${(t=>"[3m"+t+"[0m")(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=>"[2m"+t+"[0m")("→ "));let r="";return Or(t).forEach(((t,o)=>{let i=t.id||"";if(e&&(i=(t=>"[31m"+t+"[0m")(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="[0m";var Ps={green:t=>"[32m"+t+js,red:t=>"[31m"+t+js,blue:t=>"[34m"+t+js,magenta:t=>"[35m"+t+js,cyan:t=>"[36m"+t+js,yellow:t=>"[33m"+t+js,black:t=>"[30m"+t+js,dim:t=>"[2m"+t+js,i:t=>"[3m"+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();
|
|
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={forEach:function(t){return this.fullPointer.forEach((e,n)=>{const r=this.update([e]);t(r,n)}),this},map:function(t,e){const n=this.fullPointer.map((e,n)=>{const 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)=>{const r=this.update([e]);return t(r,n)}),this.update(e)},find:function(t){const e=this.fullPointer.find((e,n)=>{const r=this.update([e]);return t(r,n)});return this.update([e])},some:function(t){return this.fullPointer.some((e,n)=>{const 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 r={termList:function(){return this.methods.one.termList(this.docs)},terms:function(t){const e=this.match(".");return"number"==typeof t?e.eq(t):e},groups:function(t){if(t||0===t)return this.update(this._groups[t]||[]);const 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(){const 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(){const 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;const 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(){const t=this.pointer;if(!t)return!0;if(0===t.length||0!==t[0][0])return!1;let e=0,n=0;return this.document.forEach(t=>e+=t.length),this.docs.forEach(t=>n+=t.length),e===n},getNth:function(t){return"number"==typeof t?this.eq(t):"string"==typeof t?this.if(t):this}};r.group=r.groups,r.fullSentence=r.fullSentences,r.sentence=r.fullSentences,r.lastTerm=r.lastTerms,r.firstTerm=r.firstTerms;const o=Object.assign({},r,e,n);o.get=o.eq;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(){const{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){const e=new View(this.document,t);if(this._cache&&t&&t.length>0){const n=[];t.forEach((t,e)=>{const[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,n=e.one.tokenize.fromString(t,this.world),r=new View(n);return r.world=this.world,r.compute(["normal","freeze","lexicon"]),this.world.compute.preTagger&&r.compute("preTagger"),r.compute("unfreeze"),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)));const e=this.update(this.pointer);return e.document=t,e._cache=this._cache,e}}Object.assign(View.prototype,o);const i=function(t){return t&&"object"==typeof t&&!Array.isArray(t)},s=t=>"__proto__"===t||"constructor"===t||"prototype"===t;function a(t,e){if(i(e))for(const n in e)s(n)||(i(e[n])?(t[n]||Object.assign(t,{[n]:{}}),a(t[n],e[n])):Object.assign(t,{[n]:e[n]}));return t}const u=function(t,e,n,r){if(o=t,"[object Array]"===Object.prototype.toString.call(o))return void t.forEach(t=>u(t,e,n,r));var o;const{methods:i,model:c,compute:l,hooks:h}=e;t.methods&&function(t,e){for(const n in e)s(n)||(t[n]=t[n]||{},Object.assign(t[n],e[n]))}(i,t.methods),t.model&&a(c,t.model),t.irregulars&&function(t,e){const n=t.two.models||{};Object.keys(e).forEach(t=>{e[t].pastTense&&(n.toPast&&(n.toPast.ex[t]=e[t].pastTense),n.fromPast&&(n.fromPast.ex[e[t].pastTense]=t)),e[t].presentTense&&(n.toPresent&&(n.toPresent.ex[t]=e[t].presentTense),n.fromPresent&&(n.fromPresent.ex[e[t].presentTense]=t)),e[t].gerund&&(n.toGerund&&(n.toGerund.ex[t]=e[t].gerund),n.fromGerund&&(n.fromGerund.ex[e[t].gerund]=t)),e[t].comparative&&(n.toComparative&&(n.toComparative.ex[t]=e[t].comparative),n.fromComparative&&(n.fromComparative.ex[e[t].comparative]=t)),e[t].superlative&&(n.toSuperlative&&(n.toSuperlative.ex[t]=e[t].superlative),n.fromSuperlative&&(n.fromSuperlative.ex[e[t].superlative]=t))})}(c,t.irregulars),t.compute&&Object.assign(l,t.compute),h&&(e.hooks=h.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.frozen&&r.addWords(t.frozen,!0),t.mutate&&t.mutate(e,r)},c=function(t){return"[object Array]"===Object.prototype.toString.call(t)},l=function(t,e,n){const{methods:r}=n,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(c(t)){if(c(t[0])){const n=t.map(t=>t.map(t=>({text:t,normal:t,pre:"",post:" ",tags:new Set})));return new e(n)}const n=t.map(t=>t.terms.map(t=>(c(t.tags)&&(t.tags=new Set(t.tags)),t)));return new e(n)}return o},h=Object.assign({},t),f=function(t,e){e&&f.addWords(e);const n=l(t,View,h);return t&&n.compute(h.hooks),n};Object.defineProperty(f,"_world",{value:h,writable:!0}),f.tokenize=function(t,e){const{compute:n}=this._world;e&&f.addWords(e);const r=l(t,View,h);return n.contractions&&r.compute(["alias","normal","machine","contractions"]),r},f.plugin=function(t){return u(t,this._world,View,this),this},f.extend=f.plugin,f.world=function(){return this._world},f.model=function(){return this._world.model},f.methods=function(){return this._world.methods},f.hooks=function(){return this._world.hooks},f.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},f.version="14.17.0";var p={one:{cacheDoc:function(t){const e=t.map(t=>{const 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));const n=Array.from(t.tags);for(let t=0;t<n.length;t+=1)e.add("#"+n[t])}),e});return e}}};const d={cache:function(){return this._cache=this.methods.one.cacheDoc(this.document),this},uncache:function(){return this._cache=null,this}};var m={api:function(t){Object.assign(t.prototype,d)},compute:{cache:function(t){t._cache=t.methods.one.cacheDoc(t.document)}},methods:p};const v=t=>/^\p{Lu}[\p{Ll}'’]/u.test(t)||/^\p{Lu}$/u.test(t),b=(t,e,n)=>{if(n.forEach(t=>t.dirty=!0),t){const r=[e,0].concat(n);Array.prototype.splice.apply(t,r)}return t},P=function(t){const e=t[t.length-1];!e||/ $/.test(e.post)||/[-–—]/.test(e.post)||(e.post+=" ")},y=(t,e,n)=>{const r=/[-.?!,;:)–—'"]/g,o=t[e-1];if(!o)return;const i=o.post;if(r.test(i)){const t=i.match(r).join(""),e=n[n.length-1];e.post=t+e.post,o.post=o.post.replace(r,"")}},w=function(t,e,n,r){const[o,i,s]=e;0===i||s===r[o].length?P(n):(P(n),P([t[e[1]]])),function(t,e,n){const r=t[e];if(0!==e||!v(r.text))return;n[0].text=n[0].text.replace(/^\p{Ll}/u,t=>t.toUpperCase());const o=t[e];o.tags.has("ProperNoun")||o.tags.has("Acronym")||v(o.text)&&o.text.length>1&&(o.text=o.text.replace(/^\p{Lu}/u,t=>t.toLowerCase()))}(t,i,n),b(t,i,n)};let j=0;const C=t=>(t=t.length<3?"0"+t:t).length<3?"0"+t:t,x=function(t){let[e,n]=t.index||[0,0];j+=1,j=j>46655?0:j,e=e>46655?0:e,n=n>1294?0:n;let r=C(j.toString(36));r+=C(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()},E=function(t){t.has("@hasContraction")&&"function"==typeof t.contractions&&t.grow("@hasContraction").contractions().expand()},N=t=>"[object Array]"===Object.prototype.toString.call(t),A=function(t,e,n){const{document:r,world:o}=e;e.uncache();const i=e.fullPointer,s=e.fullPointer;e.forEach((a,u)=>{const c=a.fullPointer[0],[l]=c,h=r[l];let f=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]||[]:N(t)?N(t[0])?t[0]:t:[]}(t,o);0!==f.length&&(f=function(t){return t.map(t=>(t.id=x(t),t))}(f),n?(E(e.update([c]).firstTerm()),w(h,c,f,r)):(E(e.update([c]).lastTerm()),function(t,e,n,r){const[o,,i]=e,s=(r[o]||[]).length;i<s?(y(t,i,n),P(n)):s===i&&(P(t),y(t,i,n),r[o+1]&&(n[n.length-1].post+=" ")),b(t,e[2],n),e[4]=n[n.length-1].id}(h,c,f,r)),r[l]&&r[l][c[1]]&&(c[3]=r[l][c[1]].id),s[u]=c,c[2]+=f.length,i[u]=c)});const a=e.toView(i);return e.ptrs=s,a.compute(["id","index","freeze","lexicon"]),a.world.compute.preTagger&&a.compute("preTagger"),a.compute("unfreeze"),a},V={insertAfter:function(t){return A(t,this,!1)},insertBefore:function(t){return A(t,this,!0)}};V.append=V.insertAfter,V.prepend=V.insertBefore,V.insert=V.insertAfter;const T=/\$[0-9a-z]+/g,O={},k=t=>t.replace(/^\p{Ll}/u,t=>t.toUpperCase()),S=t=>t.replace(/^\p{Lu}/u,t=>t.toLowerCase());O.replaceWith=function(t,e={}){let n=this.fullPointer;!0===e&&(e={tags:!0,case:!0,possessives:!0});const r=this;if(this.uncache(),"function"==typeof t)return function(t,e,n){return t.forEach(t=>{const r=e(t);t.replaceWith(r,n)}),t}(r,t,e);const o=r.docs[0];if(!o)return r;const i=e.possessives&&o[o.length-1].tags.has("Possessive"),s=e.case&&(a=o[0].text,/^\p{Lu}[\p{Ll}'’]/u.test(a)||/^\p{Lu}$/u.test(a));var a;t=function(t,e){if("string"!=typeof t)return t;const n=e.groups();return t=t.replace(T,t=>{const e=t.replace(/\$/,"");return n.hasOwnProperty(e)?n[e].text():t}),t}(t,r);const u=this.update(n);n=n.map(t=>t.slice(0,3));let c=(u.docs[0]||[]).map(t=>Array.from(t.tags));const l=u.docs[0][0].pre,h=u.docs[0][u.docs[0].length-1].post;if("string"==typeof t&&(t=this.fromText(t).compute("id")),r.insertAfter(t),u.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction+").contractions().expand(),r.delete(u),i){const t=r.docs[0],e=t[t.length-1];e.tags.has("Possessive")||(e.text+="'s",e.normal+="'s",e.tags.add("Possessive"))}if(l&&r.docs[0]&&(r.docs[0][0].pre=l),h&&r.docs[0]){const t=r.docs[0][r.docs[0].length-1];t.post.trim()||(t.post=h)}const f=r.toView(n).compute(["index","freeze","lexicon"]);if(f.world.compute.preTagger&&f.compute("preTagger"),f.compute("unfreeze"),e.tags&&(c=c.slice(0,t.wordCount()),f.terms().forEach((t,e)=>{t.tagSafe(c[e])})),!f.docs[0]||!f.docs[0][0])return f;if(e.case){const t=s?k:S;f.docs[0][0].text=t(f.docs[0][0].text)}return f},O.replace=function(t,e,n){if(t&&!e)return this.replaceWith(t,n);const r=this.match(t);return r.found?(this.soften(),r.replaceWith(e,n)):this};const D={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));const o=!n.ptrs;r.has("@hasContraction")&&r.contractions&&r.grow("@hasContraction").contractions().expand();let i=n.fullPointer;const s=r.fullPointer.reverse(),a=function(t,e){e.forEach(e=>{const[n,r,o]=e,i=o-r;t[n]&&(o===t[n].length&&o>1&&function(t,e){const 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])){const n=t[e-1],r=n[n.length-1];r&&(r.post=r.post.trimEnd())}return t}(this.document,s);return i=function(t,e){return t=t.map(t=>{const[n]=t;return e[n]?(e[n].forEach(e=>{const 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=a,n.compute("index"),o&&(n.ptrs=void 0),t?n.toView(i):(this.ptrs=[],n.none())}};D.delete=D.remove;const _={pre:function(t,e){return void 0===t&&this.found?this.docs[0][0].pre:(this.docs.forEach(n=>{const r=n[0];!0===e?r.pre+=t:r.pre=t}),this)},post:function(t,e){if(void 0===t){const t=this.docs[this.docs.length-1];return t[t.length-1].post}return this.docs.forEach(n=>{const r=n[n.length-1];!0===e?r.post+=t:r.post=t}),this},trim:function(){if(!this.found)return this;const t=this.docs,e=t[0][0];e.pre=e.pre.trimStart();const 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;const 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;const r=n[n.length-1];r.post=e+r.post}),this}};_.deHyphenate=_.dehyphenate,_.toQuotation=_.toQuotations;var $={alpha:(t,e)=>t.normal<e.normal?-1:t.normal>e.normal?1:0,length:(t,e)=>{const 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){const e={};return t.forEach(t=>{e[t.normal]=e[t.normal]||0,e[t.normal]+=1}),t.sort((t,n)=>{const r=e[t.normal],o=e[n.normal];return r<o?1:r>o?-1:0}),t}};const F=new Set(["index","sequence","seq","sequential","chron","chronological"]),z=new Set(["freq","frequency","topk","repeats"]),G=new Set(["alpha","alphabetical"]);var L={unique:function(){const t=new Set;return this.filter(e=>{const 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){const{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";const r=n||e.map((t,e)=>[e]);let o=e.map((t,e)=>({index:e,words:t.length,normal:t.map(t=>t.machine||t.normal||"").join(" "),pointer:r[e]}));return F.has(t)&&(t="sequential"),G.has(t)&&(t="alpha"),z.has(t)?(o=$.byFreq(o),this.update(o.map(t=>t.pointer))):"function"==typeof $[t]?(o=o.sort($[t]),this.update(o.map(t=>t.pointer))):this}};const I=function(t,e){if(t.length>0){const e=t[t.length-1],n=e[e.length-1];!1===/ /.test(n.post)&&(n.post+=" ")}return t=t.concat(e)};var M={concat:function(t){if("string"==typeof t){const e=this.fromText(t);if(this.found&&this.ptrs){const 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){const n=t.fullPointer.concat(e.fullPointer);return t.toView(n).compute("index")}return e.fullPointer.forEach(e=>{e[0]+=t.document.length}),t.document=I(t.document,e.docs),t.all()}(this,t);if(e=t,"[object Array]"===Object.prototype.toString.call(e)){const e=I(this.document,t);return this.document=e,this.all()}var e;return this}},W={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 B=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}},V,O,D,_,L,M,W),H={id:function(t){const e=t.docs;for(let t=0;t<e.length;t+=1)for(let n=0;n<e[t].length;n+=1){const r=e[t][n];r.id=r.id||x(r)}}};var Q={api:function(t){Object.assign(t.prototype,B)},compute:H};const R=!0;var K={one:{contractions:[{word:"@",out:["at"]},{word:"arent",out:["are","not"]},{word:"alot",out:["a","lot"]},{word:"brb",out:["be","right","back"]},{word:"cannot",out:["can","not"]},{word:"dun",out:["do","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:"dunno",out:["do","not","know"]},{word:"gonna",out:["going","to"]},{word:"gotta",out:["have","got","to"]},{word:"gimme",out:["give","me"]},{word:"outta",out:["out","of"]},{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:"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"]},{word:"shouldnt",out:["should","not"]},{word:"couldnt",out:["could","not"]},{word:"wouldnt",out:["would","not"]},{word:"hasnt",out:["has","not"]},{word:"wasnt",out:["was","not"]},{word:"isnt",out:["is","not"]},{word:"cant",out:["can","not"]},{word:"dont",out:["do","not"]},{word:"wont",out:["will","not"]},{word:"howd",out:["how","did"]},{word:"whatd",out:["what","did"]},{word:"whend",out:["when","did"]},{word:"whered",out:["where","did"]}],numberSuffixes:{st:R,nd:R,rd:R,th:R,am:R,pm:R,max:R,"°":R,s:R,e:R,er:R,"ère":R,"ème":R}}};const U=function(t,e,n){const[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))},q=/'/,Z=new Set(["what","how","when","where","why"]),Y=new Set(["be","go","start","think","need"]),J=new Set(["been","gone"]),X=/'/,tt=/(e|é|aison|sion|tion)$/,et=/(age|isme|acle|ege|oire)$/;var nt=(t,e)=>["je",t[e].normal.split(X)[1]],rt=(t,e)=>{const n=t[e].normal.split(X)[1];return n&&n.endsWith("e")?["la",n]:["le",n]},ot=(t,e)=>{const n=t[e].normal.split(X)[1];return n&&tt.test(n)&&!et.test(n)?["du",n]:n&&n.endsWith("s")?["des",n]:["de",n]};const it=/^([0-9.]{1,4}[a-z]{0,2}) ?[-–—] ?([0-9]{1,4}[a-z]{0,2})$/i,st=/^([0-9]{1,2}(:[0-9][0-9])?(am|pm)?) ?[-–—] ?([0-9]{1,2}(:[0-9][0-9])?(am|pm)?)$/i,at=/^[0-9]{3}-[0-9]{4}$/,ut=function(t,e){const n=t[e];let r=n.text.match(it);return null!==r?!0===n.tags.has("PhoneNumber")||at.test(n.text)?null:[r[1],"to",r[2]]:(r=n.text.match(st),null!==r?[r[1],"to",r[4]]:null)},ct=/^([+-]?[0-9][.,0-9]*)([a-z°²³µ/]+)$/,lt=function(t,e,n){const r=n.model.one.numberSuffixes||{},o=t[e].text.match(ct);if(null!==o){const t=o[2].toLowerCase().trim();return r.hasOwnProperty(t)?null:[o[1],t]}return null},ht=/'/,ft=/^[0-9][^-–—]*[-–—].*?[0-9]/,pt=function(t,e,n,r){const o=e.update();o.document=[t];let i=n+r;n>0&&(n-=1),t[i]&&(i+=1),o.ptrs=[[0,n,i]]},dt={t:(t,e)=>function(t,e){return"ain't"===t[e].normal||"aint"===t[e].normal?null:[t[e].normal.replace(/n't/,""),"not"]}(t,e),d:(t,e)=>function(t,e){const n=t[e].normal.split(q)[0];if(Z.has(n))return[n,"did"];if(t[e+1]){if(J.has(t[e+1].normal))return[n,"had"];if(Y.has(t[e+1].normal))return[n,"would"]}return null}(t,e)},mt={j:(t,e)=>nt(t,e),l:(t,e)=>rt(t,e),d:(t,e)=>ot(t,e)},gt=function(t,e,n,r){for(let o=0;o<t.length;o+=1){const 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&&r&&r.length>2)return i.out.concat(r)}return null},vt=function(t,e){const n=e.fromText(t.join(" "));return n.compute(["id","alias"]),n.docs[0]},bt=function(t,e){for(let n=e+1;n<5&&t[n];n+=1)if("been"===t[n].normal)return["there","has"];return["there","is"]};var Pt={contractions:t=>{const{world:e,document:n}=t,{model:r,methods:o}=e,i=r.one.contractions||[];n.forEach((r,s)=>{for(let a=r.length-1;a>=0;a-=1){let u=null,c=null;if(!0===ht.test(r[a].normal)){const t=r[a].normal.split(ht);u=t[0],c=t[1]}let l=gt(i,r[a],u,c);!l&&dt.hasOwnProperty(c)&&(l=dt[c](r,a,e)),!l&&mt.hasOwnProperty(u)&&(l=mt[u](r,a)),"there"===u&&"s"===c&&(l=bt(r,a)),l?(l=vt(l,t),U(n,[s,a],l),pt(n[s],t,a,l.length)):ft.test(r[a].normal)?(l=ut(r,a),l&&(l=vt(l,t),U(n,[s,a],l),o.one.setTag(l,"NumberRange",e),l[2]&&l[2].tags.has("Time")&&o.one.setTag([l[0]],"Time",e,null,"time-range"),pt(n[s],t,a,l.length))):(l=lt(r,a,e),l&&(l=vt(l,t),U(n,[s,a],l),o.one.setTag([l[1]],"Unit",e,null,"contraction-unit")))}})}};const yt={model:K,compute:Pt,hooks:["contractions"]},wt=function(t){const e=t.world,{model:n,methods:r}=t.world,o=r.one.setTag,{frozenLex:i}=n.one,s=n.one._multiCache||{};t.docs.forEach(t=>{for(let n=0;n<t.length;n+=1){const r=t[n],a=r.machine||r.normal;if(void 0!==s[a]&&t[n+1])for(let r=n+s[a]-1;r>n;r-=1){const s=t.slice(n,r+1),a=s.map(t=>t.machine||t.normal).join(" ");!0!==i.hasOwnProperty(a)||(o(s,i[a],e,!1,"1-frozen-multi-lexicon"),s.forEach(t=>t.frozen=!0))}void 0!==i[a]&&i.hasOwnProperty(a)&&(o([r],i[a],e,!1,"1-freeze-lexicon"),r.frozen=!0)}})},jt=t=>"[34m"+t+"[0m",Ct=t=>"[3m[2m"+t+"[0m",xt=function(t){t.docs.forEach(t=>{console.log(jt("\n ┌─────────")),t.forEach(t=>{let e=` ${Ct("│")} `;const n=t.implicit||t.text||"-";!0===t.frozen?e+=`${jt(n)} ❄️`:e+=Ct(n),console.log(e)})})};var Et={compute:{frozen:wt,freeze:wt,unfreeze:function(t){return t.docs.forEach(t=>{t.forEach(t=>{delete t.frozen})}),t}},mutate:t=>{const e=t.methods.one;e.termMethods.isFrozen=t=>!0===t.frozen,e.debug.freeze=xt,e.debug.frozen=xt},api:function(t){t.prototype.freeze=function(){return this.docs.forEach(t=>{t.forEach(t=>{t.frozen=!0})}),this},t.prototype.unfreeze=function(){this.compute("unfreeze")},t.prototype.isFrozen=function(){return this.match("@isFrozen+")}},hooks:["freeze"]};const Nt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,s=r.one._multiCache||{},{lexicon:a}=r.one||{},u=t[e],c=u.machine||u.normal;if(void 0!==s[c]&&t[e+1]){for(let r=e+s[c]-1;r>e;r-=1){const o=t.slice(e,r+1);if(o.length<=1)return!1;const s=o.map(t=>t.machine||t.normal).join(" ");if(!0===a.hasOwnProperty(s)){const t=a[s];return i(o,t,n,!1,"1-multi-lexicon"),!t||2!==t.length||"PhrasalVerb"!==t[0]&&"PhrasalVerb"!==t[1]||i([o[1]],"Particle",n,!1,"1-phrasal-particle"),!0}}return!1}return null},At=/^(under|over|mis|re|un|dis|semi|pre|post)-?/,Vt=new Set(["Verb","Infinitive","PastTense","Gerund","PresentTense","Adjective","Participle"]),Tt=function(t,e,n){const{model:r,methods:o}=n,i=o.one.setTag,{lexicon:s}=r.one,a=t[e],u=a.machine||a.normal;if(void 0!==s[u]&&s.hasOwnProperty(u))return i([a],s[u],n,!1,"1-lexicon"),!0;if(a.alias){const t=a.alias.find(t=>s.hasOwnProperty(t));if(t)return i([a],s[t],n,!1,"1-lexicon-alias"),!0}if(!0===At.test(u)){const t=u.replace(At,"");if(s.hasOwnProperty(t)&&t.length>3&&Vt.has(s[t]))return i([a],s[t],n,!1,"1-lexicon-prefix"),!0}return null};var Ot={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||Nt(t,n,e),r=r||Tt(t,n,e)}})}},kt={one:{expandLexicon:function(t){const e={},n={};return Object.keys(t).forEach(r=>{const o=t[r],i=(r=(r=r.toLowerCase().trim()).replace(/'s\b/,"")).split(/ /);i.length>1&&(void 0===n[i[0]]||i.length>n[i[0]])&&(n[i[0]]=i.length),e[r]=e[r]||o}),delete e[""],delete e.null,delete e[" "],{lex:e,_multi:n}}}},St={addWords:function(t,e=!1){const n=this.world(),{methods:r,model:o}=n;if(!t)return;if(Object.keys(t).forEach(e=>{"string"==typeof t[e]&&t[e].startsWith("#")&&(t[e]=t[e].replace(/^#/,""))}),!0===e){const{lex:e,_multi:i}=r.one.expandLexicon(t,n);return Object.assign(o.one._multiCache,i),void Object.assign(o.one.frozenLex,e)}if(r.two.expandLexicon){const{lex:e,_multi:i}=r.two.expandLexicon(t,n);Object.assign(o.one.lexicon,e),Object.assign(o.one._multiCache,i)}const{lex:i,_multi:s}=r.one.expandLexicon(t,n);Object.assign(o.one.lexicon,i),Object.assign(o.one._multiCache,s)}},Dt={model:{one:{lexicon:{},_multiCache:{},frozenLex:{}}},methods:kt,compute:Ot,lib:St,hooks:["lexicon"]};const _t=function(t,e){const n=[{}],r=[null],o=[0],i=[];let s=0;t.forEach(function(t){let o=0;const i=function(t,e){const{methods:n,model:r}=e,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++){const 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(const t in n[0])s=n[0][t],o[s]=0,i.push(s);for(;i.length;){const t=i.shift(),e=Object.keys(n[t]);for(let a=0;a<e.length;a+=1){const u=e[a],c=n[t][u];for(i.push(c),s=o[t];s>0&&!n[s].hasOwnProperty(u);)s=o[s];if(n.hasOwnProperty(s)){const t=n[s][u];o[c]=t,r[t]&&(r[c]=r[c]||[],r[c]=r[c].concat(r[t]))}else o[c]=0}}return{goNext:n,endAs:r,failTo:o}},$t=function(t,e,n){let r=0;const o=[];for(let i=0;i<t.length;i++){const 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])){const n=e.endAs[r];for(let e=0;e<n.length;e++){const r=n[e],s=t[i-r+1],[a,u]=s.index;o.push([a,u,u+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},zt=(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},Gt={buildTrie:function(t){return function(t){return t.goNext=t.goNext.map(t=>{if(0!==Object.keys(t).length)return t}),t.goNext=zt(t.goNext,void 0),t.failTo=zt(t.failTo,0),t.endAs=zt(t.endAs,null),t}(_t(t,this.world()))}};Gt.compile=Gt.buildTrie;var Lt={api:function(t){t.prototype.lookup=function(t,e={}){if(!t)return this.none();var n;"string"==typeof t&&(t=[t]);let r=function(t,e,n){let r=[];n.form=n.form||"normal";const o=t.docs;if(!e.goNext||!e.goNext[0])return console.error("Compromise invalid lookup trie"),t.none();const 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;const a=o[s],u=$t(a,e,n);u.length>0&&(r=r.concat(u))}return t.update(r)}(this,(n=t,"[object Object]"===Object.prototype.toString.call(n)?t:_t(t,this.world)),e);return r=r.settle(),r}},lib:Gt};const It=function(t,e){return e?(t.forEach(t=>{const n=t[0];e[n]&&(t[0]=e[n][0],t[1]+=e[n][1],t[2]+=e[n][1])}),t):t},Mt=function(t,e){let{ptrs:n}=t;const{byGroup:r}=t;return n=It(n,e),Object.keys(r).forEach(t=>{r[t]=It(r[t],e)}),{ptrs:n,byGroup:r}},Wt=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},Bt=t=>"[object Object]"===Object.prototype.toString.call(t),Ht=t=>t&&Bt(t)&&!0===t.isView,Qt=t=>t&&Bt(t)&&!0===t.isNet;var Rt={matchOne:function(t,e,n){const r=this.methods.one;if(Ht(t))return this.intersection(t).eq(0);if(Qt(t))return this.sweep(t,{tagger:!1,matchOne:!0}).view;const o={regs:t=Wt(t,n,this.world),group:e,justOne:!0},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:a}=Mt(i,this.fullPointer),u=this.toView(s);return u._groups=a,u},match:function(t,e,n){const r=this.methods.one;if(Ht(t))return this.intersection(t);if(Qt(t))return this.sweep(t,{tagger:!1}).view.settle();const o={regs:t=Wt(t,n,this.world),group:e},i=r.match(this.docs,o,this._cache),{ptrs:s,byGroup:a}=Mt(i,this.fullPointer),u=this.toView(s);return u._groups=a,u},has:function(t,e,n){const r=this.methods.one;if(Ht(t))return this.intersection(t).fullPointer.length>0;if(Qt(t))return this.sweep(t,{tagger:!1}).view.found;const o={regs:t=Wt(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(Ht(t))return this.filter(e=>e.intersection(t).found);if(Qt(t)){const e=this.sweep(t,{tagger:!1}).view.settle();return this.if(e)}const o={regs:t=Wt(t,n,this.world),group:e,justOne:!0};let i=this.fullPointer;const s=this._cache||[];i=i.filter((t,e)=>{const n=this.update([t]);return r.match(n.docs,o,s[e]).ptrs.length>0});const a=this.update(i);return this._cache&&(a._cache=i.map(t=>s[t[0]])),a},ifNo:function(t,e,n){const{methods:r}=this,o=r.one;if(Ht(t))return this.filter(e=>!e.intersection(t).found);if(Qt(t)){const e=this.sweep(t,{tagger:!1}).view.settle();return this.ifNo(e)}t=Wt(t,n,this.world);const i=this._cache||[],s=this.filter((n,r)=>{const 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}},Kt={before:function(t,e,n){const{indexN:r}=this.methods.one.pointer,o=[],i=r(this.fullPointer);Object.keys(i).forEach(t=>{const e=i[t].sort((t,e)=>t[1]>e[1]?1:-1)[0];e[1]>0&&o.push([e[0],0,e[1]])});const s=this.toView(o);return t?s.match(t,e,n):s},after:function(t,e,n){const{indexN:r}=this.methods.one.pointer,o=[],i=r(this.fullPointer),s=this.document;Object.keys(i).forEach(t=>{const 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])});const a=this.toView(o);return t?a.match(t,e,n):a},growLeft:function(t,e,n){"string"==typeof t&&(t=this.world.methods.one.parseMatch(t,n,this.world)),t[t.length-1].end=!0;const r=this.fullPointer;return this.forEach((n,o)=>{const i=n.before(t,e);if(i.found){const 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;const r=this.fullPointer;return this.forEach((n,o)=>{const i=n.after(t,e);if(i.found){const 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 Ut=function(t,e){return[t[0],t[1],e[2]]},qt=(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},Zt=function(t,e){const[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},Yt={splitOn:function(t,e){const{splitAll:n}=this.methods.one.pointer,r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r);let 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=>Zt(t,this)),this.update(i)},splitBefore:function(t,e){const{splitAll:n}=this.methods.one.pointer,r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r);for(let t=0;t<o.length;t+=1)!o[t].after&&o[t+1]&&o[t+1].before&&o[t].match&&o[t].match[0]===o[t+1].before[0]&&(o[t].after=o[t+1].before,delete o[t+1].before);let i=[];return o.forEach(t=>{i.push(t.passthrough),i.push(t.before),t.match&&t.after?i.push(Ut(t.match,t.after)):i.push(t.match)}),i=i.filter(t=>t),i=i.map(t=>Zt(t,this)),this.update(i)},splitAfter:function(t,e){const{splitAll:n}=this.methods.one.pointer,r=qt(t,this,e).fullPointer,o=n(this.fullPointer,r);let i=[];return o.forEach(t=>{i.push(t.passthrough),t.before&&t.match?i.push(Ut(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=>Zt(t,this)),this.update(i)}};Yt.split=Yt.splitAfter;const Jt=function(t,e){return!(!t||!e)&&t[0]===e[0]&&t[2]===e[1]},Xt=function(t,e,n){const r=t.world,o=r.methods.one.parseMatch;n=n||"^.";const i=o(e=e||".$",{},r),s=o(n,{},r);i[i.length-1].end=!0,s[0].start=!0;const a=t.fullPointer,u=[a[0]];for(let e=1;e<a.length;e+=1){const n=u[u.length-1],r=a[e],o=t.update([n]),c=t.update([r]);Jt(n,r)&&o.has(i)&&c.has(s)?u[u.length-1]=[n[0],n[1],r[2],n[3],r[4]]:u.push(r)}return t.update(u)},te={joinIf:function(t,e){return Xt(this,t,e)},join:function(){return Xt(this)}},ee=Object.assign({},Rt,Kt,Yt,te);ee.lookBehind=ee.before,ee.lookBefore=ee.before,ee.lookAhead=ee.after,ee.lookAfter=ee.after,ee.notIf=ee.ifNo;const ne=/(?:^|\s)([![^]*(?:<[^<]*>)?\/.*?[^\\/]\/[?\]+*$~]*)(?:\s|$)/,re=/([!~[^]*(?:<[^<]*>)?\([^)]+[^\\)]\)[?\]+*$~]*)(?:\s|$)/,oe=/ /g,ie=t=>/^[![^]*(<[^<]*>)?\//.test(t)&&/\/[?\]+*$~]*$/.test(t),se=function(t){return t=(t=t.map(t=>t.trim())).filter(t=>t)},ae=/\{([0-9]+)?(, *[0-9]*)?\}/,ue=/&&/,ce=new RegExp(/^<\s*(\S+)\s*>/),le=t=>t.charAt(0).toUpperCase()+t.substring(1),he=t=>t.charAt(t.length-1),fe=t=>t.charAt(0),pe=t=>t.substring(1),de=t=>t.substring(0,t.length-1),me=function(t){return t=pe(t),t=de(t)},ge=function(t,e){const n={};for(let r=0;r<2;r+=1){if("$"===he(t)&&(n.end=!0,t=de(t)),"^"===fe(t)&&(n.start=!0,t=pe(t)),"?"===he(t)&&(n.optional=!0,t=de(t)),("["===fe(t)||"]"===he(t))&&(n.group=null,"["===fe(t)&&(n.groupStart=!0),"]"===he(t)&&(n.groupEnd=!0),t=(t=t.replace(/^\[/,"")).replace(/\]$/,""),"<"===fe(t))){const e=ce.exec(t);e.length>=2&&(n.group=e[1],t=t.replace(e[0],""))}if("+"===he(t)&&(n.greedy=!0,t=de(t)),"*"!==t&&"*"===he(t)&&"\\*"!==t&&(n.greedy=!0,t=de(t)),"!"===fe(t)&&(n.negative=!0,t=pe(t)),"~"===fe(t)&&"~"===he(t)&&t.length>2&&(t=me(t),n.fuzzy=!0,n.min=e.fuzzy||.85,!1===/\(/.test(t)))return n.word=t,n;if("/"===fe(t)&&"/"===he(t))return t=me(t),e.caseSensitive&&(n.use="text"),n.regex=new RegExp(t),n;if(!0===ae.test(t)&&(t=t.replace(ae,(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),""))),"("===fe(t)&&")"===he(t)){ue.test(t)?(n.choices=t.split(ue),n.operator="and"):(n.choices=t.split("|"),n.operator="or"),n.choices[0]=pe(n.choices[0]);const r=n.choices.length-1;n.choices[r]=de(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=>ge(t,e))),t=""}if("{"===fe(t)&&"}"===he(t)){if(t=me(t),n.root=t,/\//.test(t)){const 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("<"===fe(t)&&">"===he(t))return t=me(t),n.chunk=le(t),n.greedy=!0,n;if("%"===fe(t)&&"%"===he(t))return t=me(t),n.switch=t,n}return"#"===fe(t)?(n.tag=pe(t),n.tag=le(n.tag),n):"@"===fe(t)?(n.method=pe(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)},ve=/[a-z0-9][-–—][a-z]/i,be=function(t,e){const{all:n}=e.methods.two.transform.verb||{},r=t.root;return n?n(r,e.model):[]},Pe=function(t,e){const{all:n}=e.methods.two.transform.noun||{};return n?n(t.root,e.model):[t.root]},ye=function(t,e){const{all:n}=e.methods.two.transform.adjective||{};return n?n(t.root,e.model):[t.root]},we=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;const 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},je=function(t,e){for(const n of e)if(t.has(n))return!0;return!1},Ce=function(t,e){for(let n=0;n<t.length;n+=1){const 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(void 0!==r.fastOr&&!1===je(r.fastOr,e))return!0}}return!1},xe=function(t,e,n=3){if(t===e)return 1;if(t.length<n||e.length<n)return 0;const r=function(t,e){const n=t.length,r=e.length;if(0===n)return r;if(0===r)return n;const o=(r>n?r:n)+1;if(Math.abs(n-r)>(o||100))return o||100;const i=[];for(let t=0;t<o;t++)i[t]=[t],i[t].length=o;for(let t=0;t<o;t++)i[0][t]=t;let s,a,u,c,l,h;for(let o=1;o<=n;++o)for(a=t[o-1],s=1;s<=r;++s){if(o===s&&i[o][s]>4)return n;u=e[s-1],c=a===u?0:1,l=i[o-1][s]+1,(h=i[o][s-1]+1)<l&&(l=h),(h=i[o-1][s-1]+c)<l&&(l=h);const r=o>1&&s>1&&a===e[s-2]&&t[o-2]===u&&(h=i[o-2][s-2]+c)<l;i[o][s]=r?h:l}return i[n][r]}(t,e),o=Math.max(t.length,e.length);return 1-(0===o?0:r/o)},Ee=/([\u0022\uFF02\u0027\u201C\u2018\u201F\u201B\u201E\u2E42\u201A\u00AB\u2039\u2035\u2036\u2037\u301D\u0060\u301F])/,Ne=/([\u0022\uFF02\u0027\u201D\u2019\u00BB\u203A\u2032\u2033\u2034\u301E\u00B4])/,Ae=/^[-–—]$/,Ve=/ [-–—]{1,3} /,Te=(t,e)=>-1!==t.post.indexOf(e),Oe={hasQuote:t=>Ee.test(t.pre)||Ne.test(t.post),hasComma:t=>Te(t,","),hasPeriod:t=>!0===Te(t,".")&&!1===Te(t,"..."),hasExclamation:t=>Te(t,"!"),hasQuestionMark:t=>Te(t,"?")||Te(t,"¿"),hasEllipses:t=>Te(t,"..")||Te(t,"…"),hasSemicolon:t=>Te(t,";"),hasColon:t=>Te(t,":"),hasSlash:t=>/\//.test(t.text),hasHyphen:t=>Ae.test(t.post)||Ae.test(t.pre),hasDash:t=>Ve.test(t.post)||Ve.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)};Oe.hasQuotation=Oe.hasQuote;let ke=function(){};ke=function(t,e,n,r){const 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(!0===e.fuzzy){if(e.word===t.root)return!0;if(xe(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 Oe[e.method]&&!0===Oe[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;const 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=>ke(t,e,n,r)):e.choices.some(e=>ke(t,e,n,r)))}(t,e,n,r);return!0===e.negative?!o:o};const Se=function(t,e){if(!0===t.end&&!0===t.greedy&&e.start_i+e.t<e.phrase_length-1){const n=Object.assign({},t,{end:!1});if(!0===ke(e.terms[e.t],n,e.start_i+e.t,e.phrase_length))return!0}return!1},De=function(t,e){return t.groups[t.inGroup]||(t.groups[t.inGroup]={start:e,length:0}),t.groups[t.inGroup]},_e=function(t){const{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===ke(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&&(De(t,t.t).length+=r-t.t),t.t=r,!0)},$e=function(t){return"[object Array]"===Object.prototype.toString.call(t)},Fe=function(t,e,n){let r=0;for(let o=0;o<e.length;o+=1){const i=e[o],s=t.t+n+r;if(void 0===t.terms[s])return 0;if(!0!==ke(t.terms[s],i,t.start_i+s,t.phrase_length))return 0;if(r+=1,!0===i.greedy){const e=Object.assign({},i,{start:!1,end:!1});for(let n=s+1;n<t.terms.length&&!0===ke(t.terms[n],e,t.start_i+n,t.phrase_length);n+=1)r+=1}}return r},ze=function(t,e){const n=t.regs[t.r];for(let r=0;r<n.choices.length;r+=1){const o=n.choices[r];if(!$e(o))return 0;const i=Fe(t,o,e);if(i>0)return i}return 0},Ge=function(t){const{regs:e}=t,n=e[t.r],r=function(t){const e=t.regs[t.r];let n=ze(t,0);if(0===n)return 0;if(!0===e.greedy){let e=ze(t,n);for(;e>0;)n+=e,e=ze(t,n)}return n}(t);if(r){if(!0===n.negative)return null;if(!0===t.hasGroup&&(De(t,t.t).length+=r),!0===n.end){const e=t.phrase_length;if(t.t+t.start_i+r!==e)return null}return t.t+=r,!0}return!0===n.negative?(n.optional||(t.t+=1),!0):!!n.optional||null},Le=function(t){const{regs:e}=t,n=e[t.r],r=function(t){let e=0;return!0===t.regs[t.r].choices.every(n=>{const r=n.every((e,n)=>{const r=t.t+n;return void 0!==t.terms[r]&&ke(t.terms[r],e,t.start_i+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&&(De(t,t.t).length+=r),!0===n.end){const e=t.phrase_length;if(t.t+t.start_i+r!==e)return null}return t.t+=r,!0}return!0===n.negative?(n.optional||(t.t+=1),!0):!!n.optional||null},Ie=function(t){const{regs:e}=t,n=e[t.r],r=Object.assign({},n);if(r.negative=!1,ke(t.terms[t.t],r,t.start_i+t.t,t.phrase_length))return!1;if(n.optional){const n=e[t.r+1];n&&(ke(t.terms[t.t],n,t.start_i+t.t,t.phrase_length)?t.r+=1:n.optional&&e[t.r+2]&&ke(t.terms[t.t],e[t.r+2],t.start_i+t.t,t.phrase_length)&&(t.r+=2))}return n.greedy?function(t,e,n){let r=0;for(let o=t.t;o<t.terms.length;o+=1){let i=ke(t.terms[o],e,t.start_i+o,t.phrase_length);if(i)break;if(n&&(i=ke(t.terms[o],n,t.start_i+o,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))}(t,r,e[t.r+1]):(t.t+=1,!0)},Me=function(t){const{regs:e,phrase_length:n}=t,r=e[t.r];return t.t=function(t,e){const n=Object.assign({},t.regs[t.r],{start:!1,end:!1}),r=t.t;for(;t.t<t.terms.length;t.t+=1){const o=t.t-r+1;if(e&&ke(t.terms[t.t],e,t.start_i+t.t,t.phrase_length)&&(void 0===n.min||o>=n.min))return t.t;if(void 0!==n.max&&o===n.max)return t.t;if(!1===ke(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 void 0!==n.min&&t.t-r+1<n.min?null:t.t}(t,e[t.r+1]),null===t.t?null:!0!==r.end||t.start_i+t.t===n||null},We=function(t){const{regs:e}=t,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]&&function(t){const{regs:e}=t,n=e[t.r],r=t.terms[t.t],o=ke(r,e[t.r+1],t.start_i+t.t,t.phrase_length);if(n.negative||o){const n=t.terms[t.t+1];n&&ke(n,e[t.r+1],t.start_i+t.t+1,t.phrase_length)||(t.r+=1)}}(t),r.implicit&&t.terms[t.t+1]&&function(t){const 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)}}(t),t.t+=1,!0===n.end&&t.t!==t.terms.length&&!0!==n.greedy?null:!0!==n.greedy||Me(t)?(!0===t.hasGroup&&function(t,e){const n=t.regs[t.r],r=De(t,e);t.t>1&&n.greedy?r.length+=t.t-e:r.length++}(t,o),!0):null)},Be=function(t,e,n,r){if(0===t.length||0===e.length)return null;const 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){const 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!==Se(t,o)){if(t.negative){if(!Ie(o))return null}else if(!0!==ke(o.terms[o.t],t,o.start_i+o.t,o.phrase_length)){if(!0!==t.optional)return null}else if(!We(o))return null}else if(!We(o))return null}else{if(t.negative&&t.anything)return null;if(!We(o))return null}else if(!Le(o))return null}else if(!Ge(o))return null}else if(!_e(o))return null}const i=[null,n,o.t+n];if(i[1]===i[2])return null;const s={};return Object.keys(o.groups).forEach(t=>{const e=o.groups[t],r=n+e.start;s[t]=[null,r,r+e.length]}),{pointer:i,groups:s}},He=function(t,e){return t.pointer[0]=e,Object.keys(t.groups).forEach(n=>{t.groups[n][0]=e}),t},Qe=function(t,e,n){let r=Be(t,e,0,t.length);return r?(r=He(r,n),r):null},Re={one:{termMethods:Oe,parseMatch:function(t,e,n){if(null==t||""===t)return[];e=e||{},"number"==typeof t&&(t=String(t));let r=function(t){const e=t.split(ne);let n=[];e.forEach(t=>{ie(t)?n.push(t):n=n.concat(t.split(re))}),n=se(n);let r=[];return n.forEach(t=>{(t=>/^[![^]*(<[^<]*>)?\(/.test(t)&&/\)[?\]+*$~]*$/.test(t))(t)||ie(t)?r.push(t):r=r.concat(t.split(oe))}),r=se(r),r}(t);return r=r.map(t=>ge(t,e)),r=function(t,e){const n=e.model.one.prefixes;for(let e=t.length-1;e>=0;e-=1){const r=t[e];if(r.word&&ve.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=>{const o=Object.assign({},r);o.word=n,t.splice(e,0,o)})}}return t}(r,n),r=function(t,e){return t.map(t=>{if(t.root)if(e.methods.two&&e.methods.two.transform){let n=[];t.pos?"Verb"===t.pos?n=n.concat(be(t,e)):"Noun"===t.pos?n=n.concat(Pe(t,e)):"Adjective"===t.pos&&(n=n.concat(ye(t,e))):(n=n.concat(be(t,e)),n=n.concat(Pe(t,e)),n=n.concat(ye(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})}(r,n),r=we(r),r},match:function(t,e,n){n=n||[];const{regs:r,group:o,justOne:i}=e;let s=[];if(!r||0===r.length)return{ptrs:[],byGroup:{}};const a=r.filter(t=>!0!==t.optional&&!0!==t.negative).length;t:for(let e=0;e<t.length;e+=1){const o=t[e];if(!n[e]||!Ce(r,n[e])){if(!0===r[0].start){const t=Qe(o,r,e);t&&s.push(t);continue}for(let t=0;t<o.length;t+=1){const n=o.slice(t);if(n.length<a)break;let u=Be(n,r,t,o.length);if(u){if(u=He(u,e),s.push(u),!0===i)break t;const n=u.pointer[2];Math.abs(n-1)>t&&(t=Math.abs(n-1))}}}}return!0===r[r.length-1].end&&(s=s.filter(e=>{const n=e.pointer[0];return t[n].length===e.pointer[2]})),e.notIf&&(s=function(t,e,n){return t=t.filter(t=>{const[r,o,i]=t.pointer,s=n[r].slice(o,i);for(let t=0;t<s.length;t+=1){const n=s.slice(t);if(null!==Be(n,e,t,s.length))return!1}return!0}),t}(s,e.notIf,t)),s=function(t,e){const 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}}(s,o),s.ptrs.forEach(e=>{const[n,r,o]=e;e[3]=t[n][r].id,e[4]=t[n][o-1].id}),s}}};var Ke={api:function(t){Object.assign(t.prototype,ee)},methods:Re,lib:{parseMatch:function(t,e){const n=this.world(),r=n.methods.one.killUnicode;return r&&(t=r(t,n)),n.methods.one.parseMatch(t,e,n)}}};const Ue=/^\../,qe=/^#./,Ze=function(t,e){const n={},r={};return Object.keys(e).forEach(o=>{let i=e[o];const s=function(t){let e="",n="</span>";return t=t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),Ue.test(t)?e=`<span class="${t.replace(/^\./,"")}"`:qe.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;const e=t[0].id;n[e]=n[e]||[],n[e].push(s.start);const o=t[t.length-1].id;r[o]=r[o]||[],r[o].push(s.end)})}),{starts:n,ends:r}};var Ye={html:function(t){const{starts:e,ends:n}=Ze(this,t);let r="";return this.docs.forEach(t=>{for(let o=0;o<t.length;o+=1){const i=t[o];e.hasOwnProperty(i.id)&&(r+=e[i.id].join("")),r+=i.pre||"",r+=i.text||"",n.hasOwnProperty(i.id)&&(r+=n[i.id].join("")),r+=i.post||""}}),r}};const Je=/[,:;)\]*.?~!\u0022\uFF02\u201D\u2019\u00BB\u203A\u2032\u2033\u2034\u301E\u00B4—-]+$/,Xe=/^[(['"*~\uFF02\u201C\u2018\u201F\u201B\u201E\u2E42\u201A\u00AB\u2039\u2035\u2036\u2037\u301D\u0060\u301F]+/,tn=/[,:;)('"\u201D\]]/,en=/^[-–—]$/,nn=/ /,rn=function(t,e,n=!0){let r="";return t.forEach(t=>{let n=t.pre||"",o=t.post||"";"some"===e.punctuation&&(n=n.replace(Xe,""),en.test(o)&&(o=" "),o=o.replace(tn,""),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(Xe,""),o="-"===o?" ":o.replace(Je,""));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&&nn.test(o)||(o+=" "),r+=n+i+o}),!1===n&&(r=r.trim()),!0===e.lowerCase&&(r=r.toLowerCase()),r},on={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"}};on.clean=on.normal,on.reduced=on.root;const sn=[];let an=0;for(;an<64;)sn[an]=0|4294967296*Math.sin(++an%Math.PI);const un=function(t){let e,n,r,o=decodeURI(encodeURI(t))+"",i=o.length;const s=[e=1732584193,n=4023233417,~e,~n],a=[];for(t=--i/4+2|15,a[--t]=8*i;~i;)a[i>>2]|=o.charCodeAt(i)<<8*i--;for(an=o=0;an<t;an+=16){for(i=s;o<64;i=[r=i[3],e+((r=i[0]+[e&n|~e&r,r&e|~r&n,e^n^r,n^(e|~r)][i=o>>4]+sn[o]+~~a[an|15&[o,5*o+1,3*o+5,7*o][i]])<<(i=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*i+o++%4])|r>>>-i),e,n])e=0|i[1],n=i[2];for(o=4;o;)s[--o]+=i[o]}for(t="";o<32;)t+=(s[o>>3]>>4*(1^o++)&15).toString(16);return t},cn={text:!0,terms:!0},ln={case:"none",unicode:"some",form:"machine",punctuation:"some"},hn=function(t,e){return Object.assign({},t,e)},fn={text:t=>rn(t,{keepPunct:!0},!1),normal:t=>rn(t,hn(on.normal,{keepPunct:!0}),!1),implicit:t=>rn(t,hn(on.implicit,{keepPunct:!0}),!1),machine:t=>rn(t,ln,!1),root:t=>rn(t,hn(ln,{form:"root"}),!1),hash:t=>un(rn(t,{keepPunct:!0},!1)),offset:t=>{const e=fn.text(t).length;return{index:t[0].offset.index,start:t[0].offset.start,length:e}},terms:t=>t.map(t=>{const 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)};fn.sentences=fn.sentence,fn.clean=fn.normal,fn.reduced=fn.root;const pn={json:function(t){const e=(n=this,"string"==typeof(r=(r=t)||{})&&(r={}),(r=Object.assign({},cn,r)).offset&&n.compute("offset"),n.docs.map((t,e)=>{const o={};return Object.keys(r).forEach(i=>{r[i]&&fn[i]&&(o[i]=fn[i](t,n,e))}),o}));var n,r;return"number"==typeof t?e[t]:e}};pn.data=pn.json;const dn=function(t){const e=t.pre||"",n=t.post||"";return e+t.text+n},mn=function(t,e){const n=function(t,e){const 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);let r="";return t.docs.forEach((e,o)=>{for(let i=0;i<e.length;i+=1){const s=e[i];if(n.hasOwnProperty(s.id)){const{fn:a,end:u}=n[s.id],c=t.update([[o,i,u]]);r+=e[i].pre||"",r+=a(c),i=u-1,r+=e[i].post||""}else r+=dn(s)}}),r},gn=new Set(["Hyphenated","Prefix","SlashedTerm"]),vn=function(t,e){const n=e[t];if(!n||!n.parents||0===n.parents.length)return t;for(let t=0;t<n.parents.length;t+=1){const r=n.parents[t];if(e[r]&&(!e[r].parents||0===e[r].parents.length))return r}return n.parents[n.parents.length-1]},bn=function(t,e){const n=e.model.one.tagSet,r=function(t){const e={};for(const n in t){const r=t[n];r.alias&&(e[n]=r.alias)}return e}(n);return t.docs.map(t=>{const e=t.reduce((t,e)=>t+e.pre+e.text+e.post,"").trim(),o=t.map(t=>{let e=function(t,e){const n=Array.from(t.tags||[]);if(0===n.length)return"-";const r=n.find(t=>!gn.has(vn(t,e)))||n[0];return vn(r,e)}(t,n);return r[e]||e}).join(",");return`${e} {${o}}`}).join("\n")},Pn={debug:function(t){const e=this.methods.one.debug||{};return t&&e.hasOwnProperty(t)?(e[t](this),this):"undefined"!=typeof window&&window.document?(e.clientSide(this),this):(e.tags(this),this)},out:function(t){if(e=t,"[object Object]"===Object.prototype.toString.call(e))return mn(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 un(this.text());if("spec"===t)return bn(this,this.world);if("json"===t)return this.json();if("offset"===t||"offsets"===t)return this.compute("offset"),this.json({offset:!0});if("array"===t){const 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){const e={};t.forEach(t=>{e[t]=e[t]||0,e[t]+=1});const 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.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 mn(this,t)}};var yn={text:function(t){let e={};var n;if(t&&"string"==typeof t&&on.hasOwnProperty(t)?e=Object.assign({},on[t]):t&&(n=t,"[object Object]"===Object.prototype.toString.call(n))&&(e=Object.assign({},t)),void 0!==e.keepSpace||this.isFull()||(e.keepSpace=!1),void 0===e.keepEndPunct&&this.pointer){const t=this.pointer[0];t&&t[1]?e.keepEndPunct=!1:e.keepEndPunct=!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+=rn(t[r],e,!0);if(e.keepSpace||(n=n.trim()),!1===e.keepEndPunct){t[0][0].tags.has("Emoticon")||(n=n.replace(Xe,""));const e=t[t.length-1];e[e.length-1].tags.has("Emoticon")||(n=n.replace(Je,"")),n.endsWith("'")&&!n.endsWith("s'")&&(n=n.replace(/'/,""))}return!0===e.cleanWhitespace&&(n=n.trim()),n}(this.docs,e)}};const wn=Object.assign({},Pn,yn,pn,Ye),jn="[0m",Cn={green:t=>"[32m"+t+jn,red:t=>"[31m"+t+jn,blue:t=>"[34m"+t+jn,magenta:t=>"[35m"+t+jn,cyan:t=>"[36m"+t+jn,yellow:t=>"[33m"+t+jn,black:t=>"[30m"+t+jn,dim:t=>"[2m"+t+jn,i:t=>"[3m"+t+jn},xn={tags:function(t){const{docs:e,model:n}=t;0===e.length&&console.log(Cn.blue("\n ──────")),e.forEach(e=>{console.log(Cn.blue("\n ┌─────────")),e.forEach(e=>{const r=[...e.tags||[]];let o=e.text||"-";e.sense&&(o=`{${e.normal}/${e.sense}}`),e.implicit&&(o="["+e.implicit+"]"),o=Cn.yellow(o);let i="'"+o+"'";if(e.reference){const n=t.update([e.reference]).text("normal");i+=` - ${Cn.dim(Cn.i("["+n+"]"))}`}i=i.padEnd(18);const s=Cn.blue(" │ ")+Cn.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 Cn[n](t)})),t.join(", ")}(r,n);console.log(s)})}),console.log("\n")},clientSide:function(t){console.log("%c -=-=- ","background-color:#6699cc;"),t.forEach(t=>{console.groupCollapsed(t.text());const 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()})},chunks:function(t){const{docs:e}=t;console.log(""),e.forEach(t=>{const e=[];t.forEach(t=>{"Noun"===t.chunk?e.push(Cn.blue(t.implicit||t.normal)):"Verb"===t.chunk?e.push(Cn.green(t.implicit||t.normal)):"Adjective"===t.chunk?e.push(Cn.yellow(t.implicit||t.normal)):"Pivot"===t.chunk?e.push(Cn.red(t.implicit||t.normal)):e.push(t.implicit||t.normal)}),console.log(e.join(" "),"\n")}),console.log("\n")},highlight:function(t){if(!t.found)return;const 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){const r=((t,e,n)=>{const 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]}${Cn.blue(r[1])}${r[2]}`}(r,t.offset,e)}),console.log(r)}),console.log("\n")}},En=/\{(?=[^{]*$)/,Nn=/\}[ \t]*#.*$/,An=function(t=""){let[e,n]=t.split(En);if(void 0===n)return{text:e,tags:[]};n=n.replace(Nn,"}"),n=n.split(",").map(t=>t.trim());let r=n[n.length-1];return n[n.length-1]=r.replace(/\}$/,""),n=n.map(t=>t.split("|").map(t=>t.trim())),n=n.filter(t=>t.some(t=>""!==t)),{text:e,tags:n}},Vn=function(t){return t.map(t=>t.join("|")).join(",")};var Tn={lib:{fromSpec:function(t){return this(t.split("\n").filter(t=>t.trim()).map(t=>An(t).text).join("\n"))},testSpec:function(t,e=!0,n=!1){let r=this.world(),o={},i=r.model.one.tagSet;Object.keys(i).forEach(t=>{i[t].alias&&(o[i[t].alias]=t)});let s=t.split("\n").filter(t=>t.trim()).map(t=>{let{text:r,tags:i}=An(t),s=this(r),a=function(t,e){return t.map(t=>(t=t.map(t=>"#"+(e[t]||t))).length>1?`(${t.join(" && ")})`:t[0]).join(" ")}(i,o),u=s.has(a);if(!1!==e){let t=u?"✅":"❌";console.log(`${t} ${r} {${Vn(i)}}`)}if(!1===u&&!0===n)throw new Error(`❌ ${r} {${Vn(i)}}`);return u?null:r}).filter(Boolean).join("\n");return this(s)}},api:function(t){Object.assign(t.prototype,wn)},methods:{one:{hash:un,debug:xn}}};const On=function(t,e){if(t[0]!==e[0])return!1;const[,n,r]=t,[,o,i]=e;return n<=o&&r>o||o<=n&&i>n},kn=function(t){const e={};return t.forEach(t=>{e[t[0]]=e[t[0]]||[],e[t[0]].push(t)}),e},Sn=function(t,e){const n=kn(e),r=[];return t.forEach(t=>{const[e]=t;let 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)=>{const n=function(t,e){const[n,r]=t,o=e[1],i=e[2],s={};if(r<o){const 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};var Dn={one:{termList:function(t){const 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:function(t,e){let n=[];return t.forEach((r,o)=>{if(!r)return;let[i,s,a,u,c]=r,l=e[i]||[];if(void 0===s&&(s=0),void 0===a&&(a=l.length),!u||l[s]&&l[s].id===u)l=l.slice(s,a);else{const n=function(t,e,n){for(let r=0;r<20;r+=1){if(e[n-r]){const o=e[n-r].findIndex(e=>e.id===t);if(-1!==o)return[n-r,o]}if(e[n+r]){const o=e[n+r].findIndex(e=>e.id===t);if(-1!==o)return[n+r,o]}}return null}(u,e,i);if(null!==n){const r=a-s;l=e[n[0]].slice(n[1],n[1]+r);const i=l[0]?l[0].id:null;t[o]=[n[0],n[1],n[1]+r,i]}}0!==l.length&&s!==a&&(c&&l[l.length-1].id!==c&&(l=function(t,e){const[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(l))}),n=n.filter(t=>t.length>0),n},pointer:{indexN:kn,splitAll:Sn}}};const _n=function(t,e){const n=t.concat(e),r=kn(n);let o=[];return n.forEach(t=>{const[e]=t;if(1===r[e].length)return void o.push(t);const n=r[e].filter(e=>On(t,e));n.push(t);const 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){const e={};for(let n=0;n<t.length;n+=1)e[t[n].join(",")]=t[n];return Object.values(e)}(o),o},$n=function(t,e){const n=[];return Sn(t,e).forEach(t=>{t.passthrough&&n.push(t.passthrough),t.before&&n.push(t.before),t.after&&n.push(t.after)}),n},Fn=(t,e)=>{return"string"==typeof t||(n=t,"[object Array]"===Object.prototype.toString.call(n))?e.match(t):t||e.none();var n},zn=function(t,e){return t.map(t=>{const[n,r]=t;return e[n]&&e[n][r]&&(t[3]=e[n][r].id),t})},Gn={union:function(t){t=Fn(t,this);let e=_n(this.fullPointer,t.fullPointer);return e=zn(e,this.document),this.toView(e)}};Gn.and=Gn.union,Gn.intersection=function(t){t=Fn(t,this);let e=function(t,e){const n=kn(e),r=[];return t.forEach(t=>{let e=n[t[0]]||[];e=e.filter(e=>On(t,e)),0!==e.length&&e.forEach(e=>{const n=function(t,e){const 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}(this.fullPointer,t.fullPointer);return e=zn(e,this.document),this.toView(e)},Gn.not=function(t){t=Fn(t,this);let e=$n(this.fullPointer,t.fullPointer);return e=zn(e,this.document),this.toView(e)},Gn.difference=Gn.not,Gn.complement=function(){const t=this.all();let e=$n(t.fullPointer,this.fullPointer);return e=zn(e,this.document),this.toView(e)},Gn.settle=function(){let t=this.fullPointer;return t.forEach(e=>{t=_n(t,[e])}),t=zn(t,this.document),this.update(t)};var Ln={methods:Dn,api:function(t){Object.assign(t.prototype,Gn)}};const In=function(t){return!0===t.optional||!0===t.negative?null:t.tag?"#"+t.tag:t.word?t.word:t.switch?`%${t.switch}%`:null},Mn=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){const e=[];return t.forEach(t=>{e.push(In(t)),"and"===t.operator&&t.choices&&t.choices.forEach(t=>{t.forEach(t=>{e.push(In(t))})})}),e.filter(t=>t)}(t.regs);const{wants:r,count:o}=function(t){const e=[];let 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=>{const n=In(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};var Wn={buildNet:function(t,e){t=Mn(t,e);const n={};t.forEach(t=>{t.needs.forEach(e=>{n[e]=Array.isArray(n[e])?n[e]:[],n[e].push(t)}),t.wants.forEach(e=>{n[e]=Array.isArray(n[e])?n[e]:[],n[e].push(t)})}),Object.keys(n).forEach(t=>{const e={};n[t]=n[t].filter(t=>"boolean"!=typeof e[t.match]&&(e[t.match]=!0,!0))});const r=t.filter(t=>0===t.needs.length&&0===t.wants.length);return{hooks:n,always:r}},bulkMatch:function(t,e,n,r={}){const o=n.one.cacheDoc(t);let i=function(t,e){return t.map((n,r)=>{let o=[];Object.keys(e).forEach(n=>{t[r].has(n)&&(o=o.concat(e[n]))});const i={};return o=o.filter(t=>"boolean"!=typeof i[t.match]&&(i[t.match]=!0,!0)),o})}(o,e.hooks);i=function(t,e){return t.map((t,n)=>{const r=e[n];return(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)})}(i,o),e.always.length>0&&(i=i.map(t=>t.concat(e.always))),i=function(t,e){return t.map((t,n)=>{const r=e[n].length;return t=t.filter(t=>r>=t.minWords),t})}(i,t);const s=function(t,e,n,r,o){const i=[];for(let n=0;n<t.length;n+=1)for(let s=0;s<t[n].length;s+=1){const a=t[n][s],u=r.one.match([e[n]],a);if(u.ptrs.length>0&&(u.ptrs.forEach(t=>{t[0]=n;const e=Object.assign({},a,{pointer:t});void 0!==a.unTag&&(e.unTag=a.unTag),i.push(e)}),!0===o.matchOne))return[i[0]]}return i}(i,t,0,n,r);return s},bulkTagger:function(t,e,n){const{model:r,methods:o}=n,{getDoc:i,setTag:s,unTag:a}=o.one,u=o.two.looksPlural;return 0===t.length?t:(("undefined"!=typeof process&&process.env?process.env:self.env||{}).DEBUG_TAGS&&console.log(`\n\n [32m→ ${t.length} post-tagger:[0m`),t.map(t=>{if(!t.tag&&!t.chunk&&!t.unTag)return;const o=t.reason||t.match,c=i([t.pointer],e)[0];if(!0===t.safe){if(!1===function(t,e,n){const r=n.one.tagSet;if(!r.hasOwnProperty(e))return!0;const o=r[e].not||[];for(let e=0;e<t.length;e+=1){const n=t[e];for(let t=0;t<o.length;t+=1)if(!0===n.tags.has(o[t]))return!1}return!0}(c,t.tag,r))return;if("-"===c[c.length-1].post)return}if(void 0!==t.tag){if(s(c,t.tag,n,t.safe,`[post] '${o}'`),"Noun"===t.tag&&u){const e=c[c.length-1];u(e.text)?s([e],"Plural",n,t.safe,"quick-plural"):s([e],"Singular",n,t.safe,"quick-singular")}!0===t.freeze&&c.forEach(t=>t.frozen=!0)}void 0!==t.unTag&&a(c,t.unTag,n,t.safe,o),t.chunk&&c.forEach(e=>e.chunk=t.chunk)}))}},Bn={lib:{buildNet:function(t){const e=this.methods().one.buildNet(t,this.world());return e.isNet=!0,e}},api: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=>{const 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});const 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}}},methods:{one:Wn}};const Hn=/ /,Qn=function(t,e){"Noun"===e&&(t.chunk=e),"Verb"===e&&(t.chunk=e)},Rn=function(t,e,n,r){if(!0===t.tags.has(e))return null;if("."===e)return null;!0===t.frozen&&(r=!0);const 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]),Qn(t,o.parents[e])}return t.tags.add(e),t.dirty=!0,Qn(t,e),!0},Kn=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 a;if(s&&s.DEBUG_TAGS&&((t,e,n="")=>{const 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,"[33m[3m"+o+"[0m").padEnd(24)} [32m→[0m #${e.padEnd(22)} ${(t=>"[3m"+t+"[0m")(n)}`)})(t,e,o),1!=(a=e,"[object Array]"===Object.prototype.toString.call(a)))if("string"==typeof e)if(e=e.trim(),Hn.test(e))!function(t,e,n,r){const o=e.split(Hn);t.forEach((t,e)=>{let i=o[e];i&&(i=i.replace(/^#/,""),Rn(t,i,n,r))})}(t,e,i,r);else{e=e.replace(/^#/,"");for(let n=0;n<t.length;n+=1)Rn(t[n],e,i,r)}else console.warn(`compromise: Invalid tag '${e}'`);else e.forEach(e=>Kn(t,e,n,r))},Un=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},qn=/^ *(#|\/\/)/,Zn=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=>Un({id:t})),e}return[Un({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]},Yn=(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},Jn=t=>"[object Array]"===Object.prototype.toString.call(t),Xn=t=>(t=t||"").trim(),tr=function(t=[]){return"string"==typeof t?function(t){let e=t.split(/\r?\n/),n=[];e.forEach(t=>{if(!t.trim()||qn.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:Zn(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=Un(r),r}(t):Jn(t)?function(t){let e={};t.forEach(t=>{e[t.id]=t});let n=Un({});return t.forEach(t=>{if((t=Un(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):(Yn(e=t).forEach(Un),e);var e},er=function(t,e){let n="-> ";e&&(n=(t=>"[2m"+t+"[0m")("→ "));let r="";return Yn(t).forEach((t,o)=>{let i=t.id||"";if(e&&(i=(t=>"[31m"+t+"[0m")(i)),0===o&&!t.id)return;let s=t._cache.parents.length;r+=" ".repeat(s)+n+i+"\n"}),r},nr=function(t){let e=Yn(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},rr={text:er,txt:er,array:nr,flat:nr},or=function(t,e){return"nested"===e||"json"===e?t:"debug"===e?(console.log(er(t,!0)),null):rr.hasOwnProperty(e)?rr[e](t):t},ir=t=>{Yn(t,(t,e)=>{t.id&&(t._cache.parents=t._cache.parents||[],e._cache.parents=t._cache.parents.concat([t.id]))})},sr=/\//;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=Xn(t),!sr.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)||Un({});return new g(e)}add(t,e={}){if(Jn(t))return t.forEach(t=>this.add(Xn(t),e)),this;t=Xn(t);let n=Un({id:t,props:e});return this.json.children.push(n),new g(n)}remove(t){return t=Xn(t),this.json.children=this.json.children.filter(e=>e.id!==t),this}nodes(){return Yn(this.json).map(t=>(delete(t=Object.assign({},t)).children,t))}cache(){return(t=>{let e=Yn(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 Yn(this.json)}fillDown(){var t;return t=this.json,Yn(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 Jn(e[n])?t[n]=e[n].concat(t[n]||[]):void 0===t[n]&&(t[n]=e[n])}),t))(e.props,t.props)}),this}depth(){ir(this.json);let t=Yn(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 ir(this.json),or(this.json,t)}debug(){return ir(this.json),or(this.json,"debug"),this}}const ar=function(t){let e=tr(t);return new g(e)};ar.prototype.plugin=function(t){t(this)};const ur={Noun:"blue",Verb:"green",Negative:"green",Date:"red",Value:"red",Adjective:"magenta",Preposition:"cyan",Conjunction:"cyan",Determiner:"cyan",Hyphenated:"cyan",Adverb:"cyan"},cr=function(t){if(ur.hasOwnProperty(t.id))return ur[t.id];if(ur.hasOwnProperty(t.is))return ur[t.is];const e=t._cache.parents.find(t=>ur[t]);return ur[e]},lr=function(t){return t?"string"==typeof t?[t]:t:[]},hr=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=lr(t[e].children),t[e].not=lr(t[e].not)}),Object.keys(t).forEach(e=>{(t[e].not||[]).forEach(n=>{t[n]&&t[n].not&&t[n].not.push(e)})}),t};var fr={one:{setTag:Kn,unTag:function(t,e,n){e=e.trim().replace(/^#/,"");for(let r=0;r<t.length;r+=1){const o=t[r];if(!0===o.frozen)continue;if("*"===e){o.tags.clear();continue}const 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)}},addTags: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=hr(t,e);const n=function(t){const e=Object.keys(t).map(e=>{const n=t[e],r={not:new Set(n.not),also:n.also,is:n.is,novel:n.novel};return{id:e,parent:n.is,props:r,children:[],alias:n.alias}});return ar(e).cache().fillDown().out("array")}(Object.assign({},e,t)),r=function(t){const e={};return t.forEach(t=>{const{not:n,also:r,is:o,novel:i}=t.props;let 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:cr(t),alias:t.alias}}),Object.keys(e).forEach(t=>{const 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}(n);return r},canBe:function(t,e,n){if(!n.hasOwnProperty(e))return!0;const r=n[e].not||[];for(let e=0;e<r.length;e+=1)if(t.tags.has(r[e]))return!1;return!0}}};const pr=function(t){return"[object Array]"===Object.prototype.toString.call(t)},dr={tag:function(t,e="",n){if(!this.found||!t)return this;const r=this.termList();if(0===r.length)return this;const{methods:o,verbose:i,world:s}=this;return!0===i&&console.log(" + ",t,e||""),pr(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;const n=this.termList();if(0===n.length)return this;const{methods:r,verbose:o,model:i}=this;!0===o&&console.log(" - ",t,e||"");const s=i.one.tagSet;return pr(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(/^#/,"");const e=this.model.one.tagSet,n=this.methods.one.canBe,r=[];this.document.forEach((o,i)=>{o.forEach((o,s)=>{n(o,t,e)||r.push([i,s,s+1])})});const o=this.update(r);return this.difference(o)}};var mr={addTags:function(t){const{model:e,methods:n}=this.world(),r=e.one.tagSet,o=(0,n.one.addTags)(t,r);return e.one.tagSet=o,this}};const gr=new Set(["Auxiliary","Possessive"]);var vr={model:{one:{tagSet:{}}},compute:{tagRank:function(t){const{document:e,world:n}=t,r=n.model.one.tagSet;e.forEach(t=>{t.forEach(t=>{const e=Array.from(t.tags);t.tagRank=function(t,e){return t=t.sort((t,n)=>{if(gr.has(t)||!e.hasOwnProperty(n))return 1;if(gr.has(n)||!e.hasOwnProperty(t))return-1;let r=e[t].children||[];const o=r.length;return r=e[n].children||[],o-r.length}),t}(e,r)})})}},methods:fr,api:function(t){Object.assign(t.prototype,dr)},lib:mr};const br=/([.!?\u203D\u2E18\u203C\u2047-\u2049\u0964\u0965\u061F\u06D4\u0589\u1362\u1367\u104B\u17D4\u3002]+\s)/g,Pr=/^[.!?\u203D\u2E18\u203C\u2047-\u2049\u0964\u0965\u061F\u06D4\u0589\u1362\u1367\u104B\u17D4\u3002]+\s$/,yr=/((?:\r?\n|\r)+)/,wr=/[\u3002\uFF01\uFF1F\uFF61]/,jr="\\u3002\\uFF01\\uFF1F\\uFF61",Cr=".!?\\u203D\\u2E18\\u203C\\u2047-\\u2049।॥؟۔։።፧။។"+jr,xr="\\u300D\\u300F\\uFF09\\u3011\\u3015\\u300B\\u3009\\u201D",Er=new RegExp(`([${Cr}]+\\s|[${jr}]+(?![${xr}${jr}])|[${jr}]+[${xr}]+(?=[\\s\\u300C\\u300E\\uFF08\\u3010\\u3014\\u300A\\u3008\\u201C]|$))`,"g"),Nr=new RegExp(`^(?:[${Cr}]+\\s|[${jr}]+[${xr}]*)$`),Ar=/[\p{L}\p{N}\p{So}]/u,Vr=/\S/,Tr=function(t){return Boolean(t.match(/\n$/))},Or={'"':'"',""":""","“":"”","‟":"”","„":"”","⹂":"”","‚":"’","«":"»","‹":"›","‵":"′","‶":"″","‷":"‴","〝":"〞","〟":"〞","「":"」","『":"』"},kr=RegExp("["+Object.keys(Or).join("")+"]","g"),Sr=RegExp("["+Object.values(Or).join("")+"]","g"),Dr=function(t){if(!t)return!1;const e=t.match(Sr);return null!==e&&1===e.length},_r=/[(\uFF08]/g,$r=/[)\uFF09]/g,Fr=/\S/,zr=/^\s+/,Gr=function(t,e){const 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))))},Lr=function(t){const e=[],n=t.split(/[-–—]/);let r="-";const 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},Ir=/\p{L} ?\/ ?\p{L}+$/u,Mr=/\S/,Wr=/^[!?.]+$/,Br=/(\S+)/;let Hr=[".","?","!",":",";","-","–","—","--","...","(",")","[","]",'"',"'","`","«","»","*","•"];Hr=Hr.reduce((t,e)=>(t[e]=!0,t),{});const Qr=/\p{Letter}/u,Rr=/[\p{Number}\p{Currency_Symbol}]/u,Kr=/^[a-z]\.([a-z]\.)+/i,Ur=/[sn]['’]$/,qr=/^[(+\-]?\d+(th|st|nd|rd)?[)+\-]?$/,Zr=/([A-Z]\.)+[A-Z]?,?$/,Yr=/^[A-Z]\.,?$/,Jr=/[A-Z]{2,}('s|,)?$/,Xr=/([a-z]\.)+[a-z]\.?$/,to=function(t){return function(t){return!0===Zr.test(t)||!0===Xr.test(t)||!0===Yr.test(t)||!0===Jr.test(t)}(t)&&(t=t.replace(/\./g,"")),t},eo=function(t,e){const n=e.methods.one.killUnicode;let r=t.text||"";r=function(t){const 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.replace(/([0-9]),([0-9])/g,"$1$2")}(r),r=n(r,e),r=to(r),t.normal=r},no=/[ .][A-Z]\.? *$/i,ro=/(?:\u2026|\.{2,}) *$/,oo=/\p{L}/u,io=/\. *$/,so=/^[A-Z]\. $/;var ao={one:{killUnicode:function(t,e){const n=e.model.one.unicode||{},r=(t=t||"").split("");return r.forEach((t,e)=>{n[t]&&(r[e]=n[t])}),r.join("")},tokenize:{splitSentences:function(t,e){if(t=t||"",!(t=String(t))||"string"!=typeof t||!1===Fr.test(t))return[];const n=function(t){const e=[],n=wr.test(t),r=n?Er:br,o=n?Nr:Pr,i=t.split(yr);for(let t=0;t<i.length;t++){const n=i[t].split(r);for(let t=0;t<n.length;t++)n[t+1]&&!0===o.test(n[t+1])&&(n[t]+=n[t+1],n[t+1]=""),""!==n[t]&&e.push(n[t])}return e}(t);let r=function(t){const e=[];for(let n=0;n<t.length;n++){const r=t[n];if(void 0!==r&&""!==r){if(!1===Vr.test(r)||!1===Ar.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}(n);if(r=function(t,e){const n=e.methods.one.tokenize.isSentence,r=e.model.one.abbreviations||new Set,o=[];for(let e=0;e<t.length;e++){const i=t[e];!t[e+1]||n(i,r)||Tr(i)?i&&i.length>0&&(o.push(i),t[e]=""):t[e+1]=i+(t[e+1]||"")}return o}(r,e),r=function(t){const e=[];for(let n=0;n<t.length;n+=1){const r=t[n],o=r.match(kr);if(null!==o&&1===o.length){const i=r.match(Sr);if(null!==i&&i[0]!==o[0]){e.push(r);continue}if(Dr(t[n+1])&&t[n+1].length<280){t[n]+=t[n+1],e.push(t[n]),t[n+1]="",n+=1;continue}if(Dr(t[n+2])){const 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}(r),r=function(t){const e=[];for(let n=0;n<t.length;n+=1){const r=t[n].match(_r);null!==r&&1===r.length&&t[n+1]&&t[n+1].length<250&&null!==t[n+1].match($r)&&1===r.length&&!_r.test(t[n+1])?(t[n]+=t[n+1],e.push(t[n]),t[n+1]="",n+=1):e.push(t[n])}return e}(r),0===r.length)return[t];for(let t=1;t<r.length;t+=1){const e=r[t].match(zr);null!==e&&(r[t-1]+=e[0],r[t]=r[t].replace(zr,""))}return r},isSentence:function(t,e){if(!1===oo.test(t))return!1;if(!0===no.test(t))return!1;if(3===t.length&&so.test(t))return!1;if(!0===ro.test(t))return!1;const n=t.replace(/[.!?\u203D\u2E18\u203C\u2047-\u2049] *$/,"").split(" "),r=n[n.length-1].toLowerCase();return!0!==e.hasOwnProperty(r)||!0!==io.test(t)},splitTerms: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(Br);for(let t=0;t<o.length;t++)!0!==Gr(o[t],e)?r.push(o[t]):r=r.concat(Lr(o[t]));let i="";for(let t=0;t<r.length;t++){const e=r[t];!0===Mr.test(e)&&!1===Hr.hasOwnProperty(e)&&!1===Wr.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=function(t){for(let e=1;e<t.length-1;e++)Ir.test(t[e])&&(t[e-1]+=t[e]+t[e+1],t[e]=null,t[e+1]=null);return t}(n),n=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}(n),n=n.filter(t=>t),n},splitWhitespace:(t,e)=>{const{str:n,pre:r,post:o}=function(t,e){const{prePunctuation:n,postPunctuation:r,emoticons:o}=e.one;let i=t,s="",a="";const u=Array.from(t);if(o.hasOwnProperty(t.trim()))return{str:t.trim(),pre:s,post:" "};let c=u.length;for(let e=0;e<c;e+=1){const e=u[0];if(!0!==n[e]){if(("+"===e||"-"===e||"("===e)&&qr.test(t.trim()))break;if("'"===e&&3===e.length&&Rr.test(u[1]))break;if(Qr.test(e)||Rr.test(e))break;s+=u.shift()}}c=u.length;for(let e=0;e<c;e+=1){const e=u[u.length-1];if(!0!==r[e]){if(Qr.test(e)||Rr.test(e))break;if(!("."===e&&!0===Kr.test(i)||"'"===e&&!0===Ur.test(i))){if(("+"===e||")"===e)&&qr.test(t.trim()))break;a=u.pop()+a}}}return""===(t=u.join(""))&&(i=i.replace(/ *$/,t=>(a=t||"","")),t=i,s=""),{str:t,pre:s,post:a}}(t,e);return{text:n,pre:r,post:o,tags:new Set}},fromString: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=>{eo(t,e)}),n}),t}}}};const uo={},co={};[[["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=>{uo[e]=!0,co[e]="Abbreviation",void 0!==t[1]&&(co[e]=[co[e],t[1]])})});var lo=["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),{});const ho={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜’","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАаѦѧӐӑӒӓƛæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬвъьѢѣҌҍ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼϲϹϽϾСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƐȄȅȆȇȨȩɆɇΈΕΞΣέεξϵЀЁЕеѐёҼҽҾҿӖӗễ",f:"ƑƒϜϝӺӻҒғſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇіїi̇",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϴОФоѲѳӦӧӨөӪӫ",p:"ƤΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮТт",u:"ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰυϋύ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƵƶȤȥɀΖ"},fo={};Object.keys(ho).forEach(function(t){ho[t].split("").forEach(function(e){fo[e]=t})});for(let t=33;t<=126;t+=1)fo[String.fromCharCode(t+65248)]=String.fromCharCode(t);const po=/\//,mo=/[a-z]\.[a-z]/i,go=/[0-9]/,vo=function(t,e){const n=t.normal||t.text||t.machine,r=e.model.one.aliases;if(r.hasOwnProperty(n)&&(t.alias=t.alias||[],t.alias.push(r[n])),po.test(n)&&!mo.test(n)&&!go.test(n)){const e=n.split(po);e.length<=3&&e.forEach(e=>{""!==(e=e.trim())&&(t.alias=t.alias||[],t.alias.push(e))})}return t},bo=/^\p{Letter}+-\p{Letter}+$/u,Po=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"),bo.test(e)&&(e=e.replace(/-/g,"")),e=e.replace(/^[#@]/,""),e!==t.normal&&(t.machine=e)},yo=function(t,e){const 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)},wo={alias:t=>yo(t,vo),machine:t=>yo(t,Po),normal:t=>yo(t,eo),freq:function(t){const e=t.docs,n={};for(let t=0;t<e.length;t+=1)for(let r=0;r<e[t].length;r+=1){const 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){const o=e[t][r],i=o.machine||o.normal;o.freq=n[i]}},offset:function(t){let e=0,n=0;const r=t.document;for(let t=0;t<r.length;t+=1)for(let o=0;o<r[t].length;o+=1){const 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}},index:function(t){const 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]},wordCount:function(t){let e=0;const 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)}};var jo={compute:wo,methods:ao,model:{one:{aliases:{"&":"and","@":"at","%":"percent",plz:"please",bein:"being"},abbreviations:uo,prefixes:lo,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:co,unicode:fo,emoticons:{"<3":!0,"</3":!0,"<\\3":!0,":^P":!0,":^p":!0,":^O":!0,":^3":!0}}},hooks:["alias","machine","index","id"]},Co={typeahead:function(t){const e=t.model.one.typeahead,n=t.docs;if(0===n.length||0===Object.keys(e).length)return;const r=n[n.length-1]||[],o=r[r.length-1];if(!o.post&&e.hasOwnProperty(o.normal)){const n=e[o.normal];o.implicit=n,o.machine=n,o.typeahead=!0,t.compute.preTagger&&t.last().unTag("*").compute(["lexicon","preTagger"])}}};const xo=function(){const t=this.docs;if(0===t.length)return this;const 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},Eo={safe:!0,min:3};var No={typeahead:function(t=[],e={}){const n=this.model();var r;e=Object.assign({},Eo,e),r=t,"[object Object]"===Object.prototype.toString.call(r)&&(Object.assign(n.one.lexicon,t),t=Object.keys(t));const o=function(t,e,n){let r={};const 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 a=e.min;a<s;a+=1){const s=t.substring(0,a);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}(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}},Ao={model:{one:{typeahead:{}}},api:function(t){t.prototype.autoFill=xo},lib:No,compute:Co,hooks:["typeahead"]};f.extend(Q),f.extend(Tn),f.extend(Ke),f.extend(Ln),f.extend(vr),f.plugin(yt),f.extend(jo),f.extend(Et),f.plugin(m),f.extend(Lt),f.extend(Ao),f.extend(Dt),f.extend(Bn);var Vo={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;ンド",Noun:"true¦あ0Sお0Rか月,き0Qことし,ご飯,つ,イ0Pウォン,カ月,キロ0Mグ0Oコップ,セ0Pトン,ドル,パ0Lペ0Kポンド,ミリ,メー0Nユーロ,リッ0Nヵ月,ヶ0J一0H上,下0G世0F両親,中0E予定,事0D二人,人0C今0B令和,件,休み,会社0A位,住所,体,個09倍,値段,側,傘,元,兄,先08光,八百屋,公園,内,円,冊,再来07写真,冬,分06切05初旬,前04割,匹,医者,午03単語,博物館,卵,原因,去年,友達,口,台02右,号,名01味噌,品,問題,喫茶店,回09図書館,国,地00場所,塩,声,夏,夕Z外,夜,夢,大Y天気,夫,奥,女X妹,妻,姉,娘,子供,季節,学W客,室,家V宿題,対,封筒,尾,山,島,川,左,市,席,帽子,平U年T店0A度,庭,弁当,弟,当日,形,後ろ,御飯,心,息子,意味,戸,所S扉,手R才,指Q授業,教P数,文O料金,新聞,方N日M明L映画館,春,昨K昭和,昼J時I晩ご飯,月,服,朝J本H机,村,束,来07杯,枚,果物,棟,森,椅子,横,橋,正G歯,歳,母,毎F気E水,池,泊,海,消しゴム,深夜,湖,漢字,火,点,為,父,片仮名,牛乳,物,珈琲,理由,瓶,生徒,田舎,男X町,畑,番09病院,発,皆D皿,目,看護師,県,真C眼鏡,着B砂糖,社長,祖A秋,秒06税金,空9窓,章,端,筆,答え,箇0J箱,箸,米,粒,紀元前,紙,組,結果,絵,美術館,羽,翌0I考え,耳,肉,肩,背中,腕,腹,自8船,色,苗字,英語,茶碗,荷物,葉書,街,袋,西暦,規則,角,言7計画,試験,話,課,財布,赤ちゃん,足,車,軒,辞書,辺り,近く,通6週5道4違い,遠く,部3郵便局,都市,酒,醤油,野菜,量,金,鉛筆,銀行,銭,鍵,間,階,隣,隻,雑誌,雨,雪,雲,雷,電車,面,靴,鞄,韓国語,音,頁,頭,顔,風2飛行機,食1飲み物,首0駅,魚,鼻;!都;べ物,堂;!呂;!屋,長;!路;!末,間;!り;葉,語;動車,転車;!港;母,父;!物;ん中,夜中;!さん;!持ち;年,日,晩,月,朝,週;午,月;!屋,日;!計,間;!ご飯;夜,年,日;後日,日,治;!本語,間;!法;字,法,章;室,科書;!輪;!紙;!為;!間,齢;仮名,成,日;!族;校,生;!性;人,学,正;べ,方;下鉄,図,震;!前;!所;前,後;!日;れ,手;!間;年,月,週;月,生,週;!目;!員;!夜,年,日,晩,月,朝,週;!々,目,間;!務所;!国語,旬;界,紀;!旬;昨0緒;年,日;!月;ン,ージ;ン,ーセント;!グ1メー0;トル;ラム;ンチ;のう,ょう;ととい,客さん,茶,金;さって,した,す",Date:"true¦あ8おととい,き7ことし,一昨6下旬,中旬,今5先4再来3初旬,前日,去年,夕べ,平日,当日,明2昨1本日,来3正月,毎0翌6週末;年,日,晩,月,朝,週;夜,年,日;後日,日;年,月,週;月,週;夜,年,日,晩,月,朝,週;年,日;のう,ょう;さって,した,す",Time:"true¦夕方,夜,昼,朝,正午,深夜,真夜中",AmPm:"true¦午0;前,後",Season:"true¦冬,夏,春,秋",SuruVerb:"true¦中止,予約,仕事,会8使用,修理,出発,判断,利用,到着,努力,勉強,参加,反対,報告,増加,変7失敗,契約,安心,完成,実6対応,延期,建設,影響,復帰,心配,想像,感謝,成5我慢,投票,招待,掃除,提供,改善,散歩,料理,旅行,期待,案内,棄権,検討,決定,注4洗濯,活動,減少,準備,理解,生活,用意,発3相談,研究,確認,移動,管理,約束,納得,紹介,終了,経験,結婚,緊張,練習,考慮,製造,解決,記憶,評価,認可,説明,調査,議論,販売,買い物,賛成,質問,輸2返事,連絡,逸脱,運1遠慮,選択,開0関係,電話;始,発;動,営,転;入,出;明,表,見,言;意,文;功,長;現,行;化,更;話,議",Pronoun:"true¦あJおHかFきDこCしょうせい,じぶん,そCてBへいIぼく,やつ,わ7俺6僕,儂,其奴,吾,小生,弊社,彼5御4我2手前,此奴,私1自分,貴0;下,女,官,方,様,男,社;!たち;!々,が0等;!社;宅,社;!女,奴,等;!様;が2し,た1て,れ0;!ら,われ;くし,し;!しゃ;まえ,めえ;いつ,やつ;か0さま,しゃ,み;!ん;のじょ,れ0;!ら;いら,たく,まえ,ら,れ,ん0前,宅;しゃ;いつ,た1なた,の0やつ,んた;かた,ひと,人,方;い,くし,し",Adverb:"true¦0:0W;あ0Tい0Iお0Hか0Eき0Dくする,けっ0Cこ0Bごとき / ごとく / ごとし,さっき,し0Aじゅう09す07ず06ぜ05そ04た01だZちょYつXできるだけ,とWどTなSのんびり,はOばかりに,ひNびMふLべつに~0ほKまGみFむしろ,めったにEもDやBゆMよAわりと,一9丁度,万一,主に,今に0S以8全7再び,初R別6前に,割と,十分,大5実に,少4後で,必ず,急に,意外,敢えて,早く,時々,普2最後に,本当に,果たQ案の定,極R決してE特に,直接,相当,真っ直ぐ,突然,約,結1絶対,色々 ,間に,非常に;局,構;段,通1;! ;し,すこし;丈夫,体,分,変;々に,に~0;く~0然,部;上に,外;人,体,層,度に,応,旦,気に,番,種;うやく,く;っ1はり;と,ぱり;う,しかしたら,っと,はや;!~0;たIんな;あまあ,えに,すます,ず,だ3っ2でに,る1んいち;っ8で;すぐ,たく~0;!しも,~ていません;とんど,んと03;たHつう,と;っくり;じょ00とり;じ3た2っ1やく;きり;して;めて;かなか,るべく;う2ん1;どん,なに~W;!してXせ,にも~0やら;うとう,きどき,ても;いに;うど,っと;い1んだん;じょうぶ,ぶ;い2くさん,しかに,び1ぶん,まに;たび;して,てい;こそこ,ろそろ;ひ,んぜん;い3っと;ぐ1こし,っかり,でに;!に;ぶん;ばしば,ょっちゅう;う,とごとく,れから;きょく,こう,して~0;っと,ゅA;た2つて,な1何か;にか,らず,り;がた,わら;そらく,よそ;か9がい,きなり,く6じょ5ち4っ1つも,まにAろいろ;きに,し2そう,た1ぱい;い,ん;ゅ,ょに;おう,どに,ばん;うに;つ,ら1;!~1;ても;が,に1;!も;いだに,えて,くまでも,とで,まり2らかじめ,ん1;のじょう,まり;!にも,~0;ない",Adjective:"true¦0:06;あ03い02う01え00おWかVきUくYこわい,さTしQすOずNせまい,たMだLちJつHていねい,とおい,なGにGぬNねTはFひEふDほCまAみ9む8めずら0もったい04や7ゆうめい,よ6わ5上手い,不味い,丸い,低い,偉い,優0円い,冷I凄い,危04厚い,厳0古い,可愛い,喧0四角い,固い,塩辛い,多い,大4太い,好ま0嬉0安い,寂0寒い,小K少04広い,弱い,強い,忙0怖い,恐ろ0恥8悔0悪い,悲0惜0惨い,慌ただ0懐か0新0早い,明N易0暑い,暖07暗い,望ま0柔ら07楽0欲0正0汚3浅い,涼0深い,温2激0濃い,熱い,狭い,珍0甘い,疑わ0痛い,白い,相応0眠い,眩0短い,硬い,素晴ら0細い,緩い,美1肌寒い,良い,若い,苦B荒い,薄い,親R詰まら04詳0貧0賢い,赤い,軽い,辛い,近い,速い,遅い,遠い,酷い,酸っP醜い,重い,鈍い,鋭い,長い,難0青い,面白い,頼も0騒が0高い,魅力の04黄色い,黒い;しい,味0;い,かい;い,ら0;きい,人0;かい,るい;い,わい;さ0すい,ばい,わら00;ずか0;じYにくい,りょくのV;ず1るい;い,しい;しい,そい;とい,るい;くい,どい,ろい;だざEやい;がい;まらNめ1よい,らい;たい;い1かい;さい;さい,るい;かい,だ0の0;るい;くGごい,ず0っ1ばら0;ぱい;おかAか2た1ろい;しみやすい;くい,たC;むい;い4たAつい;たい,な0らい,るい,わいい;い0お3そい,とな0も1;い,し1;ろい;い,きい;らい;すい,つく0まい,れ0;い,そが0たい;おい,か5た2つい,ぶ1まい,らい;ない;た2ら0;しい;かい;い,るい",AdverbialParticle:"true¦く1ぐ1ずつ,だけ,とか,な0ばかり,ほど,やら;ど,んか;らい",NaAdjective:"true¦あCいBおAかんたん,がんこ,き9げんき,こ8さいわい,ざんねん,し5じ3す2せいBなめ1にぎDひま,ふくざつ,へ0べんり,まじめ,みりょく7丁寧,丈夫,上手,下手,便利,元気,危険,変,大嫌い,奇麗,好き,嫌い,孤独,安全,平均的,幸い,新鮮,暇,有名,正常,残念,滑1無料,異常,真面目,社交的,簡単,素敵,綺麗,色々,複雑,親切,賑D重要,静か,頑固,高価,魅力的,鮮D;いきん6た,ん;らか;き,てき;ゅうよう,ょう0;ず,ぶ;ずか,ゃこう1んせ0;つ,ん;てき;うか,どく;けん,らい,れい;かねもち,金持ち;じょう;ざ0んぜん;やか",Conjunction:"true¦あ0Wい0Vお0Oか0Mぎゃくに,こう0Nさ0Kし0Fじゃ0Eす0DそYたVだRちなQってか,つNてMでJとGど04なBにもかかわらず,のため,はんめん,ふんAほ7ま6も4ゆ00よ0Hわけ02んA一方3並びに,乃至,亦,但X併0X例W即ち,又F及び,反面,同0Q否,因Q実は,尚,尤も,従0H恐0R惜し0T或2故に,本当は,次1然し0若し0U譬W追0H逆に;!な0R乍ら;いで,に;いは,は;!で;し0っとも,また;!くは;してや,ずは,た8;な1ん0;じゃ,で,なら;!ら;じゃ;いし3お,かん2ぜなら,の1ら0;ば,びに;で,に;ずく,づく;!は;いうのも,ころ1す04も0同時に;あれ,す03に;が,で;す1な0は;いと,け00;から,が,けれど;か,ゆーか;い1ま0;り,るところ;ては,で;みに;から2が,け1って,とす0;ると,れば;ど,れども;!こそ,といM;だ1と0め;えば,へば;!し;うAこで,しCの8もそも,やさかい,りゃ,れ0ーいや;から,だPで6と5ど4な3に1も,ゆ0;えに;!し0;ても;のに,ら;ころか;!も;!いて,は,も;うえ0上,後;!で,に;い2し1す0ですが,な0;ると;たら,て;えば,や;なわち,ると;!が;か2た0;が0ら;って;し0も;!な8;て,もなけ0らに,りとて,れど;れば;く0たや,つ;して;し4そ2な1ま0よび;けに;じく;れな0;がら;むら0;くは;え,っぽう,や;るいは,わ0;せて",Expression:"true¦あ0Vい0Tう0Qえ0Nお0Gきゃ0Fぎ0Cぐふ0Bげっ,こ06ご03さ01ざまあみろ,じゃ0UすZそXただいまWどRなNねぇ,はMひ0KふLへIほHまGもしもし,やFよAわ9ア7ウ6オヤスミ,ガ5キャ4コンニチワ,ゴメン,サヨナラ,デヘヘ,トホホ,ハッハッハ,バカヤロー,ヒヒヒ,フ3メリークリスマス,モシモシ,ヤ2ヨロシク,ワ1南無,嗚呼,御0有難う;意,馳走0I;ァー,ーッ;ダー,ッター,レヤレ;ェ1ムフム;ッ,ー;ーン;ヒャー,ーン,~ン;ッ0ハハ,リガトウ;カンベー,プップ~;ぁZあ,っ,んわん,ーい;い3う2お,くもまあ,し1っ0ーし;こら2しゃ;っ,ゃ;こそ,し;しょ;ぁ,あ,れやれ;ぁ,あS;う,んと;え1ー0;え,っ;え,ッ,ー;うん,ふふ,むふむ,ん,ーん;い,じめ8っ,てな,ーい;あ2む,るほど,ん0;てこった,と0;!まあ,もはや;に,んだ;う2っこい1れどれ,ー0;ぞ,も;!しょ;いたし0ぞ,も;まして;!ッ;う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;む,ん;!っ,ふ;いえ,えいえ,ただきます,や0ーえ;ぁ,あ,ー;ぁ,あ,いた,かん6きまへん,っ5ら4り1れ0ーあ;!よあれよ,れ,ー;がと1ゃ0;!りゃ;!う;!ッ,ー;!かんべー;!べ",Value:"true¦〇,いつつ,ここのつ,とお,ななつ,ひとつ,ふたつ,み1む1や1よ1一0七0万,三0九0二0五0京,仟,伍,何,佰,億,兆,八0六0十,千,参,四0壱,弐,拾,捌,漆,玖,百,肆,萬,陸,零;!つ;っつ",WeekDay:"true¦土0日0月0木0水0火0金0;曜日",Godan:"true¦0:1A;1:10;あ19い16う14えらぶ,お12か0Zがんばる,き0Yく0Wけす,こ0Vござる,さ0Tし0Sす0Rそ0Qた0Pだ0Oち0Nつ0Kてつだう,と0Jな0Hねむる,の0Gは0Fひ0Eふ0Dへる,ほる,ま0Cみ0Bむすぶ,も0Aや09よ08わ07上06下05並ぶ,乗る,乞う,乾04争う,仄め03付き合う,仰0U企む,休む,会う,伴う,住む,作る,使う,侍る,保つ,倒す,偽る,傾く,働く,儲01光る,入る,冗談る,写す,冷や00凝Z出Y分01切る,刺す,刻む,削る,剥ぐ,劣る,助01励X効く,動く,勝つ,匂う,包む,参る,及ぶ,取V口説く,叫ぶ,可愛06叱る,合う,向かう,含む,吸う,吹く,味わう,呼U咲く,商う,問う,喋る,喜T嗅ぐ,噛む,回る,困る,囲む,固0在る,基づく,塗る,増S壊す,売る,変18外す,太る,好む,始0威R嫌06学ぶ,守る,実る,寄る,富む,導く,就く,届く,履く,崩す,巻く,帰る,干す,広Q庇う,座る,建つ,引O張る,強0弾く,役N往く,待つ,従う,忍ぶ,志す,怒る,怖06思L急ぐ,恨む,悩む,悲K惜K憎む,憩う,戻1手伝う,打つ,払う,扱う,抜く,抱く,押す,担ぐ,招く,拾う,持つ,挟む,捻る,掘る,掛01探1掴む,揃う,描く,握る,撮る,救う,散る,敷く,断る,暖0暮Z曇る,曲06書く,有る,望む,枯Z楽K構う,次ぐ,欲し06歌う,止0歩く,死ぬ,残1殴る,殺す,気J污す,決0沈む,沸04治1沿う,泊0泣く,注ぐ,泳ぐ,洗う,流行る,浮かぶ,消す,涼む,混じる,添う,済む,減I渡1温める,湿る,満たす,溶03滅ぼす,滑る,漏Z潤う,為0X無くH焦る,焼く,熟す,狂う,現す,生G産む,異F畳む,疑う,痛む,登る,盗む,目N直1眠る,眩む,着く,睨む,知E砕く,磨く,示す,祈る,祝う,祭る,移す,稼ぐ,積む,空く,突く,立つ,笑う,終18組む,経つ,結ぶ,継ぐ,続く,練る,縋る,縛る,縫う,縮む,繰り返す,置く,罵る,群06習う,耽る,聞く,育つ,脂ぎる,脱ぐ,腐る,至る,舞う,苦K茂る,落とす,蘇る,行D表す,被る,補う,襲う,要る,覆る,見C解く,触る,言A試す,話9誇る,誘う,語る,誤る,読む,請う,謝る,譲る,負03貰う,買う,貸す,賄う,走る,起こ1越す,足す,踊る,踏む,蹴8転7輝く,込む,返1迷う,追6送る,這う,通5逝く,進む,遊ぶ,運ぶ,過ごす,違う,遣る,適う,遭う,遮る,選ぶ,配る,酔う,重F釣る,閉0開く,間4関18防ぐ,降3限る,陥る,隠す,集0離す,霞む,静0響く,頂く,頑R頼2願う,飛U食い違う,飲む,飼う,飾る,馴染む,騒ぐ,騙す,驚く,高0魂消る,黙る,齧る;む,る;る,ろす;にZ違う;う,す,る;いかける,う;がる,ぶ;る,飛ばす;しUす;い2う;ふP出す,表す;つQ做す,張る,習う,送る,逃す;く,なう;りPる;なる;む,やす;す,なる;らす,る;付く,遣う;しむ;い2う;つく,出す;立つ;く,っ2;張る,越す;がる,まる;張る;す,やす;ばす,ぶ;び3ぶ;り2る;出す;ます,む;す,会う;らす;かす,す;かる;合う;かす;かす,く;がる,さる;がる;かる,た1;ぶ,む,る,ろこぶ;く,すむ;つ,どる,らう;がく,のる;いる,がる,く,じる,つ,なぶ,もる,よう,わる;く,ける,せぐ,とる,やす,る;かる,く,ねる,らく;こぶ,しる,じ0たらく,なす,る;こる,ぼる,む,る;おす,く,ぐる,さる,やむ,ら2;う,ぶ;おる,ぶ,まる,る;か3く,づく,な2む,る;がる,ぐ;う,む;がう,ぢむ,る;く,す,まる;つ,のむ;そぐ,だつ;う,すむ,む,わる;かる,ぬ,ばる,まう,めす,ゃべる;がす,く,けぶ,そう,わ2;ぐ,る;のむ,まる,む,ろぶ;さる,だ2もる;さる;く,まる;う,え1か2ぎる,ざる,じる,す,せぐ,ぶる,む,よう,わる;る,わる;す,る;く2こる,す,っ6とる,どる,もう,よぐ,わる;!る;ごく,たう,つ2む,る;!す;う,く,そぐ,つ3のる,らっ2;しゃる;わる;せる,つ0らう,る2;!く;まる",IrregularVerb:"true¦くる,する,来る,為る",Ichidan:"true¦0:0L;1:0K;2:0M;3:06;4:03;undefined,あ0Nい0Mう0Kえる,お0Jか0Gき0Fく0Eこ0Dさ0Cし09す08せ2そだ4た06つ04で02と01なZにYぬ1ねる,のXはWひろVふUほ00まSみRむか0もQやTよPわO上V下V与0並0L乗N交M付03任T企4伏T伝0伸L似る,使0信3倒1借K備0傷つ03優1儲03入1兼ねる,冷J出I分H切1別1加0助03努2勤2占2取G受03呉1告V命3固2埋2報F増0壊1売1変0妨V始2委ねる,存3定2寄T寝る,尋ねる,尽E居る,届03崩1帯L広D延L建4引き受03弱2強C当4得る,忘1応3怠03恐1恥3悔F惚1感3慌4慣1慰2戒2抑0投V折1抜03抱0拵0挙V捨4掛03掲V揃0換0支0攻2教0数0明03晴1暮1曲V替0束ねる,果4枯1案3構0止2比0L求2汚1決2流1浮か0L浴L消0混M済まT溢1溶03滅L漏1演3濡1点03焦V焼03煮る,燃0片付03現1甘0生B用F疲1痩T真似る,眺2着A知らT禁3立4答0経る,続03綻L締2老9考0聞こ0育4腰掛03臥T舐2苦しまT落ちる,蓄0虐2褒2見8覚J解03触1言い7訪6訴0詫L認2調0L論3諦2講3負03責2起E越0足K跳ねる,転3載T迎0述0L逃5通3連1進2遂V遅1過ぎる,避03重ねる,錆L鍛0長03閉2開03間違0降K隠1集2離1震0食0L飽E高2;げる,れる;ねる,れる;つ00換0;える,せる,つZる;いる,ける;る,換0;える,きる,ける,じる,ま1;いる,める;げる,める;きる;いる;り換0れる;か1ける;かPる,来る;える,める;りる;びる;ぜる;せる,り換0;か1ける,す1;ご1せる,わ2;える,と2れる;せる,と2る;か5ける,げる,ぜる;せる;える,る0れる;げる;える,じ2な1れる;が1せる,べる;げる,る;が5げる,める,らQれる;める,れる;ける,げる,ど6める;か5きる,る;ける;か5ける,げる,た0と2よ2れる;える,れる;お1か2ずGてる,べる,りる;てる;ぎる,ぐ1す2てる;める,ら6ん3;じる;せる,べる;ける,げる,さ0だ2める;える,た0わ1;ず1らBれる,わ0;える,こ0める,る,れる;か0く1ける,さ6ぞ0りる,れる,ん5;が0じる;ねる;きる,し0そ1ちる,とず1ぼ0りる,れる;か5ける,ま1める,れる;べる;る,れる;きら2ける,げる,た0つ2てる,びる,ふ1らわ1;れる;える;める",Determiner:"true¦あの,この,その",CaseParticle:"true¦から,が,で,と,に,へ,まで,や,より,を",ConjunctiveParticle:"true¦け2し,た1つつ,て3ながら,の0ば;で,に;ら,り;ど,れど0;!も",TopicParticle:"true¦こそ,さえ,しか,でも,なら,は,も",SentenceParticle:"true¦か3さ,ぜ,ぞ,な2ね1のか,ものか,よ0わ;!ね;!え;!あ;!しら,な",Era:"true¦令和,大正,平成,明治,昭和,紀元前,西暦",AdnominalParticle:"true¦の"};const To=36,Oo="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",ko=Oo.split("").reduce(function(t,e,n){return t[e]=n,t},{});var So=function(t){if(void 0!==ko[t])return ko[t];let e=0,n=1,r=To,o=1;for(;n<t.length;e+=r,n++,r*=To);for(let n=t.length-1;n>=0;n--,o*=To){let r=t.charCodeAt(n)-48;r>10&&(r-=7),e+=r*o}return e};const Do=function(t,e,n){const r=So(e);return r<t.symCount?t.syms[r]:n+r+1-t.symCount},_o=function(t){const e={nodes:t.split(";"),syms:[],symCount:0};return t.match(":")&&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[So(r[1])]=So(r[2])}t.nodes=t.nodes.slice(t.symCount,t.nodes.length)}(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 a=s[i],u=s[i+1];if(!a)continue;const c=o+a;if(","===u||void 0===u){e.push(c);continue}const l=Do(t,u,r);n(l,c)}};return n(0,""),e}(e)},$o={"う":"わ","く":"か","ぐ":"が","す":"さ","つ":"た","ぬ":"な","ぶ":"ば","む":"ま","る":"ら"},Fo={"う":"い","く":"き","ぐ":"ぎ","す":"し","つ":"ち","ぬ":"に","ぶ":"び","む":"み","る":"り"},zo={"う":"え","く":"け","ぐ":"げ","す":"せ","つ":"て","ぬ":"ね","ぶ":"べ","む":"め","る":"れ"},Go={"う":"お","く":"こ","ぐ":"ご","す":"そ","つ":"と","ぬ":"の","ぶ":"ぼ","む":"も","る":"ろ"},Lo={"う":"って","つ":"って","る":"って","ぬ":"んで","ぶ":"んで","む":"んで","く":"いて","ぐ":"いで","す":"して"},Io=new Set("いきしちにひみりぎじぢびぴ".split("")),Mo=new Set("えけせてねへめれげぜでべぺ".split("")),Wo=new Set("うくぐすつぬぶむる".split("")),Bo="見る 着る 似る 煮る 干る 射る 鋳る 居る 出る 得る 経る 寝る\n 生きる 起きる 過ぎる 落ちる 尽きる 飽きる 降りる 借りる 足りる 浴びる 滅びる 錆びる\n 感じる 信じる 禁じる 命じる 応じる 通じる 生じる 存じる 論じる 演じる 転じる 案じる 講じる 恥じる\n 老いる 用いる 報いる 強いる 悔いる 延びる 伸びる 帯びる 詫びる 綻びる 懲びる 出来る\n みる きる にる でる える ねる いる いきる おきる すぎる おちる おりる かりる たりる あびる".split(/\s+/),Ho="帰る 返る 入る 要る 走る 知る 切る 限る 減る 練る 照る 滑る 握る 焦る\n 脂ぎる 覆る 遮る 罵る 湿る 茂る 参る 交じる 混じる 陥る 侮る 嘲る 憚る 滾る 捻る 抓る 契る 齧る\n 喋る 縋る 蘇る 甦る 詰る 罷る 迸る 阿る 熱る 散る 蹴る 耽る ふける\n かえる はいる はしる しる きる かぎる へる ねる てる すべる にぎる あせる ちる\n まじる しゃべる かじる ひねる くつがえる さえぎる ののしる しめる しげる まいる おちいる\n あなどる あざける はばかる なじる まかる ほとばしる ほてる ちぎる よみがえる すがる つねる\n たぎる おもねる いじる ける よぎる まざる ねじる\n 打ち切る 思い切る 張り切る 立ち返る 生き返る 寝返る 立ち入る 押し入る 気に入る 見入る 恐れ入る".split(/\s+/).filter(t=>/る$/.test(t));let Qo=new Set(Bo.filter(t=>/る$/.test(t))),Ro=new Set(Ho);const Ko={"する":"suru","為る":"suru","くる":"kuru","来る":"kuru","ある":"aru","有る":"aru","在る":"aru","行く":"iku","いく":"iku","逝く":"iku","往く":"iku","問う":"ou","請う":"ou","乞う":"ou","下さる":"aru5","くださる":"aru5","なさる":"aru5","為さる":"aru5","おっしゃる":"aru5","仰る":"aru5","いらっしゃる":"aru5","ござる":"aru5","御座る":"aru5"},Uo=function(t,e){if(Ko[t])return Ko[t];if("Ichidan"===e||"Godan"===e)return e.toLowerCase();if(Qo.has(t))return"ichidan";if(t.length>2&&t.endsWith("する"))return"suru";if(t.length>3&&/[てで](来る|くる)$/.test(t))return"kuru";let n=t[t.length-1];if(!Wo.has(n))return null;if("る"!==n)return"godan";if(Qo.has(t))return"ichidan";if(Ro.has(t))return"godan";if(/(せる|させる|れる|られる)$/.test(t)&&t.length>2)return"ichidan";let r=t[t.length-2];return Io.has(r)||Mo.has(r)?"ichidan":"godan"},qo=function(t,e){let n=Uo(t,e);if(!n)return null;let r=function(t,e){let n=t.slice(0,-1),r=t[t.length-1];switch(e){case"godan":return{negStem:n+$o[r],stem:n+Fo[r],cond:n+zo[r],imper:n+zo[r],volit:n+Go[r]+"う",te:n+Lo[r],potential:n+zo[r]+"る",passive:n+$o[r]+"れる",causative:n+$o[r]+"せる"};case"ichidan":{let e=t.slice(0,-1);return{negStem:e,stem:e,cond:e+"れ",imper:/(呉れる|くれる)$/.test(t)?e:e+"ろ",volit:e+"よう",te:e+"て",potential:e+"られる",passive:e+"られる",causative:e+"させる"}}case"suru":{let e=t.slice(0,-2);return{negStem:e+"し",stem:e+"し",cond:e+"すれ",imper:e+"しろ",volit:e+"しよう",te:e+"して",potential:""===e?"できる":e+"できる",passive:e+"される",causative:e+"させる"}}case"kuru":{let e=t.slice(0,-2),n=t.endsWith("くる"),r=n?"こ":"来",o=n?"き":"来";return{negStem:e+r,stem:e+o,cond:e+(n?"く":"来")+"れ",imper:e+r+"い",volit:e+r+"よう",te:e+o+"て",potential:e+r+"られる",passive:e+r+"られる",causative:e+r+"させる"}}case"aru":{let e=t.slice(0,-1);return{negStem:null,stem:e+"り",cond:e+"れ",imper:e+"れ",volit:e+"ろう",te:e+"って",potential:e+"れる",passive:e+"られる",causative:e+"らせる"}}case"iku":{let e=t.slice(0,-1);return{negStem:e+"か",stem:e+"き",cond:e+"け",imper:e+"け",volit:e+"こう",te:e+"って",potential:e+"ける",passive:e+"かれる",causative:e+"かせる"}}case"ou":{let e=t.slice(0,-1);return{negStem:e+"わ",stem:e+"い",cond:e+"え",imper:e+"え",volit:e+"おう",te:e+"うて",potential:e+"える",passive:e+"われる",causative:e+"わせる"}}case"aru5":{let e=t.slice(0,-1);return{negStem:e+"ら",stem:e+"い",cond:e+"れ",imper:e+"い",volit:e+"ろう",te:e+"って",potential:e+"れる",passive:e+"られる",causative:e+"らせる"}}default:return null}}(t,n);if(!r)return null;let o=null===r.negStem?"ない":r.negStem+"ない",i=null===r.negStem?"なかった":r.negStem+"なかった",s=r.te,a=(t=>t.replace(/て$/,"た").replace(/で$/,"だ"))(s);return{class:n,Infinitive:t,Stem:r.stem,PresentTense:t,PastTense:a,Negative:o,PastNegative:i,Gerund:s,NegativeGerund:null===r.negStem?"なくて":r.negStem+"なくて",Polite:r.stem+"ます",PolitePast:r.stem+"ました",PoliteNegative:r.stem+"ません",PolitePastNegative:r.stem+"ませんでした",PoliteVolitional:r.stem+"ましょう",Imperative:r.imper,NegativeImperative:t+"な",PoliteImperative:s+"ください",Volitional:r.volit,Potential:r.potential,Passive:r.passive,Causative:r.causative,CausativePassive:r.causative.replace(/せる$/,"せられる"),Conditional:a+"ら",Provisional:r.cond+"ば",Progressive:s+"いる",ProgressivePolite:s+"います",PastProgressive:s+"いた",Desire:r.stem+"たい",Representative:a+"り",Presumptive:t+"だろう",Continuative:r.stem+"ながら"}},Zo={"いい":"よ","良い":"良","よい":"よ"},Yo=function(t){if(!t||!t.endsWith("い")||t.length<2)return null;let e=void 0!==Zo[t]?Zo[t]:t.slice(0,-1);return{Infinitive:t,PresentTense:t,Negative:e+"くない",PastTense:e+"かった",PastNegative:e+"くなかった",Gerund:e+"くて",Adverb:e+"く",Provisional:e+"ければ",Presumptive:e+"かろう",Polite:t+"です",PolitePast:e+"かったです",PoliteNegative:e+"くないです",Superlative:e+"すぎる",Impression:e+"そう",Nominal:e+"さ"}},Jo=function(t){return t?{Infinitive:t,Adnominal:t+"な",PresentTense:t+"だ",Negative:t+"じゃない",PastTense:t+"だった",PastNegative:t+"じゃなかった",Gerund:t+"で",Adverb:t+"に",Polite:t+"です",PolitePast:t+"でした",PoliteNegative:t+"じゃありません",Provisional:t+"なら"}:null},Xo=t=>Object.keys(t).reduce((e,n)=>(e[t[n]]=n,e),{}),ti=Xo($o),ei=Xo(Fo),ni=Xo(zo),ri=Xo(Go),oi={"って":["る","う","つ"],"んで":["む","ぶ","ぬ"]},ii=function(t,e){let n=t[t.length-1],r=t.slice(0,-1),o=[];if("neg"===e)ti[n]&&o.push(r+ti[n]),o.push(t+"る");else if("masu"===e)ei[n]&&o.push(r+ei[n]),o.push(t+"る");else if("cond"===e)ni[n]&&o.push(r+ni[n]),o.push(r+ni[n]+"る");else if("volit"===e)ri[n]&&o.push(r+ri[n]);else if("te"===e||"ta"===e){if("し"===t||"き"===t||"来"===t)return["し"===t?"する":"来る"];let e=t.slice(-1);"っ"===e?(oi["って"].forEach(e=>o.push(t.slice(0,-1)+e)),o.push(t.slice(0,-1)+"く")):"ん"===e?oi["んで"].forEach(e=>o.push(t.slice(0,-1)+e)):"い"===e?o.push(t.slice(0,-1)+"く",t.slice(0,-1)+"ぐ"):"し"===e&&o.push(t.slice(0,-1)+"す"),o.push(t+"る")}return o.filter(t=>t&&t.length>1)};let si=[["ませんでした",["Verb","PastTense","Polite","Negative"],"masu"],["なかったら",["Verb","ConditionalVerb","Negative"],"neg"],["なければ",["Verb","ConditionalVerb","Negative"],"neg"],["ましょう",["Verb","Volitional","Polite"],"masu"],["なかった",["Verb","PastTense","Negative"],"neg"],["ないで",["Verb","Gerund","Negative"],"neg"],["なくて",["Verb","Gerund","Negative"],"neg"],["ません",["Verb","PresentTense","Polite","Negative"],"masu"],["ました",["Verb","PastTense","Polite"],"masu"],["ながら",["Verb","Continuative"],"masu"],["させる",["Verb","Causative","PresentTense"],"neg"],["させられる",["Verb","Causative","Passive","PresentTense"],"neg"],["られる",["Verb","Passive","PresentTense"],"neg"],["たがる",["Verb","Desire","PresentTense"],"masu"],["ます",["Verb","PresentTense","Polite"],"masu"],["ない",["Verb","PresentTense","Negative"],"neg"],["れる",["Verb","Passive","PresentTense"],"neg"],["せる",["Verb","Causative","PresentTense"],"neg"],["たい",["Verb","Desire"],"masu"],["そう",["Verb","Presumptive"],"masu"],["すぎる",["Verb","PresentTense"],"masu"],["たら",["Verb","ConditionalVerb"],"ta"],["だら",["Verb","ConditionalVerb"],"ta"],["たり",["Verb","Representative"],"ta"],["だり",["Verb","Representative"],"ta"],["ている",["Verb","Progressive","PresentTense"],"te"],["でいる",["Verb","Progressive","PresentTense"],"te"],["ています",["Verb","Progressive","PresentTense","Polite"],"te"],["でいます",["Verb","Progressive","PresentTense","Polite"],"te"],["ていた",["Verb","Progressive","PastTense"],"te"],["でいた",["Verb","Progressive","PastTense"],"te"],["てる",["Verb","Progressive","PresentTense"],"te"],["でる",["Verb","Progressive","PresentTense"],"te"],["た",["Verb","PastTense"],"ta"],["だ",["Verb","PastTense"],"ta"],["て",["Verb","Gerund"],"te"],["で",["Verb","Gerund"],"te"],["ば",["Verb","ConditionalVerb"],"cond"],["よう",["Verb","Volitional"],"neg","strict"],["う",["Verb","Volitional"],"volit","strict"]];si.sort((t,e)=>e[0].length-t[0].length);const ai=new Set(["し","さ","せ","す"]),ui=new Set(["き","こ","く","来"]),ci=function(t,e){if(!t)return[];let n=t[t.length-1],r=t.slice(0,-1);if(1===t.length){if(ai.has(n))return["する"];if(ui.has(n))return["来る"]}if(ai.has(n)){let n=ii(t,e);return r.length>=2?[r+"する"].concat(n):n.concat([r+"する"])}return ii(t,e)},li=function(t,e){if(!t||t.length<2)return null;for(let n=0;n<si.length;n+=1){let[r,o,i,s]=si[n];if(!t.endsWith(r)||t.length<=r.length)continue;let a=t.slice(0,-r.length),u=ci(a,i);if(0===u.length)continue;let c=e?u.find(e):null;if(s&&!c)continue;let l=c||u[0];if(c)return{root:l,tags:o,candidates:u};let h=u.find(e=>{let n=qo(e);return n&&Object.keys(n).some(e=>n[e]===t)});return h?{root:h,tags:o,candidates:u}:{root:l,tags:o,candidates:u,guess:!0}}return null};var hi={verb:qo,adjective:Yo,naAdjective:Jo,verbClass:Uo,deconjugate:li};const fi={Infinitive:["Verb","Infinitive","PresentTense"],PresentTense:["Verb","PresentTense"],PastTense:["Verb","PastTense"],Negative:["Verb","PresentTense","Negative"],PastNegative:["Verb","PastTense","Negative"],Gerund:["Verb","Gerund"],NegativeGerund:["Verb","Gerund","Negative"],Polite:["Verb","PresentTense","Polite"],PolitePast:["Verb","PastTense","Polite"],PoliteNegative:["Verb","PresentTense","Polite","Negative"],PolitePastNegative:["Verb","PastTense","Polite","Negative"],PoliteVolitional:["Verb","Volitional","Polite"],Imperative:["Verb","Imperative"],NegativeImperative:["Verb","Imperative","Negative"],Volitional:["Verb","Volitional"],Potential:["Verb","Potential","PresentTense"],Passive:["Verb","Passive","PresentTense"],Causative:["Verb","Causative","PresentTense"],CausativePassive:["Verb","Causative","Passive","PresentTense"],Conditional:["Verb","ConditionalVerb"],Provisional:["Verb","ConditionalVerb"],Progressive:["Verb","Progressive","PresentTense"],ProgressivePolite:["Verb","Progressive","PresentTense","Polite"],PastProgressive:["Verb","Progressive","PastTense"],Desire:["Verb","Desire"],Representative:["Verb","Representative"],Presumptive:["Verb","Presumptive"],Continuative:["Verb","Continuative"],Stem:["Verb","VerbStem"]},pi={Infinitive:["Adjective","IAdjective","PresentTense"],PresentTense:["Adjective","IAdjective","PresentTense"],Negative:["Adjective","IAdjective","PresentTense","Negative"],PastTense:["Adjective","IAdjective","PastTense"],PastNegative:["Adjective","IAdjective","PastTense","Negative"],Gerund:["Adjective","IAdjective","Gerund"],Adverb:["Adverb"],Provisional:["Adjective","IAdjective","ConditionalVerb"],Presumptive:["Adjective","IAdjective","Presumptive"],Superlative:["Verb","PresentTense"],Impression:["Adjective","Presumptive"],Nominal:["Noun"]},di={Infinitive:["Verb","Desire","PresentTense"],PresentTense:["Verb","Desire","PresentTense"],Negative:["Verb","Desire","PresentTense","Negative"],PastTense:["Verb","Desire","PastTense"],PastNegative:["Verb","Desire","PastTense","Negative"],Gerund:["Verb","Desire","Gerund"],Provisional:["Verb","Desire","ConditionalVerb"]},mi={PastTense:["PastTense"],Negative:["PresentTense","Negative"],PastNegative:["PastTense","Negative"],Gerund:["Gerund"],Polite:["PresentTense","Polite"],PolitePast:["PastTense","Polite"],PoliteNegative:["PresentTense","Polite","Negative"],PolitePastNegative:["PastTense","Polite","Negative"],Progressive:["Progressive","PresentTense"],Conditional:["ConditionalVerb"],Provisional:["ConditionalVerb"]},gi={Infinitive:["Adjective","NaAdjective"],Adverb:["Adverb"]};let vi={"だ":["Copula","PresentTense"],"だった":["Copula","PastTense"],"じゃない":["Copula","PresentTense","Negative"],"ではない":["Copula","PresentTense","Negative"],"じゃなかった":["Copula","PastTense","Negative"],"ではなかった":["Copula","PastTense","Negative"],"だろう":["Copula","Presumptive"],"なら":["Copula","ConditionalVerb"],"ならば":["Copula","ConditionalVerb"],"であれば":["Copula","ConditionalVerb"],"であって":["Copula","Gerund"],"です":["Copula","PresentTense","Polite"],"でした":["Copula","PastTense","Polite"],"でしょう":["Copula","Presumptive","Polite"],"ではありません":["Copula","PresentTense","Polite","Negative"],"じゃありません":["Copula","PresentTense","Polite","Negative"],"ではありませんでした":["Copula","PastTense","Polite","Negative"],"じゃありませんでした":["Copula","PastTense","Polite","Negative"],"でありまして":["Copula","Gerund","Polite"],"でございます":["Copula","PresentTense","Polite"],"ない":["Auxiliary","PresentTense","Negative"],"なかった":["Auxiliary","PastTense","Negative"],"ません":["Auxiliary","PresentTense","Polite","Negative"],"ませんでした":["Auxiliary","PastTense","Polite","Negative"],"ます":["Auxiliary","PresentTense","Polite"],"ました":["Auxiliary","PastTense","Polite"],"ましょう":["Auxiliary","Volitional","Polite"],"ぬ":["Auxiliary","PresentTense","Negative"],"ん":["Auxiliary","PresentTense","Negative"],"ある":["Verb","Infinitive","PresentTense"],"あります":["Verb","PresentTense","Polite"],"あった":["Verb","PastTense"],"ありました":["Verb","PastTense","Polite"],"ありません":["Verb","PresentTense","Polite","Negative"],"いる":["Verb","Infinitive","PresentTense"],"います":["Verb","PresentTense","Polite"],"いた":["Verb","PastTense"],"いました":["Verb","PastTense","Polite"],"いません":["Verb","PresentTense","Polite","Negative"],"たち":"PluralSuffix","ら":"PluralSuffix","さん":"Honorific","ちゃん":"Honorific","くん":"Honorific","君":["Noun","Honorific"],"様":"Honorific","さま":"Honorific","先生":["Noun","Honorific"],"氏":"Honorific","こと":["Noun","FormalNoun"],"事":["Noun","FormalNoun"],"もの":["Noun","FormalNoun"],"物":["Noun","FormalNoun"],"ため":["Noun","FormalNoun"],"為":["Noun","FormalNoun"],"とき":["Noun","FormalNoun"],"ところ":["Noun","FormalNoun"],"はず":["Noun","FormalNoun"],"つもり":["Noun","FormalNoun"],"わけ":["Noun","FormalNoun"],"これ":["Pronoun","Demonstrative"],"それ":["Pronoun","Demonstrative"],"あれ":["Pronoun","Demonstrative"],"どれ":["Pronoun","Demonstrative","QuestionWord"],"ここ":["Pronoun","Demonstrative"],"そこ":["Pronoun","Demonstrative"],"あそこ":["Pronoun","Demonstrative"],"どこ":["Pronoun","Demonstrative","QuestionWord"],"この":["Determiner","Demonstrative"],"その":["Determiner","Demonstrative"],"あの":["Determiner","Demonstrative"],"どの":["Determiner","Demonstrative","QuestionWord"],"こんな":["Determiner","Demonstrative"],"そんな":["Determiner","Demonstrative"],"あんな":["Determiner","Demonstrative"],"どんな":["Determiner","Demonstrative","QuestionWord"],"こう":["Adverb","Demonstrative"],"そう":["Adverb","Demonstrative"],"ああ":["Adverb","Demonstrative"],"どう":["Adverb","Demonstrative","QuestionWord"],"何":["Noun","QuestionWord"],"なに":["Noun","QuestionWord"],"なん":["Noun","QuestionWord"],"誰":["Noun","QuestionWord"],"だれ":["Noun","QuestionWord"],"いつ":["Noun","QuestionWord"],"なぜ":["Adverb","QuestionWord"],"どうして":["Adverb","QuestionWord"],"いくら":["Noun","QuestionWord"],"いくつ":["Noun","QuestionWord"],"大きな":["Adjective","Adnominal"],"小さな":["Adjective","Adnominal"],"おかしな":["Adjective","Adnominal"],"いろんな":["Adjective","Adnominal"]},bi={},Pi={},yi=new Set;const wi=function(t,e,n){if(t&&(!yi.has(t)||n)){if(n){if(yi.has(t)){let n=new Set([].concat(bi[t],e));return void(bi[t]=[...n])}yi.add(t)}bi[t]=e}},ji=["Potential","Passive","Causative","CausativePassive"],Ci=function(t,e){let n=qo(t,e);if(!n)return;Object.keys(fi).forEach(e=>{let r=n[e];r&&r!==t&&("Stem"!==e||/[一-龯]/.test(r))&&(wi(r,fi[e]),void 0===Pi[r]&&(Pi[r]=t))});let r=Yo(n.Desire);r&&Object.keys(di).forEach(e=>{let n=r[e];n&&(wi(n,di[e]),void 0===Pi[n]&&(Pi[n]=t))}),ji.forEach(e=>{n[e]&&function(t,e,n){let r=qo(t,"Ichidan");r&&Object.keys(mi).forEach(o=>{let i=r[o];i&&i!==t&&(wi(i,["Verb"].concat(e,mi[o])),void 0===Pi[i]&&(Pi[i]=n||t))})}(n[e],"CausativePassive"===e?["Causative","Passive"]:[e],t)}),wi(t,fi.Infinitive,!0)},xi={};Object.keys(Vo).forEach(t=>{xi[t]=Object.keys(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=_o(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}(Vo[t]))}),(xi.Godan||[]).forEach(t=>Ci(t,"Godan")),(xi.Ichidan||[]).forEach(t=>Ci(t,"Ichidan")),(xi.IrregularVerb||[]).forEach(t=>Ci(t)),(xi.SuruVerb||[]).forEach(t=>{Ci(t+"する"),wi(t,["Noun","SuruVerb"],!0)}),(xi.Adjective||[]).forEach(t=>function(t){let e=Yo(t);e&&Object.keys(pi).forEach(n=>{let r=e[n];r&&r!==t&&(wi(r,pi[n]),void 0===Pi[r]&&(Pi[r]=t))}),wi(t,pi.Infinitive,!0)}(t)),(xi.NaAdjective||[]).forEach(t=>function(t){let e=Jo(t);Object.keys(gi).forEach(n=>{let r=e[n];r&&r!==t&&wi(r,gi[n])}),wi(t,gi.Infinitive,!0)}(t));const Ei=new Set(["Godan","Ichidan","IrregularVerb","SuruVerb","Adjective","NaAdjective"]);Object.keys(xi).forEach(t=>{Ei.has(t)||xi[t].forEach(e=>wi(e,t,!0))}),Object.keys(vi).forEach(t=>{bi[t]=vi[t],yi.add(t)});const Ni=t=>bi.hasOwnProperty(t),Ai={conjugate:function(t){return qo(t)},conjugateAdjective:function(t){return t.endsWith("い")?Yo(t):Jo(t)},deconjugate:function(t){let e=li(t,Ni);return e?(void 0!==Pi[t]&&Pi[t]!==t&&(e.root=Pi[t]),e):null},verbClass:function(t){return Uo(t)}};var Vi={model:{one:{lexicon:bi,roots:Pi}},api:function(t){t.prototype.verbs=function(){return this.match("#Verb")},t.prototype.nouns=function(){return this.match("#Noun")},t.prototype.adjectives=function(){return this.match("#Adjective")},t.prototype.particles=function(){return this.match("#Particle")},t.prototype.dates=function(){return this.match("#Date+")},t.prototype.toInfinitive=function(){return this.compute("root"),this.docs.map(t=>t.map(t=>t.root||t.text).join(""))}},methods:{two:{transform:{verb:hi}}}};const Ti=function(t){return t>=""&&t<="ゟ"},Oi=function(t){return"・"!==t&&"゠"!==t&&(t>="゠"&&t<="ヿ"||t>="ㇰ"&&t<="ㇿ")},ki=function(t){return t>="一"&&t<="龯"||t>="㐀"&&t<="䶿"||"々"===t||"〆"===t||"ヶ"===t||"𠮟"===t},Si=function(t){return t>="0"&&t<="9"||t>="0"&&t<="9"},Di=function(t){return/[a-zA-Z]/.test(t)||t>="A"&&t<="z"},_i=function(t){return/[、。,.!?!?,.::;;・…〜~「」『』()()【】〔〕《》〈〉\s]/.test(t)},$i=function(t){return"ー"===t||"ー"===t?"katakana":Ti(t)?"hiragana":Oi(t)?"katakana":ki(t)?"kanji":Si(t)?"number":Di(t)?"ascii":_i(t)?"punctuation":"other"},Fi=new Set(["たち","達"]),zi=new Set(["お","ご","御"]),Gi=function(t,e){return t===e&&"punctuation"!==t&&"other"!==t},Li=t=>"kanji"===t||"hiragana"===t?4:1/0,Ii=new Set(["は","が","を","に","へ","と","も","の","か","ね","よ","や","で","ば"]),Mi=t=>t.split("").every(Ti),Wi={"〇":0,"零":0,"0":0,0:0,"一":1,"壱":1,"1":1,1:1,"二":2,"弐":2,"2":2,2:2,"三":3,"参":3,"3":3,3:3,"四":4,"肆":4,"4":4,4:4,"五":5,"伍":5,"5":5,5:5,"六":6,"陸":6,"6":6,6:6,"七":7,"漆":7,"7":7,7:7,"八":8,"捌":8,"8":8,8:8,"九":9,"玖":9,"9":9,9:9},Bi={"十":10,"拾":10,"百":100,"佰":100,"千":1e3,"仟":1e3},Hi={"万":1e4,"萬":1e4,"億":1e8,"兆":1e12,"京":1e16},Qi=function(t){return void 0!==Wi[t]||void 0!==Bi[t]||void 0!==Hi[t]},Ri=function(t){if(!t)return null;let e=0,n=0,r=0,o=!1;for(let i=0;i<t.length;i+=1){let s=t[i];if(void 0===Wi[s]){if(void 0===Bi[s]){if(void 0!==Hi[s]){let t=n+r;e+=(0===t?1:t)*Hi[s],n=0,r=0,o=!0;continue}return null}n+=(0===r?1:r)*Bi[s],r=0,o=!0}else r=Number(10*r)+Number(Wi[s]),o=!0}return o?e+n+r:null},Ki=function(t){for(let e=0;e<t.length;e+=1)if(!Qi(t[e]))return!1;return t.length>0},{words:Ui,maxLen:qi}=function(t){let e=new Set,n=1;for(let r=0;r<t.length;r+=1)e.add(t[r]),t[r].length>n&&(n=t[r].length);return{words:e,maxLen:n}}(Object.keys(bi)),Zi=Math.min(qi,12),Yi=/^[-ゟ]+$/,Ji=new Set(["は","が","を","に","へ","と","も","の","で","や","か"]),Xi=t=>1===t.length&&Yi.test(t),ts=/[「『((【〔《〈]+$/,es=function(t,e){if(!0===e&&t.length<=6&&Yi.test(t)&&!bi[t])return[t];let n=function(t,e,n){let r=[],o=0;for(;o<t.length;){let i="";for(let r=Math.min(n,t.length-o);r>1;r-=1){let n=t.substr(o,r);if(e.has(n)){i=n;break}}""===i&&(i=t[o]),r.push(i),o+=i.length}return r}(t,Ui,Zi);n=function(t){let e=[];for(let n=0;n<t.length;n+=1){if(!Xi(t[n])){e.push(t[n]);continue}let r=n;for(;r<t.length&&Xi(t[r]);)r+=1;let o=t.slice(n,r);n=r-1;let i=[[]];o.forEach(t=>{"を"===t?i.push(["を"],[]):i[i.length-1].push(t)}),i.forEach(t=>{if(0===t.length)return;if(1===t.length||"を"===t[0]||t.length>7)return void(e=e.concat(t));if(t.every(t=>Ji.has(t)))return void(e=e.concat(t));let n=e.length>0&&!Ji.has(e[e.length-1]),r="",o="";t.length>2&&n&&Ji.has(t[0])&&(r=t.shift()),t.length>2&&Ji.has(t[t.length-1])&&(o=t.pop()),r&&e.push(r),e.push(t.join("")),o&&e.push(o)})}return e}(n),n=function(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n];if(null===r||""===r)continue;let o=e[e.length-1];if(Fi.has(r)&&o&&!bi[o+r])e[e.length-1]=o+r;else if(zi.has(r)&&t[n+1]&&ki(t[n+1][0])&&!bi[r])e.push(r+t[n+1]),n+=1;else{if(1===r.length&&!bi[r]){let o=$i(r),i=r,s=Li(o);for(;i.length<s&&void 0!==t[n+1];){let e=t[n+1];if(1!==e.length||!Gi(o,$i(e)))break;if(bi[e]&&"kanji"!==o)break;i+=e,n+=1}e.push(i);continue}e.push(r)}}return e}(n),n=function(t){let e=[];for(let n=0;n<t.length;n+=1){if(!Ki(t[n])){e.push(t[n]);continue}let r=t[n];for(;void 0!==t[n+1]&&Ki(t[n+1]);)r+=t[n+1],n+=1;e.push(r)}return e}(n),n=function(t){let e=[];for(let n=0;n<t.length;n+=1){let r=t[n];if(bi[r]||!r.split("").every(ki)){e.push(r);continue}let o="",i=n;for(let e=n+1;e<t.length&&Mi(t[e])&&!(o.length+t[e].length>6);e+=1)o+=t[e],i=e;if(""===o||Ii.has(o[0])){e.push(r);continue}let s=r,a=n;for(let e=i;e>n;e-=1){let o=r+t.slice(n+1,e+1).join("");if(!(o.length-r.length<2)&&(bi[o]||li(o))){s=o,a=e;break}}e.push(s),n=a}return e}(n);let r=[],o="";return n.forEach(t=>{if(""!==t){if(t.split("").every(_i)){let e="";return""!==(t=t.replace(ts,t=>(e=t,"")))&&r.length>0?r[r.length-1]+=t:o+=t,void(o+=e)}r.push(o+t),o=""}}),""!==o&&(r.length>0?r[r.length-1]+=o:r.push(o)),r},ns=/^[\s「『((〽【〔《〈]+/,rs=/[\s、。,.:;・」』))…〜~】〕》〉\.?!?!]+$/,os=function(t,e){let n=[];return es(t,e).forEach(t=>{let{pre:e,post:r,inside:o}=function(t){let e="",n="",r=t;return r=r.replace(ns,t=>(e=t||"","")),r=r.replace(rs,t=>(n=t||"","")),{pre:e,inside:r,post:n}}(t);if(""===o)return n.length>0?void(n[n.length-1].post+=e+r):void 0;n.push({text:o,normal:o.toLowerCase(),pre:e,post:r,tags:new Set})}),n};var is=[{},{"あ":"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 ss=new Set(["き","ぎ","し","じ","ち","ぢ","っ","て","に","ひ","び","ぴ","み","り"]);const as=function(t){return t>=""&&t<="ゟ"},us="aiueo",cs=function(t){let e=function(t){let e="";for(let n=0;n<t.length;n+=1){let r=t[n];e+=r>="ァ"&&r<="ヶ"?String.fromCharCode(r.charCodeAt(0)-96):r}return e}(t).split(""),n="";for(let t=0;t<e.length;t+=1){let r=e[t];if("ー"===r||"ー"===r){let t=n[n.length-1];t&&us.includes(t)&&(n+=t);continue}if(as(r)){if("っ"===r){let r=e[t+1]?is[1][e[t+1]]:"";r&&!us.includes(r[0])&&(n+=r[0]);continue}if(ss.has(r)&&e[t+1]){let o=r+e[t+1];if(is[2].hasOwnProperty(o)){n+=is[2][o],t+=1;continue}if(e[t+2]){let o=r+e[t+1]+e[t+2];if(is[3].hasOwnProperty(o)){n+=is[3][o],t+=1;continue}}}n+=is[1][r]||r}else n+=r}return n};var ls={"一":"ひと-|イチ","二":"ふた|ニ","三":"み|サン","四":"よ|シ","五":"いつ|ゴ","六":"む|ロク","七":"なな|シチ","八":"や|ハチ","九":"ここの|キュウ","十":"とお|ジュウ","百":"もも|ヒャク","千":"ち|セン","上":"うえ|ジョウ","下":"した|カ","左":"ひだり|サ","右":"みぎ|ウ","中":"なか|チュウ","大":"おお-|ダイ","小":"ちい.さい|ショウ","月":"つき|ゲツ","日":"ひ|ニチ","年":"とし|ネン","早":"はや.い|ソウ","木":"き|ボク","林":"はやし|リン","山":"やま|サン","川":"かわ|セン","土":"つち|ド","空":"そら|クウ","田":"た|デン","天":"あまつ|テン","生":"い.きる|セイ","花":"はな|カ","草":"くさ|ソウ","虫":"むし|チュウ","犬":"いぬ|ケン","人":"ひと|ジン","名":"な|メイ","女":"おんな|ジョ","男":"おとこ|ダン","子":"こ|シ","目":"め|モク","耳":"みみ|ジ","口":"くち|コウ","手":"て|シュ","足":"あし|ソク","見":"み.る|ケン","音":"おと|オン","力":"ちから|リョク","気":"いき|キ","円":"まる.い|エン","入":"い.る|ニュウ","出":"で.る|シュツ","立":"た.つ|リツ","休":"やす.む|キュウ","先":"さき|セン","夕":"ゆう|セキ","本":"もと|ホン","文":"ふみ|ブン","字":"あざ|ジ","学":"まな.ぶ|ガク","村":"むら|ソン","町":"まち|チョウ","森":"もり|シン","正":"ただ.しい|セイ","水":"みず|スイ","火":"ひ|カ","玉":"たま|ギョク","石":"いし|セキ","竹":"たけ|チク","糸":"いと|シ","貝":"かい|バイ","車":"くるま|シャ","金":"かね|キン","雨":"あめ|ウ","赤":"あか|セキ","青":"あお|セイ","白":"しろ|ハク","数":"かず|スウ","多":"おお.い|タ","少":"すく.ない|ショウ","万":"よろず|マン","半":"なか.ば|ハン","形":"かた|ケイ","太":"ふと.い|タイ","細":"ほそ.い|サイ","広":"ひろ.い|コウ","長":"なが.い|チョウ","点":"つ.ける|テン","丸":"まる|ガン","交":"まじ.わる|コウ","光":"ひか.る|コウ","角":"かど|カク","計":"はか.る|ケイ","直":"ただ.ちに|チョク","線":"すじ|セン","矢":"や|シ","弱":"よわ.い|ジャク","強":"つよ.い|キョウ","高":"たか.い|コウ","同":"おな.じ|ドウ","親":"おや|シン","母":"はは|ボ","父":"ちち|フ","姉":"あね|シ","兄":"あに|ケイ","弟":"おとうと|テイ","妹":"いもうと|マイ","自":"みずか.ら|ジ","友":"とも|ユウ","体":"からだ|タイ","毛":"け|モウ","頭":"あたま|トウ","顔":"かお|ガン","首":"くび|シュ","心":"こころ|シン","時":"とき|ジ","朝":"あさ|チョウ","昼":"ひる|チュウ","夜":"よ|ヤ","分":"わ.ける|ブン","春":"はる|シュン","夏":"なつ|カ","秋":"あき|シュウ","冬":"ふゆ|トウ","今":"いま|コン","新":"あたら.しい|シン","古":"ふる.い|コ","間":"あいだ|カン","方":"かた|ホウ","北":"きた|ホク","南":"みなみ|ナン","東":"ひがし|トウ","西":"にし|セイ","遠":"とお.い|エン","近":"ちか.い|キン","前":"まえ|ゼン","後":"のち|ゴ","内":"うち|ナイ","外":"そと|ガイ","場":"ば|ジョウ","国":"くに|コク","園":"その|エン","谷":"たに|コク","野":"の|ヤ","原":"はら|ゲン","里":"さと|リ","市":"いち|シ","京":"みやこ|キョウ","風":"かぜ|フウ","雪":"ゆき|セツ","雲":"くも|ウン","池":"いけ|チ","海":"うみ|カイ","岩":"いわ|ガン","星":"ほし|セイ","室":"むろ|シツ","戸":"と|コ","家":"いえ|カ","寺":"てら|ジ","通":"とお.る|ツウ","門":"かど|モン","道":"みち|ドウ","話":"はな.す|ワ","言":"い.う|ゲン","答":"こた.える|トウ","声":"こえ|セイ","聞":"き.く|ブン","語":"かた.る|ゴ","読":"よ.む|ドク","書":"か.く|ショ","記":"しる.す|キ","紙":"かみ|シ","画":"えが.く|ガ","図":"え|ズ","教":"おし.える|キョウ","晴":"は.れる|セイ","思":"おも.う|シ","考":"かんが.える|コウ","知":"し.る|チ","理":"ことわり|リ","算":"そろ|サン","作":"つく.る|サク","元":"もと|ゲン","食":"く.う|ショク","肉":"しし|ニク","馬":"うま|バ","牛":"うし|ギュウ","魚":"うお|ギョ","鳥":"とり|チョウ","羽":"は|ウ","鳴":"な.く|メイ","麦":"むぎ|バク","米":"こめ|ベイ","色":"いろ|ショク","黄":"き|コウ","黒":"くろ|コク","来":"く.る|ライ","行":"い.く|コウ","帰":"かえ.る|キ","歩":"ある.く|ホ","走":"はし.る|ソウ","止":"と.まる|シ","活":"い.きる|カツ","店":"みせ|テン","買":"か.う|バイ","売":"う.る|バイ","午":"うま|ゴ","弓":"ゆみ|キュウ","回":"まわ.る|カイ","会":"あ.う|カイ","組":"く.む|ソ","船":"ふね|セン","明":"あ.かり|メイ","社":"やしろ|シャ","切":"き.る|セツ","毎":"ごと|マイ","合":"あ.う|ゴウ","当":"あ.たる|トウ","台":"うてな|ダイ","楽":"たの.しい|ガク","公":"おおやけ|コウ","引":"ひ.く|イン","歌":"うた|カ","刀":"かたな|トウ","番":"つが.い|バン","用":"もち.いる|ヨウ","何":"なに|カ","丁":"ひのと|チョウ","世":"よ|セイ","両":"てる|リョウ","主":"ぬし|シュ","乗":"の.る|ジョウ","予":"あらかじ.め|ヨ","事":"こと|ジ","仕":"つか.える|シ","他":"ほか|タ","代":"か.わる|ダイ","住":"す.む|ジュウ","使":"つか.う|シ","係":"かか.る|ケイ","全":"まった.く|ゼン","具":"そな.える|グ","写":"うつ.す|シャ","助":"たす.ける|ジョ","勉":"つと.める|ベン","動":"うご.く|ドウ","勝":"か.つ|ショウ","化":"ば.ける|カ","医":"い.やす|イ","去":"さ.る|キョ","反":"そ.る|ハン","取":"と.る|シュ","受":"う.ける|ジュ","号":"さけ.ぶ|ゴウ","向":"む.く|コウ","君":"きみ|クン","味":"あじ|ミ","命":"いのち|メイ","和":"やわ.らぐ|ワ","品":"しな|ヒン","商":"あきな.う|ショウ","問":"と.う|モン","坂":"さか|ハン","始":"はじ.める|シ","委":"ゆだ.ねる|イ","守":"まも.る|シュ","安":"やす.い|アン","定":"さだ.める|テイ","実":"み|ジツ","宮":"みや|キュウ","宿":"やど|シュク","寒":"さむ.い|カン","対":"あいて|タイ","局":"つぼね|キョク","屋":"や|オク","岸":"きし|ガン","島":"しま|トウ","州":"す|シュウ","帳":"とばり|チョウ","平":"たい.ら|ヘイ","幸":"さいわ.い|コウ","度":"たび|ド","庫":"くら|コ","庭":"にわ|テイ","待":"ま.つ|タイ","急":"いそ.ぐ|キュウ","息":"いき|ソク","悪":"わる.い|アク","悲":"かな.しい|ヒ","想":"おも.う|ソウ","所":"ところ|ショ","打":"う.つ|ダ","投":"な.げる|トウ","拾":"ひろ.う|シュウ","持":"も.つ|ジ","指":"ゆび|シ","放":"はな.す|ホウ","整":"ととの.える|セイ","旅":"たび|リョ","昔":"むかし|セキ","暑":"あつ.い|ショ","暗":"くら.い|アン","曲":"ま.がる|キョク","有":"あ.る|ユウ","板":"いた|ハン","柱":"はしら|チュウ","根":"ね|コン","植":"う.える|ショク","業":"わざ|ギョウ","様":"さま|ヨウ","横":"よこ|オウ","橋":"はし|キョウ","次":"つ.ぐ|ジ","歯":"よわい|シ","死":"し.ぬ|シ","氷":"こおり|ヒョウ","決":"き.める|ケツ","油":"あぶら|ユ","波":"なみ|ハ","注":"そそ.ぐ|チュウ","泳":"およ.ぐ|エイ","流":"なが.れる|リュウ","消":"き.える|ショウ","深":"ふか.い|シン","温":"あたた.か|オン","港":"みなと|コウ","湖":"みずうみ|コ","湯":"ゆ|トウ","炭":"すみ|タン","物":"もの|ブツ","球":"たま|キュウ","由":"よし|ユ","申":"もう.す|シン","病":"や.む|ビョウ","発":"た.つ|ハツ","登":"のぼ.る|トウ","皮":"かわ|ヒ","皿":"さら|ベイ","相":"あい-|ソウ","県":"か.ける|ケン","真":"ま|シン","着":"き.る|チャク","短":"みじか.い|タン","研":"と.ぐ|ケン","神":"かみ|シン","祭":"まつ.る|サイ","究":"きわ.める|キュウ","童":"わらべ|ドウ","笛":"ふえ|テキ","筆":"ふで|ヒツ","等":"ひと.しい|トウ","箱":"はこ|ソウ","終":"お.わる|シュウ","緑":"みどり|リョク","練":"ね.る|レン","羊":"ひつじ|ヨウ","美":"うつく.しい|ビ","習":"なら.う|シュウ","者":"もの|シャ","育":"そだ.つ|イク","苦":"くる.しい|ク","荷":"に|カ","落":"お.ちる|ラク","葉":"は|ヨウ","薬":"くすり|ヤク","血":"ち|ケツ","表":"おもて|ヒョウ","詩":"うた|シ","調":"しら.べる|チョウ","豆":"まめ|トウ","負":"ま.ける|フ","起":"お.きる|キ","路":"-じ|ロ","身":"み|シン","転":"ころ.がる|テン","軽":"かる.い|ケイ","返":"かえ.す|ヘン","追":"お.う|ツイ","送":"おく.る|ソウ","速":"はや.い|ソク","進":"すす.む|シン","遊":"あそ.ぶ|ユウ","運":"はこ.ぶ|ウン","部":"-べ|ブ","都":"みやこ|ト","配":"くば.る|ハイ","酒":"さけ|シュ","重":"え|ジュウ","鉄":"くろがね|テツ","銀":"しろがね|ギン","開":"ひら.く|カイ","陽":"ひ|ヨウ","階":"きざはし|カイ","集":"あつ.まる|シュウ","面":"おも|メン","飲":"の.む|イン","館":"やかた|カン","鼻":"はな|ビ","争":"あらそ.う|ソウ","付":"つ.ける|フ","以":"もっ.て|イ","仲":"なか|チュウ","伝":"つた.わる|デン","位":"くらい|イ","低":"ひく.い|テイ","例":"たと.える|レイ","便":"たよ.り|ベン","倉":"くら|ソウ","候":"そうろう|コウ","借":"か.りる|シャク","停":"と.める|テイ","健":"すこ.やか|ケン","側":"かわ|ソク","働":"はたら.く|ドウ","兆":"きざ.す|チョウ","児":"こ|ジ","共":"とも|キョウ","兵":"つわもの|ヘイ","冷":"つめ.たい|レイ","初":"はじ.め|ショ","別":"わか.れる|ベツ","利":"き.く|リ","刷":"す.る|サツ","功":"いさお|コウ","加":"くわ.える|カ","努":"つと.める|ド","労":"ろう.する|ロウ","勇":"いさ.む|ユウ","包":"つつ.む|ホウ","卒":"そっ.する|ソツ","単":"ひとえ|タン","印":"しるし|イン","参":"まい.る|サン","司":"つかさど.る|シ","各":"おのおの|カク","告":"つ.げる|コク","周":"まわ.り|シュウ","唱":"とな.える|ショウ","喜":"よろこ.ぶ|キ","器":"うつわ|キ","囲":"かこ.む|イ","固":"かた.める|コ","型":"かた|ケイ","塩":"しお|エン","士":"さむらい|シ","変":"か.わる|ヘン","夫":"おっと|フ","失":"うしな.う|シツ","好":"この.む|コウ","孫":"まご|ソン","巣":"す|ソウ","差":"さ.す|サ","希":"まれ|キ","席":"むしろ|セキ","帯":"お.びる|タイ","底":"そこ|テイ","建":"た.てる|ケン","径":"みち|ケイ","徒":"いたずら|ト","得":"え.る|トク","必":"かなら.ず|ヒツ","愛":"いと.しい|アイ","成":"な.る|セイ","戦":"いくさ|セン","折":"お.る|セツ","挙":"あ.げる|キョ","改":"あらた.める|カイ","救":"すく.う|キュウ","敗":"やぶ.れる|ハイ","散":"ち.る|サン","旗":"はた|キ","最":"もっと.も|サイ","望":"のぞ.む|ボウ","未":"いま.だ|ミ","末":"すえ|マツ","札":"ふだ|サツ","束":"たば|ソク","松":"まつ|ショウ","果":"は.たす|カ","栄":"さか.える|エイ","案":"つくえ|アン","梅":"うめ|バイ","械":"かせ|カイ","極":"きわ.める|キョク","標":"しるべ|ヒョウ","機":"はた|キ","欠":"か.ける|ケツ","残":"のこ.る|ザン","殺":"ころ.す|サツ","氏":"うじ|シ","民":"たみ|ミン","求":"もと.める|キュウ","治":"おさ.める|ジ","法":"のり|ホウ","泣":"な.く|キュウ","浅":"あさ.い|セン","浴":"あ.びる|ヨク","清":"きよ.い|セイ","満":"み.ちる|マン","漁":"あさ.る|ギョ","灯":"ひ|トウ","無":"な.い|ム","然":"しか|ゼン","焼":"や.く|ショウ","照":"て.る|ショウ","熱":"あつ.い|ネツ","牧":"まき|ボク","産":"う.む|サン","的":"まと|テキ","省":"かえり.みる|セイ","祝":"いわ.う|シュク","種":"たね|シュ","積":"つ.む|セキ","競":"きそ.う|キョウ","笑":"わら.う|ショウ","管":"くだ|カン","節":"ふし|セツ","粉":"デシメートル|フン","約":"つづ.まる|ヤク","結":"むす.ぶ|ケツ","給":"たま.う|キュウ","続":"つづ.く|ゾク","置":"お.く|チ","老":"お.いる|ロウ","脈":"すじ|ミャク","腸":"はらわた|チョウ","良":"よ.い|リョウ","芸":"う.える|ゲイ","芽":"め|ガ","英":"はなぶさ|エイ","菜":"な|サイ","街":"まち|ガイ","衣":"ころも|イ","要":"い.る|ヨウ","覚":"おぼ.える|カク","観":"み.る|カン","訓":"おし.える|クン","試":"こころ.みる|シ","説":"と.く|セツ","象":"かたど.る|ショウ","貨":"たから|カ","貯":"た.める|チョ","費":"つい.やす|ヒ","賞":"ほ.める|ショウ","軍":"いくさ|グン","輪":"わ|リン","辞":"や.める|ジ","辺":"あた.り|ヘン","連":"つら.なる|レン","達":"-たち|タツ","選":"えら.ぶ|セン","郡":"こおり|グン","量":"はか.る|リョウ","録":"しる.す|ロク","鏡":"かがみ|キョウ","関":"せき|カン","陸":"おか|リク","静":"しず-|セイ","願":"ねが.う|ガン","類":"たぐ.い|ルイ","飛":"と.ぶ|ヒ","飯":"めし|ハン","養":"やしな.う|ヨウ","験":"あかし|ケン","久":"ひさ.しい|キュウ","仏":"ほとけ|ブツ","仮":"かり|カ","件":"くだん|ケン","任":"まか.せる|ニン","似":"に.る|ジ","余":"あま.る|ヨ","価":"あたい|カ","保":"たも.つ|ホ","修":"おさ.める|シュウ","俵":"たわら|ヒョウ","備":"そな.える|ビ","再":"ふたた.び|サイ","判":"わか.る|ハン","則":"のっと.る|ソク","効":"き.く|コウ","務":"つと.める|ム","勢":"いきお.い|セイ","厚":"あつ.い|コウ","可":"-べ.き|カ","営":"いとな.む|エイ","因":"よ.る|イン","団":"かたまり|ダン","圧":"お.す|アツ","在":"あ.る|ザイ","均":"なら.す|キン","基":"もと|キ","報":"むく.いる|ホウ","境":"さかい|キョウ","墓":"はか|ボ","増":"ま.す|ゾウ","夢":"ゆめ|ム","妻":"つま|サイ","婦":"よめ|フ","容":"い.れる|ヨウ","寄":"よ.る|キ","富":"と.む|フ","導":"みちび.く|ドウ","居":"い.る|キョ","属":"さかん|ゾク","布":"ぬの|フ","師":"いくさ|シ","常":"つね|ジョウ","幹":"みき|カン","序":"つい.で|ジョ","弁":"かんむり|ベン","張":"は.る|チョウ","往":"い.く|オウ","復":"また|フク","志":"シリング|シ","応":"あた.る|オウ","快":"こころよ.い|カイ","性":"さが|セイ","情":"なさ.け|ジョウ","態":"わざ.と|タイ","慣":"な.れる|カン","承":"うけたまわ.る|ショウ","技":"わざ|ギ","招":"まね.く|ショウ","授":"さず.ける|ジュ","採":"と.る|サイ","接":"つ.ぐ|セツ","提":"さ.げる|テイ","損":"そこ.なう|ソン","支":"ささ.える|シ","政":"まつりごと|セイ","故":"ゆえ|コ","敵":"かたき|テキ","断":"た.つ|ダン","旧":"ふる.い|キュウ","易":"やさ.しい|エキ","暴":"あば.く|ボウ","条":"えだ|ジョウ","枝":"えだ|シ","桜":"さくら|オウ","検":"しら.べる|ケン","構":"かま.える|コウ","武":"たけ|ブ","比":"くら.べる|ヒ","永":"なが.い|エイ","河":"かわ|カ","混":"ま.じる|コン","減":"へ.る|ゲン","測":"はか.る|ソク","準":"じゅん.じる|ジュン","潔":"いさぎよ.い|ケツ","災":"わざわ.い|サイ","燃":"も.える|ネン","犯":"おか.す|ハン","独":"ひと.り|ドク","率":"ひき.いる|ソツ","現":"あらわ.れる|ゲン","留":"と.める|リュウ","略":"ほぼ|リャク","益":"ま.す|エキ","眼":"まなこ|ガン","破":"やぶ.る|ハ","確":"たし.か|カク","示":"しめ.す|ジ","移":"うつ.る|イ","程":"ほど|テイ","築":"きず.く|チク","素":"もと|ソ","経":"へ.る|ケイ","統":"す.べる|トウ","絶":"た.える|ゼツ","綿":"わた|メン","総":"す.べて|ソウ","編":"あ.む|ヘン","織":"お.る|ショク","罪":"つみ|ザイ","群":"む.れる|グン","耕":"たがや.す|コウ","肥":"こ.える|ヒ","能":"よ.く|ノウ","興":"おこ.る|コウ","舌":"した|ゼツ","舎":"やど.る|シャ","術":"すべ|ジュツ","解":"と.く|カイ","設":"もう.ける|セツ","許":"ゆる.す|キョ","証":"あかし|ショウ","謝":"あやま.る|シャ","識":"し.る|シキ","護":"まも.る|ゴ","豊":"ゆた.か|ホウ","財":"たから|ザイ","貧":"まず.しい|ヒン","責":"せ.める|セキ","貸":"か.す|タイ","賛":"たす.ける|サン","質":"たち|シツ","述":"の.べる|ジュツ","迷":"まよ.う|メイ","退":"しりぞ.く|タイ","逆":"さか|ギャク","造":"つく.る|ゾウ","過":"す.ぎる|カ","適":"かな.う|テキ","酸":"す.い|サン","鉱":"あらがね|コウ","銅":"あかがね|ドウ","銭":"ぜに|セン","防":"ふせ.ぐ|ボウ","限":"かぎ.る|ゲン","険":"けわ.しい|ケン","際":"きわ|サイ","雑":"まじ.える|ザツ","非":"あら.ず|ヒ","預":"あず.ける|ヨ","領":"えり|リョウ","額":"ひたい|ガク","飼":"か.う|シ","並":"な.み|ヘイ","乱":"みだ.れる|ラン","乳":"ちち|ニュウ","亡":"な.い|ボウ","供":"そな.える|キョウ","値":"ね|チ","傷":"きず|ショウ","優":"やさ.しい|ユウ","党":"なかま|トウ","冊":"ふみ|サツ","処":"ところ|ショ","刻":"きざ.む|コク","割":"わ.る|カツ","創":"つく.る|ソウ","勤":"つと.める|キン","危":"あぶ.ない|キ","卵":"たまご|ラン","厳":"おごそ.か|ゲン","収":"おさ.める|シュウ","后":"きさき|コウ","否":"いな|ヒ","吸":"す.う|キュウ","呼":"よ.ぶ|コ","善":"よ.い|ゼン","困":"こま.る|コン","垂":"た.れる|スイ","城":"しろ|ジョウ","奏":"かな.でる|ソウ","奮":"ふる.う|フン","姿":"すがた|シ","存":"ながら.える|ソン","宗":"むね|シュウ","宝":"たから|ホウ","宣":"のたま.う|セン","密":"ひそ.か|ミツ","専":"もっぱ.ら|セン","射":"い.る|シャ","将":"まさ.に|ショウ","尊":"たっと.い|ソン","就":"つ.く|シュウ","届":"とど.ける|カイ","己":"おのれ|コ","巻":"ま.く|カン","幕":"とばり|マク","干":"ほ.す|カン","幼":"おさな.い|ヨウ","庁":"やくしょ|チョウ","座":"すわ.る|ザ","延":"の.びる|エン","従":"したが.う|ジュウ","忘":"わす.れる|ボウ","我":"われ|ガ","担":"かつ.ぐ|タン","拝":"おが.む|ハイ","拡":"ひろ.がる|カク","捨":"す.てる|シャ","探":"さぐ.る|タン","推":"お.す|スイ","揮":"ふる.う|キ","操":"みさお|ソウ","敬":"うやま.う|ケイ","映":"うつ.る|エイ","暖":"あたた.か|ダン","暮":"く.れる|ボ","朗":"ほが.らか|ロウ","机":"つくえ|キ","染":"そ.める|セン","株":"かぶ|シュ","権":"おもり|ケン","樹":"き|ジュ","欲":"ほっ.する|ヨク","沿":"そ.う|エン","泉":"いずみ|セン","洗":"あら.う|セン","済":"す.む|サイ","源":"みなもと|ゲン","潮":"しお|チョウ","激":"はげ.しい|ゲキ","灰":"はい|カイ","熟":"う.れる|ジュク","片":"かた-|ヘン","異":"こと|イ","疑":"うたが.う|ギ","痛":"いた.い|ツウ","盛":"も.る|セイ","看":"み.る|カン","砂":"すな|サ","私":"わたくし|シ","秘":"ひ.める|ヒ","穴":"あな|ケツ","窓":"まど|ソウ","筋":"すじ|キン","簡":"えら.ぶ|カン","紅":"べに|コウ","納":"おさ.める|ノウ","絹":"きぬ|ケン","縦":"たて|ジュウ","縮":"ちぢ.む|シュク","聖":"ひじり|セイ","背":"せ|ハイ","胸":"むね|キョウ","脳":"のうずる|ノウ","腹":"はら|フク","臓":"はらわた|ゾウ","臨":"のぞ.む|リン","至":"いた.る|シ","若":"わか.い|ジャク","著":"あらわ.す|チョ","蒸":"む.す|ジョウ","蔵":"くら|ゾウ","蚕":"かいこ|サン","衆":"おお.い|シュウ","裁":"た.つ|サイ","装":"よそお.う|ソウ","裏":"うら|リ","補":"おぎな.う|ホ","視":"み.る|シ","覧":"み.る|ラン","討":"う.つ|トウ","訪":"おとず.れる|ホウ","訳":"わけ|ヤク","認":"みと.める|ニン","誠":"まこと|セイ","誤":"あやま.る|ゴ","諸":"もろ|ショ","警":"いまし.める|ケイ","貴":"たっと.い|キ","遺":"のこ.す|イ","郷":"さと|キョウ","針":"はり|シン","鋼":"はがね|コウ","閉":"と.じる|ヘイ","降":"お.りる|コウ","除":"のぞ.く|ジョ","障":"さわ.る|ショウ","難":"かた.い|ナン","革":"かわ|カク","頂":"いただ.く|チョウ","骨":"ほね|コツ"},hs={"私":"わたし","僕":"ぼく","俺":"おれ","君":"きみ","彼":"かれ","彼女":"かのじょ","日本":"にほん","日本語":"にほんご","日本人":"にほんじん","東京":"とうきょう","英語":"えいご","中国":"ちゅうごく","韓国":"かんこく","大阪":"おおさか","京都":"きょうと","今日":"きょう","明日":"あした","昨日":"きのう","毎日":"まいにち","今朝":"けさ","一昨日":"おととい","明後日":"あさって","今年":"ことし","去年":"きょねん","来年":"らいねん","時間":"じかん","時計":"とけい","手紙":"てがみ","写真":"しゃしん","電話":"でんわ","学生":"がくせい","先生":"せんせい","学校":"がっこう","大学":"だいがく","会社":"かいしゃ","友達":"ともだち","家族":"かぞく","子供":"こども","大人":"おとな","両親":"りょうしん","本":"ほん","人":"ひと","男":"おとこ","女":"おんな","水":"みず","火":"ひ","木":"き","空":"そら","海":"うみ","山":"やま","川":"かわ","花":"はな","犬":"いぬ","猫":"ねこ","車":"くるま","家":"いえ","店":"みせ","駅":"えき","道":"みち","町":"まち","国":"くに","目":"め","耳":"みみ","口":"くち","手":"て","足":"あし","頭":"あたま","顔":"かお","朝":"あさ","昼":"ひる","夜":"よる","雨":"あめ","雪":"ゆき","風":"かぜ","天気":"てんき","食べ物":"たべもの","飲み物":"のみもの","御飯":"ごはん","料理":"りょうり","野菜":"やさい","映画":"えいが","音楽":"おんがく","仕事":"しごと","勉強":"べんきょう","質問":"しつもん","一":"いち","二":"に","三":"さん","四":"よん","五":"ご","六":"ろく","七":"なな","八":"はち","九":"きゅう","十":"じゅう","百":"ひゃく","千":"せん","万":"まん","円":"えん","美味しい":"おいしい","大人":"おとな","今日":"きょう","一人":"ひとり","二人":"ふたり","大丈夫":"だいじょうぶ","上手":"じょうず","下手":"へた","眼鏡":"めがね","果物":"くだもの","八百屋":"やおや","土産":"みやげ","相撲":"すもう","風邪":"かぜ","田舎":"いなか","素敵":"すてき","素晴らしい":"すばらしい","綺麗":"きれい","沢山":"たくさん","来る":"くる","来ます":"きます","来ました":"きました","来た":"きた","来て":"きて","来ない":"こない","来なかった":"こなかった","来い":"こい","来られる":"こられる","食べる":"たべる","食べます":"たべます","食べた":"たべた","食べて":"たべて"};const fs=t=>t>="一"&&t<="龯",ps=function(t,e){let n=ls[t];if(!n)return t;let[r,o]=n.split("|");return function(t){let e="";for(let n=0;n<t.length;n+=1){let r=t[n];e+=r>="ァ"&&r<="ヶ"?String.fromCharCode(r.charCodeAt(0)-96):r}return e}((t=>t.split(".")[0])(("kun"===e?r||o:o||r)||t))},ds=function(t,e,n){if(void 0!==hs[t])return hs[t];if(n&&n!==t){let e=function(t,e){let n=hs[e];if(!n)return null;let r=e.split("").findIndex(t=>!fs(t));if(r<=0)return null;let o=e.slice(r);if(!n.endsWith(o))return null;let i=n.slice(0,n.length-o.length);return t.startsWith(e.slice(0,r))?i+t.slice(r):null}(t,n);if(e)return e}let r="",o=0;for(;o<t.length;){if(!fs(t[o])){r+=t[o],o+=1;continue}let e="";for(;o<t.length&&fs(t[o]);)e+=t[o],o+=1;let n=e.length>1?"on":"kun";e.split("").forEach(t=>{r+=ps(t,n)})}return r},ms={"は":"wa","へ":"e","を":"o"};var gs={compute:{romanji:function(t){return t.document.forEach(t=>{t.forEach(t=>{if(ms[t.text]&&t.tags.has("Particle"))return void(t.romanji=ms[t.text]);let e=t.normal;/[一-龯]/.test(e)&&(e=ds(e,0,t.root||Pi[e])),t.romanji=cs(e)})}),t},readings:function(t){return t.document.forEach(t=>{t.forEach(t=>{/[一-龯]/.test(t.text)&&(t.reading=ds(t.normal,0,t.root||Pi[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}}},vs={methods:{toTerms:es}};const bs="[0m",Ps={green:t=>"[32m"+t+bs,red:t=>"[31m"+t+bs,blue:t=>"[34m"+t+bs,magenta:t=>"[35m"+t+bs,cyan:t=>"[36m"+t+bs,yellow:t=>"[33m"+t+bs,black:t=>"[30m"+t+bs,dim:t=>"[2m"+t+bs,i:t=>"[3m"+t+bs},ys={Kanji:"dim",Hiragana:"dim",Katagana:"dim",Ascii:"dim"},ws=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=>!ys[t])).map(t=>{if(!e.one.tagSet.hasOwnProperty(t))return t;const n=e.one.tagSet[t].color||ys[t]||"blue";return Ps[n](t)})),t.join(", ")}(r,n);console.log(s)})})};var js={"は":"-","が":"-","目":"eye","私たち":"we","彼":"he","彼女":"she","泳い":"swim","泳ぎ":"swimming","歩い":"walk","する":"(do)","家":"house"};const Cs=t=>lexicon.hasOwnProperty(t),xs={debug: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&&(ws(e),console.log("\n")),e}};var Es={compute:{english:function(t){return t.docs.forEach(t=>{t.forEach(t=>{js[t.normal]&&(t.english=js[t.normal])})}),t},root:function(t){return t.docs.forEach(t=>{t.forEach(t=>{if(!t.root)if(void 0===Pi[t.text]){if(t.tags.has("Verb")){let e=li(t.text,Cs);if(e)return void(t.root=e.root)}t.root=t.text}else t.root=Pi[t.text]})}),t}},api:function(t){Object.assign(t.prototype,xs)}};const Ns=["Person","Place","Organization"];var As={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"},Demonstrative:{},FormalNoun:{is:"Noun"},PluralSuffix:{},MaleNoun:{is:"Noun",not:["FemaleNoun","NeuterNoun"]},FemaleNoun:{is:"Noun",not:["MaleNoun","NeuterNoun"]},NeuterNoun:{is:"Noun",not:["MaleNoun","FemaleNoun"]}},Vs={Hiragana:{not:["Katakana","Kanji","Ascii"]},Kanji:{not:["Hiragana","Katakana","Ascii"]},Katakana:{not:["Hiragana","Kanji","Ascii"]},Ascii:{not:["Hiragana","Kanji","Katakana"]},Adjective:{not:["Noun","Verb","Adverb","Value"]},IAdjective:{is:"Adjective"},NaAdjective:{is:"Adjective"},Adnominal:{},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"]},Condition:{not:["Verb","Adjective","Noun","Value"]}},Ts={tags:Object.assign({},As,{Verb:{not:["Noun","Adjective","Adverb","Value","Expression"]},ConditionalVerb:{is:"Verb"},Passive:{is:"Verb"},Causative:{is:"Verb"},PresentTense:{not:["PastTense"]},Infinitive:{is:"Verb",not:["Gerund"]},Imperative:{is:"Verb"},Gerund:{},PastTense:{not:["PresentTense"]},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:["Conjunction"]},Negative:{not:["Noun","Value"]},Polite:{},Volitional:{is:"Verb"},Potential:{is:"Verb"},Progressive:{is:"Verb"},Desire:{is:"Verb"},Representative:{is:"Verb"},Presumptive:{},Continuative:{is:"Verb"},VerbStem:{is:"Noun"},SuruVerb:{is:"Noun"}},{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"},Counter:{is:"Noun",not:["Verb","Adjective","Adverb"]},TimeCounter:{is:"Counter"},DurationCounter:{is:"Counter",also:["Duration"]},DateCounter:{is:"Counter"},NumberPhrase:{},Percent:{is:"Value"}},{Date:{not:["Verb","Adverb","Adjective"]},Month:{is:"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"]},Day:{is:"Date"},Era:{is:"Date"},AmPm:{is:"Time"}},{Particle:{not:["Noun","Verb","Adjective","Adverb","Value"]},CaseParticle:{is:"Particle",not:["TopicParticle","AdverbialParticle","ConjunctiveParticle","SentenceParticle","AdnominalParticle","QuotativeParticle"],also:["Preposition"]},TopicParticle:{is:"Particle",not:["CaseParticle","AdverbialParticle","ConjunctiveParticle","SentenceParticle","AdnominalParticle","QuotativeParticle"],also:["Preposition"]},AdverbialParticle:{is:"Particle",not:["CaseParticle","TopicParticle","ConjunctiveParticle","SentenceParticle","AdnominalParticle","QuotativeParticle"],also:["Preposition"]},ConjunctiveParticle:{is:"Particle",not:["CaseParticle","TopicParticle","AdverbialParticle","SentenceParticle","AdnominalParticle","QuotativeParticle"],also:["Conjunction"]},SentenceParticle:{is:"Particle",not:["CaseParticle","TopicParticle","AdverbialParticle","ConjunctiveParticle","AdnominalParticle","QuotativeParticle"]},AdnominalParticle:{is:"Particle",not:["CaseParticle","TopicParticle","AdverbialParticle","ConjunctiveParticle","SentenceParticle","QuotativeParticle"],also:["Preposition"]},QuotativeParticle:{is:"Particle",not:["CaseParticle","TopicParticle","AdverbialParticle","ConjunctiveParticle","SentenceParticle","AdnominalParticle"],also:["Conjunction"]}},Vs)};const Os=function(t,e){for(let n=0;n<t.length;n+=1)if(!e(t[n]))return!1;return t.length>0},ks="particle",Ss={"は":"Topic","が":"Noun","を":"Object","へ":"Noun","から":"Noun","まで":"Noun","より":"Noun","の":"Possessive"},Ds=new Set(["に","で","と","も"]),_s=new Set(["て","ば","たら","ながら","ので","のに","けれど","けれども","けど","たり"]),$s=t=>bi.hasOwnProperty(t),Fs=new Set(["Kanji","Hiragana","Katakana","Ascii"]),zs=function(t){let e=new Set;return t.forEach(t=>{let n=qo(t);n&&Object.keys(n).forEach(t=>"string"==typeof n[t]&&e.add(n[t]))}),e};let Gs=zs(["いる","居る","おる","ある"]),Ls=zs(["おく","しまう","来る","くる","行く","いく","みる","見る","あげる","くれる","もらう"]);var Is=function(t,e,n){t.forEach(t=>{let r=[...t.tags].some(t=>!Fs.has(t));if(r)return;if(t.text.length<2)return;let o=li(t.text,$s);o&&!0!==o.guess&&(o.tags.forEach(r=>e([t],r,n,null,"verbSuffix")),t.root=o.root)})},Ms=function(t,e,n){for(let r=1;r<t.length;r+=1){let o=t[r];if(!o.tags.has("Verb"))continue;if(!1===/^(し|す|さ)/.test(o.text))continue;let i=t[r-1];i&&i.tags.has("SuruVerb")&&e([i],"Verb",n,null,"suruVerb")}},Ws=function(t,e,n){for(let r=1;r<t.length;r+=1){let o=t[r];if(!o.tags.has("Auxiliary"))continue;let i=t[r-1];i&&(i.tags.has("Verb")||i.tags.has("Adjective")||i.tags.has("Noun")||e([i],"Verb",n,null,"beforeAuxiliary"),["PastTense","PresentTense","Negative","Polite"].forEach(t=>{o.tags.has(t)&&i.tags.has("Verb")&&e([i],t,n,null,"fromAuxiliary")}))}},Bs=function(t,e,n){for(let r=1;r<t.length;r+=1){let o=t[r],i=t[r-1];i&&i.tags.has("Gerund")&&o.tags.has("Verb")&&(Gs.has(o.text)||Ls.has(o.text))&&(Gs.has(o.text)&&e([i],"Progressive",n,null,"compoundVerb"),["PastTense","Negative","Polite"].forEach(t=>{o.tags.has(t)&&e([i],t,n,null,"compoundVerb")}))}};const Hs="adjSuffix",Qs=/(し|た|な|か|ら|わ|が|ば|ざ|さ|は|ま|よ|る|す|つ|ぬ|ぶ|む|ぐ|ゆ|ろ|そ|お|こ|の|ほ|も|ど|ぼ|ぽ|ご|ぞ|づ|べ|で|げ|ぜ|え|け|せ|て|ね|へ|め|れ)い$/,Rs=/(ない|たい|らしい|っぽい)$/;var Ks=function(t,e,n){t.forEach(t=>{let r=t.text;t.tags.size>1||t.tags.has("Verb")||t.tags.has("Adjective")||r.length<3||!r.endsWith("い")||Rs.test(r)&&!t.tags.has("Adjective")||ki(r[0])&&Qs.test(r)&&(e([t],"Adjective",n,null,Hs),e([t],"IAdjective",n,null,Hs))})},Us=function(t,e,n){t.forEach(t=>{t.text.length>2&&/(たち|達)$/.test(t.text)&&(e([t],"Plural",n,null,"nounSuffix"),e([t],"Noun",n,null,"nounSuffix"))})};const qs="honorific";var Zs={"つ":"Counter","個":"Counter","ヶ":"Counter","箇":"Counter","件":"Counter","点":"Counter","品":"Counter","人":"Counter","名":"Counter","匹":"Counter","頭":"Counter","羽":"Counter","尾":"Counter","本":"Counter","枚":"Counter","冊":"Counter","台":"Counter","軒":"Counter","棟":"Counter","隻":"Counter","着":"Counter","足":"Counter","杯":"Counter","皿":"Counter","粒":"Counter","束":"Counter","組":"Counter","対":"Counter","通":"Counter","通り":"Counter","切れ":"Counter","面":"Counter","部":"Counter","室":"Counter","席":"Counter","発":"Counter","筆":"Counter","秒":"TimeCounter","分":"TimeCounter","時":"TimeCounter","時間":"DurationCounter","分間":"DurationCounter","秒間":"DurationCounter","日間":"DurationCounter","週":"DurationCounter","週間":"DurationCounter","ヶ月":"DurationCounter","か月":"DurationCounter","カ月":"DurationCounter","箇月":"DurationCounter","ヵ月":"DurationCounter","年間":"DurationCounter","世紀":"DurationCounter","泊":"DurationCounter","年":"DateCounter","月":"DateCounter","日":"DateCounter","円":"Currency","ドル":"Currency","ユーロ":"Currency","ポンド":"Currency","元":"Currency","ウォン":"Currency","銭":"Currency","歳":"Counter","才":"Counter","度":"Counter","回":"Counter","倍":"Counter","割":"Counter","%":"Percent","%":"Percent","パーセント":"Percent","メートル":"Counter","キロ":"Counter","センチ":"Counter","ミリ":"Counter","グラム":"Counter","キロメートル":"Counter","キログラム":"Counter","リットル":"Counter","トン":"Counter","インチ":"Counter","ページ":"Counter","頁":"Counter","階":"Counter","号":"Counter","章":"Counter","課":"Counter","番":"Ordinal","番目":"Ordinal","個目":"Ordinal","人目":"Ordinal","回目":"Ordinal","位":"Ordinal"};const Ys="number",Js=function(t){for(let e=0;e<t.length;e+=1)if(!Qi(t[e]))return!1;return t.length>0},Xs=/^([一二三四五六七八九]|ひと|ふた|みっ|よっ|いつ|むっ|なな|やっ|ここの)つ$/,ta={"ひとつ":1,"ふたつ":2,"みっつ":3,"よっつ":4,"いつつ":5,"むっつ":6,"ななつ":7,"やっつ":8,"ここのつ":9,"とお":10},ea="date",na={"年":"Year","月":"Month","日":"Day"},ra={Year:[1,9999],Month:[1,12],Day:[1,31]},oa=new Set(["Kanji","Hiragana","Katakana","Ascii"]);var ia={compute:{preTagger:function(t){const e=t.methods.one.setTag||function(){},n=t.world;return t.document.forEach(t=>{!function(t,e,n){const r="script";t.forEach(t=>{let o=t.text;if(Os(o,Ti))e([t],"Hiragana",n,null,r);else{if(Os(o,t=>Oi(t)||"ー"===t))return e([t],"Katakana",n,null,r),void(t.tags.size<=1&&e([t],"Noun",n,null,r));if(!Os(o,ki))return Os(o,Si)?(e([t],"Value",n,null,r),void e([t],"Cardinal",n,null,r)):void(Os(o,Di)&&e([t],"Ascii",n,null,r));e([t],"Kanji",n,null,r)}})}(t,e,n),Is(t,e,n),Ks(t,e,n),function(t,e,n){for(let r=0;r<t.length;r+=1){let o=t[r],i=t[r-1],s=t[r+1],a=o.text;if("な"!==a||!s||s.tags.has("Verb"))if("か"!==a||s&&!s.tags.has("SentenceParticle")){if("と"===a&&i){if(i.tags.has("Verb")||i.tags.has("Copula")){e([o],"QuotativeParticle",n,null,ks);continue}s&&!s.tags.has("Verb")&&e([o],"Conjunction",n,null,ks)}"で"===a&&i&&i.tags.has("NaAdjective")?(e([o],"Copula",n,null,ks),e([o],"Gerund",n,null,ks)):i&&!i.tags.has("Particle")&&(void 0===Ss[a]?Ds.has(a)&&!i.tags.has("Verb")&&!i.tags.has("Adjective")&&i.tags.size<=1?e([i],"Noun",n,null,ks):_s.has(a)&&i.tags.size<=1&&e([i],"Verb",n,null,ks):i.tags.has("Verb")||i.tags.has("Adjective")?"の"!==a&&"が"!==a||e([o],"の"===a?"AdnominalParticle":"ConjunctiveParticle",n,null,ks):e([i],Ss[a],n,null,ks))}else e([o],"SentenceParticle",n,null,ks),e([o],"QuestionWord",n,null,ks);else e([o],"AdnominalParticle",n,null,ks),i&&e([i],"NaAdjective",n,null,ks)}}(t,e,n),Ms(t,e,n),Ws(t,e,n),Bs(t,e,n),function(t,e,n){for(let r=0;r<t.length;r+=1){let o=t[r],i=o.text,s=null;if(void 0!==ta[i]?s=ta[i]:Xs.test(i)?s=Ri(i.slice(0,-1)):Js(i)&&(s=Ri(i)),null===s&&"何"!==i&&"なん"!==i&&"幾"!==i&&"いく"!==i)continue;null!==s&&(e([o],"Value",n,null,Ys),e([o],"Cardinal",n,null,Ys),o.number=s);let a=t[r+1];if(!a||void 0===Zs[a.text])continue;if(a.tags.has("Verb")||a.tags.has("Particle"))continue;let u=Zs[a.text];"Percent"===u||"Ordinal"===u?e([a],u,n,null,Ys):(e([a],"Counter",n,null,Ys),"Counter"!==u&&e([a],u,n,null,Ys)),e([o,a],"NumberPhrase",n,null,Ys),null!==s&&(a.number=s)}}(t,e,n),function(t,e,n){for(let r=0;r<t.length;r+=1){let o=t[r],i=t[r-1],s=t[r+1];if(o.tags.has("Era")&&s&&s.tags.has("Value")){let i=t[r+2];if(i&&"年"===i.text){e([s],"Year",n,null,ea),e([i],"Year",n,null,ea),e([o,s,i],"Date",n,null,ea),r+=2;continue}}if(o.tags.has("Value")&&s&&"時"===s.text&&s.tags.has("Counter")){e([o,s],"Time",n,null,ea),e([o,s],"Date",n,null,ea);let i=t[r+2],a=t[r+3];i&&a&&i.tags.has("Value")&&"分"===a.text?(e([i,a],"Time",n,null,ea),e([i,a],"Date",n,null,ea),r+=3):r+=1;continue}if(!o.tags.has("Value")||!s||void 0===na[s.text])continue;if(!s.tags.has("Counter"))continue;let a=na[s.text],u=o.number,c=t[r+2];if(c&&("間"===c.text||"ぶり"===c.text||"目"===c.text)){e([s],"Duration",n,null,ea),r+=1;continue}let[l,h]=ra[a];"number"!=typeof u||u<l||u>h?(e([s],"Duration",n,null,ea),r+=1):!("Year"===a&&u<100)||i&&i.tags.has("Era")?(e([o],a,n,null,ea),e([s],a,n,null,ea),e([o,s],"Date",n,null,ea),r+=1):(e([s],"Duration",n,null,ea),r+=1)}t.forEach((r,o)=>{if("半"!==r.text||0===o)return;let i=t[o-1];(i.tags.has("TimeCounter")||i.tags.has("DurationCounter"))&&(e([r],i.tags.has("TimeCounter")?"Time":"Duration",n,null,ea),e([r],"Date",n,null,ea))}),t.forEach((r,o)=>{if(!r.tags.has("AmPm"))return;let i=t[o+1];i&&i.tags.has("Date")&&e([r],"Date",n,null,ea)})}(t,e,n),Us(t,e,n),function(t,e,n){for(let r=0;r<t.length;r+=1){if(!t[r].tags.has("Honorific"))continue;let o=t[r-1];!o||o.tags.has("Verb")||o.tags.has("Particle")||e([o],"Person",n,null,qs)}t.forEach(t=>{t.text.length>2&&/(さん|様|さま|ちゃん|くん|氏)$/.test(t.text)&&t.tags.size<=1&&e([t],"Person",n,null,qs)})}(t,e,n),function(t,e,n){t.forEach(t=>{let r=[...t.tags];(0===r.length||r.every(t=>oa.has(t)))&&e([t],"Noun",n,null,"noun-fallback")})}(t,e,n)}),t}},hooks:["preTagger"]};const sa=["","一","二","三","四","五","六","七","八","九"],aa=[["千",1e3],["百",100],["十",10]],ua=[["京",1e16],["兆",1e12],["億",1e8],["万",1e4]],ca=function(t){let e="";for(let n=0;n<aa.length;n+=1){let[r,o]=aa[n],i=Math.floor(t/o);0!==i&&(e+=(1===i?"":sa[i])+r,t-=i*o)}return e+sa[t]},la=function(t){if("number"!=typeof t||!Number.isFinite(t))return null;if(t<0)return"マイナス"+la(Math.abs(t));if(0===(t=Math.round(t)))return"〇";let e="";for(let n=0;n<ua.length;n+=1){let[r,o]=ua[n],i=Math.floor(t/o);0!==i&&(e+=ca(i)+r,t-=i*o)}return e+ca(t)},ha=/[0-9]/,fa=/[〇零一二三四五六七八九十百千万億兆壱弐参拾]/,pa=function(t){let e=t.docs[0]||[],n=e.find(t=>"number"==typeof t.number);return n?{num:n.number,term:n,kanji:fa.test(n.text),wide:ha.test(n.text)}:(n=e[0],{num:n?Ri(n.text):null,term:n,kanji:!!n&&fa.test(n.text),wide:!1})},da=function(t,e,n){t.text=e,t.normal=e.toLowerCase(),"number"==typeof n&&(t.number=n)},ma=function(t,e,n){let r,{term:o,kanji:i,wide:s}=pa(t);return o&&"number"==typeof e?(r="kanji"===n||void 0===n&&i?la(e):function(t,e){let n=String(t);return e?n.replace(/[0-9]/g,t=>"0123456789"[Number(t)]):n}(e,void 0===n&&s),null===r||da(o,r,e),t):t};var ga={api:function(t){class Numbers extends t{constructor(t,e,n){super(t,e,n),this.viewType="Numbers"}parse(t){return this.getNth(t).map(pa)}get(t){return this.getNth(t).map(pa).map(t=>t.num)}json(t){let e="object"==typeof t?t:{};return this.getNth(t).map(t=>{let n=t.toView().json(e)[0],r=pa(t);return n.number={num:r.num,counter:t.units().text()||null},n},[])}units(){return this.growRight("#Counter").match("#Counter$")}isOrdinal(){return this.if("#Ordinal")}isCardinal(){return this.if("#Cardinal")}toNumber(){return this.forEach(t=>{let{num:e}=pa(t);null!==e&&ma(t,e,"digits")}),this}toText(){return this.forEach(t=>{let{num:e}=pa(t);null!==e&&ma(t,e,"kanji")}),this}toLocaleString(){return this.forEach(t=>{let{num:e,term:n}=pa(t);null!==e&&n&&da(n,e.toLocaleString(),e)}),this}set(t){return"number"!=typeof t||this.forEach(e=>ma(e,t)),this}add(t){return"number"!=typeof t||this.forEach(e=>{let{num:n}=pa(e);null!==n&&ma(e,n+t)}),this}subtract(t){return this.add(-1*t)}increment(){return this.add(1)}decrement(){return this.add(-1)}isEqual(t){return this.filter(e=>pa(e).num===t)}greaterThan(t){return this.filter(e=>pa(e).num>t)}lessThan(t){return this.filter(e=>pa(e).num<t)}between(t,e){return this.filter(n=>{let{num:r}=pa(n);return r>t&&r<e})}update(t){let e=new Numbers(this.document,t);return e._cache=this._cache,e}}t.prototype.numbers=function(t){let e=this.match("#Value+");return e=new Numbers(this.document,e.pointer),"number"==typeof t?e.eq(t):e},t.prototype.values=t.prototype.numbers,t.prototype.counters=function(t){let e=this.match("#Counter");return"number"==typeof t?e.eq(t):e},t.prototype.money=function(t){let e=this.match("#Value+ #Currency");return"number"==typeof t?e.eq(t):e},t.prototype.percentages=function(t){let e=this.match("#Value+ #Percent");return"number"==typeof t?e.eq(t):e}}};f.plugin(vs),f.plugin(Ts),f.plugin(Vi),f.plugin(Es),f.plugin(gs),f.plugin(ia),f.plugin(ga);const va=function(t,e){let n=f.tokenize(t,e);n.document=n.document.map(t=>{let e=[],n=t.length>1;return t.forEach(t=>{let r=os(t.text,n);0!==r.length?(r[0].pre=(t.pre||"")+r[0].pre,r[r.length-1].post+=t.post||"",e=e.concat(r)):e.push(t)}),e});const r=f.world();return n.compute(r.hooks),n};return Object.keys(f).forEach(t=>{f.hasOwnProperty(t)&&(va[t]=f[t])}),Object.defineProperty(va,"_world",{value:f._world,writable:!0}),va.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},Object.assign(va,Ai),va.toNumber=Ri,va.toKanji=la,va.version="0.1.0",va},"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();
|