palt-typesetting 0.2.1 → 0.4.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.
Files changed (49) hide show
  1. package/README.md +16 -18
  2. package/bundle/typesetter.min.js +1 -6
  3. package/dist/apply-style.d.ts +3 -2
  4. package/dist/apply-style.d.ts.map +1 -1
  5. package/dist/apply-style.js +37 -34
  6. package/dist/html-processor.d.ts +1 -1
  7. package/dist/html-processor.d.ts.map +1 -1
  8. package/dist/html-processor.js +88 -55
  9. package/dist/index.d.ts +3 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +97 -61
  12. package/dist/insert-separators.d.ts +3 -3
  13. package/dist/insert-separators.d.ts.map +1 -1
  14. package/dist/insert-separators.js +40 -40
  15. package/dist/style/typesetting.css +27 -0
  16. package/dist/{utils-regex.d.ts → util-regex.d.ts} +3 -1
  17. package/dist/util-regex.d.ts.map +1 -0
  18. package/dist/util-regex.js +20 -0
  19. package/dist/util-tags.d.ts +9 -0
  20. package/dist/util-tags.d.ts.map +1 -0
  21. package/dist/util-tags.js +55 -0
  22. package/dist/{utils-text-classes.d.ts → util-text-classes.d.ts} +3 -2
  23. package/dist/util-text-classes.d.ts.map +1 -0
  24. package/dist/util-text-classes.js +98 -0
  25. package/dist/win-browser.js +4 -4
  26. package/dist/win.js +6 -6
  27. package/package.json +16 -11
  28. package/{dist/types → types}/index.d.ts +0 -5
  29. package/bundle/typesetter.min.js.map +0 -7
  30. package/dist/apply-style.js.map +0 -1
  31. package/dist/bundle.d.ts +0 -2
  32. package/dist/bundle.d.ts.map +0 -1
  33. package/dist/bundle.js.map +0 -1
  34. package/dist/html-processor.js.map +0 -1
  35. package/dist/index.js.map +0 -1
  36. package/dist/insert-separators.js.map +0 -1
  37. package/dist/utils-regex.d.ts.map +0 -1
  38. package/dist/utils-regex.js +0 -10
  39. package/dist/utils-regex.js.map +0 -1
  40. package/dist/utils-tags.d.ts +0 -8
  41. package/dist/utils-tags.d.ts.map +0 -1
  42. package/dist/utils-tags.js +0 -44
  43. package/dist/utils-tags.js.map +0 -1
  44. package/dist/utils-text-classes.d.ts.map +0 -1
  45. package/dist/utils-text-classes.js +0 -78
  46. package/dist/utils-text-classes.js.map +0 -1
  47. package/dist/win-browser.js.map +0 -1
  48. package/dist/win.js.map +0 -1
  49. /package/{dist/types → types}/linebreak.d.ts +0 -0
package/README.md CHANGED
@@ -11,7 +11,7 @@ Palt Typesetting は、美しいテキスト表示を実現するための JavaS
11
11
  ## Demo
12
12
 
13
13
  - [Interactive Demo](https://palt.typesetting.jp)
14
- - [Simple Demo in CodeSandbox](https://codesandbox.io/p/sandbox/a-simple-demo-of-palt-typesetting-rptqm7?file=%2Fsrc%2Findex.js%3A12%2C1)
14
+ - [Try on CodePen](https://codepen.io/yamatoiizuka-the-animator/pen/PoLGrZe)
15
15
 
16
16
  ## Getting Started
17
17
 
@@ -34,7 +34,7 @@ typesetter.renderToSelector('.my-class')
34
34
  ### Use Typesetter from CDN
35
35
 
36
36
  ```html
37
- <script src="https://unpkg.com/palt-typesetting@0.2.1/bundle/typesetter.min.js"></script>
37
+ <script src="https://unpkg.com/palt-typesetting@0.4.0/bundle/typesetter.min.js"></script>
38
38
  ```
39
39
 
40
40
  ```html
@@ -51,7 +51,7 @@ typesetter.renderToSelector('.my-class')
51
51
 
52
52
  ```css
53
53
  /*
54
- * 共通のスタイリング
54
+ * 共通のスタイリング(例)
55
55
  */
56
56
  .typeset {
57
57
  /* プロポーショナルメトリクス(ツメ組み)の設定 */
@@ -72,7 +72,7 @@ typesetter.renderToSelector('.my-class')
72
72
  }
73
73
 
74
74
  /*
75
- * 英数のみのスタイリング
75
+ * 英数のみのスタイリング(例)
76
76
  */
77
77
  .typeset-latin {
78
78
  /* フォントの拡大・縮小 */
@@ -115,7 +115,7 @@ typesetter.renderToElements(elements)
115
115
  // 組版を適用した HTML の取得
116
116
  const srcHtml = '「日本語」とEnglish'
117
117
  console.log(typesetter.render(srcHtml))
118
- // <span class="typeset" /* 中略 */>「日本語」<span class="typeset-thin-space" style="font-size: 50%;" /* 中略 */> </span><wbr>と<span class="typeset-thin-space" style="font-size: 50%;" /* 中略 */> </span><wbr><span class="typeset-latin">English</span></span>
118
+ // <span class="typeset" /* 中略 */>「日本語」<span class="typeset-thin-space" style="font-size: 100%;" /* 中略 */> </span><wbr>と<span class="typeset-thin-space" style="font-size: 100%;" /* 中略 */> </span><wbr><span class="typeset-latin">English</span></span>
119
119
  ```
120
120
 
121
121
  ### Constructor
@@ -138,9 +138,6 @@ console.log(typesetter.render(srcHtml))
138
138
 
139
139
  ```javascript
140
140
  const options = {
141
- // ライブラリで使用される CSS クラス名のプレフィックスを指定します。
142
- classNamePrefix: 'typeset',
143
-
144
141
  // 単語や助詞など、単語区切りでの改行を行います。
145
142
  useWordBreak: true,
146
143
 
@@ -154,17 +151,17 @@ const options = {
154
151
  insertThinSpaces: true,
155
152
 
156
153
  // 四分アキスペースの幅を設定します。
157
- thinSpaceWidth: '50%',
154
+ thinSpaceWidth: '0.2em',
158
155
 
159
156
  // 特定の文字間のカーニングルールを設定します。
160
157
  kerningRules: [
161
158
  {
162
- between: ['す', '。'],
163
- value: '-80',
159
+ between: ['し', 'ま'],
160
+ value: '60',
164
161
  },
165
162
  {
166
- between: ['で', '、'],
167
- value: '-120',
163
+ between: ['す', '。'],
164
+ value: '-80',
168
165
  },
169
166
  ],
170
167
  }
@@ -177,12 +174,11 @@ typesetter.renderToSelector('.my-class')
177
174
 
178
175
  | オプション名 | 説明 | 型 | デフォルト値 |
179
176
  | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- | ------------ |
180
- | `classNamePrefix` | ライブラリで使用される CSS クラス名のプレフィックスを指定します。 | `string` | `'typeset' ` |
181
177
  | `useWordBreak` | 単語や助詞など、単語区切りでの改行を行います。 | `boolean` | `true` |
182
178
  | `wrapLatin` | 英数を `span.typeset-latin` でラップします。<br>`useWordBreak` が `true` の場合にのみ有効です。 | `boolean` | `true` |
183
179
  | `noSpaceBetweenNoBreaks` | 罫線などの分離禁則文字を `span.typeset-no-breaks` でラップし、文字間を 0 に設定します。<br>`useWordBreak` が `true` の場合にのみ有効です。 | `boolean` | `true` |
184
180
  | `insertThinSpaces` | 四分アキスペースを自動で挿入します。 | `boolean` | `true` |
185
- | `thinSpaceWidth` | 四分アキスペースの幅を設定します。<br>`insertThinSpaces` が `true` の場合にのみ有効です。 | `string` | `'50%' ` |
181
+ | `thinSpaceWidth` | 四分アキスペースの幅を設定します。<br>`insertThinSpaces` が `true` の場合にのみ有効です。 | `string` | `'100%' ` |
186
182
  | `kerningRules` | 特定の文字間のカーニングルールを設定します。 | `{between: [string, string], value: string \| number}[]` | `[]` |
187
183
 
188
184
  ## Notes
@@ -194,9 +190,11 @@ Palt Typesetting ライブラリは、テキストを言語固有のセグメン
194
190
  - Node.js: 16.0.0 以上
195
191
  - ブラウザ: Intl.Segmenter をサポートしているブラウザ
196
192
 
197
- クライアントサイドで実行する場合、この機能は一部のブラウザで利用できません。Palt Typesetting ライブラリは、`Intl.Segmenter` がサポートされていない環境では組版処理をスキップし、元のテキストをそのまま返します。
193
+ クライアントサイドで実行する場合、この機能は一部のブラウザで利用できません。Palt Typesetting ライブラリは、Firefox などの `Intl.Segmenter` がサポートされていない環境[^1] では組版処理をスキップし、元のテキストをそのまま返します。全てのモダンブラウザで同様の見え方を再現するには、サーバーサイドでの処理(SSG など)が必要になります。
194
+
195
+ `Intl.Segmenter` の対応状況については、[Can I use...](https://caniuse.com/?search=Intl.Segmenter) で確認できます。
198
196
 
199
- `Intl.Segmenter` の対応状況については、[MDN Web Docs](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter) で確認できます。
197
+ [^1]: Firefox では、バージョン 125 から Intl.Segmenter のサポートが予定されています。
200
198
 
201
199
  ### 注意事項
202
200
 
@@ -204,4 +202,4 @@ Palt Typesetting ライブラリは HTML 入力をサポートしていますが
204
202
 
205
203
  ## Author
206
204
 
207
- 飯塚 大和 (Yamato Iizuka)
205
+ [飯塚 大和 (Yamato Iizuka)](https://yamatoiizuka.com)
@@ -1,6 +1 @@
1
- "use strict";var Typesetter=(()=>{var x=(s,a)=>()=>(a||s((a={exports:{}}).exports,a),a.exports);var Q=x(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});var at=window;G.default=at});var ge=x(L=>{"use strict";var it=L&&L.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(L,"__esModule",{value:!0});L.getTextNodes=L.parseFromString=void 0;var V=it(Q()),J=class{constructor(a,n){this.replaceNode=(i,o)=>{let c=V.default.document.createRange();c.selectNode(i);let d=c.createContextualFragment(o);i.parentNode&&(i.parentNode.insertBefore(d,i),i.parentNode.removeChild(i))},this.transformFunctions=a,this.options=n}processHtmlWithFunctions(a){return a===""?a:this.transformFunctions.reduce((n,i)=>this.processHtml(n,i),a)}processHtml(a,n){if(a==="")return a;let i=pe(a),o=be(i.body);return o.forEach((c,d)=>{let h=o[d+1]||null,p=this.getTransformedHtml(c,h,n);this.replaceNode(c,p)}),i.body.innerHTML}getTransformedHtml(a,n,i){return i(a.nodeValue||"",n&&n.nodeValue||"",this.options)}},pe=s=>new V.default.DOMParser().parseFromString(s,"text/html");L.parseFromString=pe;var be=s=>{let a=V.default.document.createTreeWalker(s,V.default.NodeFilter.SHOW_TEXT),n=a.nextNode(),i=[];for(;n;)n.nodeValue&&n.nodeValue.trim()!==""&&i.push(n),n=a.nextNode();return i};L.getTextNodes=be;L.default=J});var me=x((gr,Le)=>{var te=0,Se=-3;function k(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function ot(s,a){this.source=s,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=a,this.destLen=0,this.ltree=new k,this.dtree=new k}var $e=new k,Ae=new k,re=new Uint8Array(30),se=new Uint16Array(30),we=new Uint8Array(30),Te=new Uint16Array(30),ct=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),xe=new k,T=new Uint8Array(320);function _e(s,a,n,i){var o,c;for(o=0;o<n;++o)s[o]=0;for(o=0;o<30-n;++o)s[o+n]=o/n|0;for(c=i,o=0;o<30;++o)a[o]=c,c+=1<<s[o]}function ft(s,a){var n;for(n=0;n<7;++n)s.table[n]=0;for(s.table[7]=24,s.table[8]=152,s.table[9]=112,n=0;n<24;++n)s.trans[n]=256+n;for(n=0;n<144;++n)s.trans[24+n]=n;for(n=0;n<8;++n)s.trans[168+n]=280+n;for(n=0;n<112;++n)s.trans[176+n]=144+n;for(n=0;n<5;++n)a.table[n]=0;for(a.table[5]=32,n=0;n<32;++n)a.trans[n]=n}var ve=new Uint16Array(16);function Y(s,a,n,i){var o,c;for(o=0;o<16;++o)s.table[o]=0;for(o=0;o<i;++o)s.table[a[n+o]]++;for(s.table[0]=0,c=0,o=0;o<16;++o)ve[o]=c,c+=s.table[o];for(o=0;o<i;++o)a[n+o]&&(s.trans[ve[a[n+o]]++]=o)}function lt(s){s.bitcount--||(s.tag=s.source[s.sourceIndex++],s.bitcount=7);var a=s.tag&1;return s.tag>>>=1,a}function _(s,a,n){if(!a)return n;for(;s.bitcount<24;)s.tag|=s.source[s.sourceIndex++]<<s.bitcount,s.bitcount+=8;var i=s.tag&65535>>>16-a;return s.tag>>>=a,s.bitcount-=a,i+n}function ee(s,a){for(;s.bitcount<24;)s.tag|=s.source[s.sourceIndex++]<<s.bitcount,s.bitcount+=8;var n=0,i=0,o=0,c=s.tag;do i=2*i+(c&1),c>>>=1,++o,n+=a.table[o],i-=a.table[o];while(i>=0);return s.tag=c,s.bitcount-=o,a.trans[n+i]}function ut(s,a,n){var i,o,c,d,h,p;for(i=_(s,5,257),o=_(s,5,1),c=_(s,4,4),d=0;d<19;++d)T[d]=0;for(d=0;d<c;++d){var g=_(s,3,0);T[ct[d]]=g}for(Y(xe,T,0,19),h=0;h<i+o;){var H=ee(s,xe);switch(H){case 16:var I=T[h-1];for(p=_(s,2,3);p;--p)T[h++]=I;break;case 17:for(p=_(s,3,3);p;--p)T[h++]=0;break;case 18:for(p=_(s,7,11);p;--p)T[h++]=0;break;default:T[h++]=H;break}}Y(a,T,0,i),Y(n,T,i,o)}function ye(s,a,n){for(;;){var i=ee(s,a);if(i===256)return te;if(i<256)s.dest[s.destLen++]=i;else{var o,c,d,h;for(i-=257,o=_(s,re[i],se[i]),c=ee(s,n),d=s.destLen-_(s,we[c],Te[c]),h=d;h<d+o;++h)s.dest[s.destLen++]=s.dest[h]}}}function dt(s){for(var a,n,i;s.bitcount>8;)s.sourceIndex--,s.bitcount-=8;if(a=s.source[s.sourceIndex+1],a=256*a+s.source[s.sourceIndex],n=s.source[s.sourceIndex+3],n=256*n+s.source[s.sourceIndex+2],a!==(~n&65535))return Se;for(s.sourceIndex+=4,i=a;i;--i)s.dest[s.destLen++]=s.source[s.sourceIndex++];return s.bitcount=0,te}function ht(s,a){var n=new ot(s,a),i,o,c;do{switch(i=lt(n),o=_(n,2,0),o){case 0:c=dt(n);break;case 1:c=ye(n,$e,Ae);break;case 2:ut(n,n.ltree,n.dtree),c=ye(n,n.ltree,n.dtree);break;default:c=Se}if(c!==te)throw new Error("Data error")}while(!i);return n.destLen<n.dest.length?typeof n.dest.slice=="function"?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}ft($e,Ae);_e(re,se,4,3);_e(we,Te,2,1);re[28]=0;se[28]=258;Le.exports=ht});var He=x((xr,Pe)=>{var pt=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Ne=(s,a,n)=>{let i=s[a];s[a]=s[n],s[n]=i},bt=s=>{let a=s.length;for(let n=0;n<a;n+=4)Ne(s,n,n+3),Ne(s,n+1,n+2)},gt=s=>{pt&&bt(s)};Pe.exports={swap32LE:gt}});var Xe=x((vr,Fe)=>{var Be=me(),{swap32LE:xt}=He(),ie=11,P=5,vt=ie-P,yt=65536>>ie,St=1<<vt,$t=St-1,E=2,At=1<<P,ne=At-1,Ce=65536>>P,wt=1024>>P,Tt=Ce+wt,_t=Tt,Lt=32,mt=_t+Lt,Nt=1<<E,ae=class{constructor(a){let n=typeof a.readUInt32BE=="function"&&typeof a.slice=="function";if(n||a instanceof Uint8Array){let i;if(n)this.highStart=a.readUInt32LE(0),this.errorValue=a.readUInt32LE(4),i=a.readUInt32LE(8),a=a.slice(12);else{let o=new DataView(a.buffer);this.highStart=o.getUint32(0,!0),this.errorValue=o.getUint32(4,!0),i=o.getUint32(8,!0),a=a.subarray(12)}a=Be(a,new Uint8Array(i)),a=Be(a,new Uint8Array(i)),xt(a),this.data=new Uint32Array(a.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=a)}get(a){let n;return a<0||a>1114111?this.errorValue:a<55296||a>56319&&a<=65535?(n=(this.data[a>>P]<<E)+(a&ne),this.data[n]):a<=65535?(n=(this.data[Ce+(a-55296>>P)]<<E)+(a&ne),this.data[n]):a<this.highStart?(n=this.data[mt-yt+(a>>ie)],n=this.data[n+(a>>P&$t)],n=(n<<E)+(a&ne),this.data[n]):this.data[this.data.length-Nt]}};Fe.exports=ae});var Oe=x(R=>{var Pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";(function(s){"use strict";var a=typeof Uint8Array!="undefined"?Uint8Array:Array,n=43,i=47,o=48,c=97,d=65,h=45,p=95;function g(u){var l=u.charCodeAt(0);if(l===n||l===h)return 62;if(l===i||l===p)return 63;if(l<o)return-1;if(l<o+10)return l-o+26+26;if(l<d+26)return l-d;if(l<c+26)return l-c+26}function H(u){var l,W,A,b,m,S;if(u.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var j=u.length;m=u.charAt(j-2)==="="?2:u.charAt(j-1)==="="?1:0,S=new a(u.length*3/4-m),A=m>0?u.length-4:u.length;var N=0;function B(nt){S[N++]=nt}for(l=0,W=0;l<A;l+=4,W+=3)b=g(u.charAt(l))<<18|g(u.charAt(l+1))<<12|g(u.charAt(l+2))<<6|g(u.charAt(l+3)),B((b&16711680)>>16),B((b&65280)>>8),B(b&255);return m===2?(b=g(u.charAt(l))<<2|g(u.charAt(l+1))>>4,B(b&255)):m===1&&(b=g(u.charAt(l))<<10|g(u.charAt(l+1))<<4|g(u.charAt(l+2))>>2,B(b>>8&255),B(b&255)),S}function I(u){var l,W=u.length%3,A="",b,m;function S(N){return Pt.charAt(N)}function j(N){return S(N>>18&63)+S(N>>12&63)+S(N>>6&63)+S(N&63)}for(l=0,m=u.length-W;l<m;l+=3)b=(u[l]<<16)+(u[l+1]<<8)+u[l+2],A+=j(b);switch(W){case 1:b=u[u.length-1],A+=S(b>>2),A+=S(b<<4&63),A+="==";break;case 2:b=(u[u.length-2]<<8)+u[u.length-1],A+=S(b>>10),A+=S(b>>4&63),A+=S(b<<2&63),A+="=";break}return A}s.toByteArray=H,s.fromByteArray=I})(typeof R=="undefined"?R.base64js={}:R)});var Re=x((Sr,Ee)=>{var Ht=Xe(),Bt=Oe();function ze(s){return s&&s.__esModule?s.default:s}var Ct=5,Ie=12,Ft=13,Xt=16,Ot=17,It=22,We=28,ke=31,Wt=33,q=34,kt=35,oe=36,ce=37,je=38,Dt=39,Ut=40,D=41,zt=42,e=0,t=1,f=2,Ve=3,r=4,jt=[[r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,Ve,r,r,r,r,r,r,r,r,r,r,r],[e,r,r,t,t,r,r,r,r,t,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,t,r,r,r,r,t,t,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[r,r,r,t,t,t,r,r,r,t,t,t,t,t,t,t,t,t,t,t,r,f,r,t,t,t,t,t,t,t,t,t,t],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,t,t,t,t,t,t,r,f,r,t,t,t,t,t,t,t,t,t,t],[e,r,r,t,t,t,r,r,r,e,e,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,e,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,e,t,e,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,e,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[t,r,r,t,t,t,r,r,r,e,e,t,t,t,t,t,t,t,e,e,r,f,r,t,t,t,t,t,e,t,t,t,e],[t,r,r,t,t,t,r,r,r,e,e,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,e,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,e,t,r,r,r,e,e,t,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,e,t,r,r,r,e,e,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,t,t,t,t,t,t,r,f,r,t,t,t,t,t,t,t,t,t,e],[e,r,r,t,t,t,r,r,r,e,e,e,e,e,e,t,t,t,e,r,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,r,e,e,e,e,e,e,e,e,e,e,e,e],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,t,t,t,t,t,t,r,f,r,t,t,t,t,t,t,t,t,t,t],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,t,t,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,t,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,t,t,t,t,e,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,t,t,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,t,e,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,e,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,t,e,e,t,e],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,t,t,e],[e,r,r,t,t,t,r,r,r,e,t,e,e,e,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[t,r,r,t,t,t,r,r,r,t,t,t,t,t,e,t,t,t,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e],[e,r,r,t,t,e,r,r,r,e,e,e,e,e,e,e,e,e,e,e,r,f,r,e,e,e,e,e,e,e,e,t,e]],Vt=ze(Bt).toByteArray("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"),Et=new(ze(Ht))(Vt),De=function(s){switch(s){case Wt:return Ie;case Dt:case Ut:case zt:return Ie;case kt:return Ct;default:return s}},Ue=function(s){switch(s){case ce:case je:return q;case D:return It;default:return s}},U=class{constructor(a,n=!1){this.position=a,this.required=n}},fe=class{nextCodePoint(){let a=this.string.charCodeAt(this.pos++),n=this.string.charCodeAt(this.pos);return 55296<=a&&a<=56319&&56320<=n&&n<=57343?(this.pos++,(a-55296)*1024+(n-56320)+65536):a}nextCharClass(){return De(Et.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case D:return!1;case q:case ce:case je:return this.curClass=q,!1;case oe:return this.curClass=oe,!1}return null}getPairTableBreak(a){let n=!1;switch(jt[this.curClass][this.nextClass]){case e:n=!0;break;case t:n=a===D;break;case f:if(n=a===D,!n)return n=!1,n;break;case Ve:if(a!==D)return n;break;case r:break}return this.LB8a&&(n=!1),this.LB21a&&(this.curClass===Xt||this.curClass===Ot)?(n=!1,this.LB21a=!1):this.LB21a=this.curClass===Ft,this.curClass===We?(this.LB30a++,this.LB30a==2&&this.nextClass===We&&(n=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,n}nextBreak(){if(this.curClass==null){let a=this.nextCharClass();this.curClass=Ue(a),this.nextClass=a,this.LB8a=a===ke,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;let a=this.nextClass;if(this.nextClass=this.nextCharClass(),this.curClass===q||this.curClass===oe&&this.nextClass!==ce)return this.curClass=Ue(De(this.nextClass)),new U(this.lastPos,!0);let n=this.getSimpleBreak();if(n===null&&(n=this.getPairTableBreak(a)),this.LB8a=this.nextClass===ke,n)return new U(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new U(this.string.length)):null}constructor(a){this.string=a,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}};Ee.exports=fe});var qe=x(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.noBreakRulesRegex=v.middleDotsRegex=v.closingsRegex=v.openingsRegex=v.japaneseRegex=v.latinRegex=void 0;v.latinRegex=/[\p{scx=Latin}0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]+/u;v.japaneseRegex=/[\p{scx=Hiragana}\p{scx=Katakana}|ヲ-゚\p{scx=Han}]+/u;v.openingsRegex=/(|[|{|〔|〈|《|「|『|【|〘|〖|“|‘/;v.closingsRegex=/)|]|}|〕|〉|》|」|』|】|〙|〗|”|’|、|,|。|./;v.middleDotsRegex=/・|:|;/;v.noBreakRulesRegex=new RegExp("[\u2014\u2025\u2026\uFF3F\u2500-\u257F]+")});var le=x(w=>{"use strict";var Rt=w&&w.__createBinding||(Object.create?function(s,a,n,i){i===void 0&&(i=n);var o=Object.getOwnPropertyDescriptor(a,n);(!o||("get"in o?!a.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return a[n]}}),Object.defineProperty(s,i,o)}:function(s,a,n,i){i===void 0&&(i=n),s[i]=a[n]}),qt=w&&w.__setModuleDefault||(Object.create?function(s,a){Object.defineProperty(s,"default",{enumerable:!0,value:a})}:function(s,a){s.default=a}),Mt=w&&w.__importStar||function(s){if(s&&s.__esModule)return s;var a={};if(s!=null)for(var n in s)n!=="default"&&Object.prototype.hasOwnProperty.call(s,n)&&Rt(a,s,n);return qt(a,s),a};Object.defineProperty(w,"__esModule",{value:!0});w.LanguageClass=w.CharClass=void 0;var F=Mt(qe()),Kt={shouldNotBreak:s=>F.noBreakRulesRegex.test(s),shouldAddThinSpace:(s,a)=>{let n={openings:{regex:F.openingsRegex,hasSpaceBefore:!0,hasSpaceAfter:!1},closings:{regex:F.closingsRegex,hasSpaceBefore:!1,hasSpaceAfter:!0},middleDots:{regex:F.middleDotsRegex,hasSpaceBefore:!0,hasSpaceAfter:!0}};for(let{regex:i,hasSpaceBefore:o,hasSpaceAfter:c}of Object.values(n))if(o&&i.test(a)&&!i.test(s)||c&&i.test(s)&&!i.test(a))return!0;return!1}};w.CharClass=Kt;var C={isLatin:s=>F.latinRegex.test(s),isJapanese:s=>F.japaneseRegex.test(s),isDifferentLanguageClass:(s,a)=>C.isJapanese(s)&&C.isLatin(a)||C.isLatin(s)&&C.isJapanese(a),shouldAddThinSpace:(s,a)=>C.isDifferentLanguageClass(s,a)};w.LanguageClass=C});var ue=x(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.applyNoBreakStyle=y.applyLatinStyle=y.applyWrapperStyle=y.createKerningSpan=y.createThinSpaceSpan=y.wbr=void 0;var X={styles:{preventSelect:"user-select:none;"},attributes:{hiddenFromReader:'aria-hidden="true"',noIndex:'data-nosnippet=""'}},Zt="<wbr>";y.wbr=Zt;var Gt=(s,a)=>{let n="\u2009",i=a+"-thin-space",o=`font-size: ${s}; ${X.styles.preventSelect}`;return`<span class="${i}" style="${o}" ${X.attributes.hiddenFromReader} ${X.attributes.noIndex}>${n}</span>`};y.createThinSpaceSpan=Gt;var Qt=(s,a)=>{let n=s/1e3/2+"em",i=a+"-kerning",o=`margin: ${n}; ${X.styles.preventSelect}`;return`<span class="${i}" style="${o}" ${X.attributes.hiddenFromReader} ${X.attributes.noIndex}></span>`};y.createKerningSpan=Qt;var Jt=(s,a,n)=>`<span class="${a}" style="${n?"word-break: keep-all; overflow-wrap: anywhere;":""}">${s}</span>`;y.applyWrapperStyle=Jt;var Yt=(s,a)=>`<span class="${a+"-latin"}">${s}</span>`;y.applyLatinStyle=Yt;var er=(s,a)=>`<span class="${a+"-no-breaks"}" style="letter-spacing: 0">${s}</span>`;y.applyNoBreakStyle=er});var Je=x($=>{"use strict";var tr=$&&$.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty($,"__esModule",{value:!0});$.shouldAddThinSpace=$.shouldAddWbr=$.addSeparatorsToSegment=$.createSegments=void 0;var rr=tr(Re()),Me=le(),Ke=ue(),sr=(s,a,n)=>{let i=de(s),o=de(a);return i.reduce((d,h,p,g)=>{let H=h,I=g[p+1]||o[0];return d+Ze(H,I,n)},"")},de=s=>{let a=new Intl.Segmenter("ja-JP",{granularity:"word"});return Array.from(a.segment(s),({segment:n})=>n)};$.createSegments=de;var Ze=(s,a="",n)=>{if(!a)return s;let i=n.useWordBreak&&Ge(s,a),o=n.insertThinSpaces&&Qe(s,a);return s+(o?(0,Ke.createThinSpaceSpan)(n.thinSpaceWidth,n.classNamePrefix):"")+(i?Ke.wbr:"")};$.addSeparatorsToSegment=Ze;var Ge=(s,a)=>{let n=s.slice(-1)+a.slice(0,1),o=new rr.default(n).nextBreak();return o&&o.position===1};$.shouldAddWbr=Ge;var Qe=(s,a)=>Me.LanguageClass.shouldAddThinSpace(s,a)||Me.CharClass.shouldAddThinSpace(s,a);$.shouldAddThinSpace=Qe;$.default=sr});var et=x(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.applyStyleToSegment=O.applyStyleToText=void 0;var Ye=le(),M=ue(),nr=(s,a,n)=>s===" "?s:(0,M.applyWrapperStyle)(s,n.classNamePrefix,n.useWordBreak);O.applyStyleToText=nr;var ar=(s,a,n)=>{if(s===" ")return s;let i=ir(s,a,n);return n.wrapLatin&&Ye.LanguageClass.isLatin(s)?(0,M.applyLatinStyle)(i,n.classNamePrefix):n.noSpaceBetweenNoBreaks&&Ye.CharClass.shouldNotBreak(s)?(0,M.applyNoBreakStyle)(i,n.classNamePrefix):i};O.applyStyleToSegment=ar;var ir=(s,a,n)=>{let i=[...s];return i.map((c,d)=>{let h=i[d+1]||a[0]||"",p=n.kerningRules.find(g=>g.between[0]===c&&g.between[1]===h);if(p){let g=typeof p.value=="number"?p.value:parseInt(p.value,10);return c+(0,M.createKerningSpan)(g,n.classNamePrefix)}return c}).join("")}});var rt=x(z=>{"use strict";var he=z&&z.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(z,"__esModule",{value:!0});var or=he(ge()),cr=he(Je()),tt=et(),fr=he(Q()),K=class s extends or.default{constructor(a={}){let n=[tt.applyStyleToText,cr.default,tt.applyStyleToSegment],i=s.validateOptions(a);super(n,i),this.isIntlSegmenterSupported=typeof Intl.Segmenter!="undefined",this.isIntlSegmenterSupported||console.warn(`
2
- Intl.Segmenter is not supported in this environment.
3
- The original HTML string will be returned.
4
- For more information, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter
5
- `)}static validateOptions(a){return a.kerningRules&&(a.kerningRules=a.kerningRules.filter(s.isValidKerningRule)),Object.assign(Object.assign({},s.defaultOptions),a)}static isValidKerningRule(a){return a.between[0].length!==1||a.between[1].length!==1?(console.warn(`Kerning rule between '${a.between[0]}' and '${a.between[1]}' must be single characters.`),!1):!0}render(a){return!this.isIntlSegmenterSupported||!a?a:this.processHtmlWithFunctions(a)}renderToElements(a){!this.isIntlSegmenterSupported||!a||(Array.isArray(a)||(a=[a]),a.forEach(n=>{let i=this.render(n.innerHTML);n.innerHTML=i}))}renderToSelector(a){if(!this.isIntlSegmenterSupported||!a)return;let n=fr.default.document.querySelectorAll(a);this.renderToElements(Array.from(n))}};K.defaultOptions={classNamePrefix:"typeset",useWordBreak:!0,wrapLatin:!0,noSpaceBetweenNoBreaks:!0,insertThinSpaces:!0,thinSpaceWidth:"50%",kerningRules:[]};z.default=K});var dr=x((Z,st)=>{var lr=Z&&Z.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Z,"__esModule",{value:!0});var ur=lr(rt());st.exports=ur.default});return dr();})();
6
- //# sourceMappingURL=typesetter.min.js.map
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Typesetter=t():e.Typesetter=t()}(this,(()=>(()=>{var e={954:(e,t)=>{!function(e){"use strict";var t="undefined"!=typeof Uint8Array?Uint8Array:Array,r="+".charCodeAt(0),n="/".charCodeAt(0),u="0".charCodeAt(0),o="a".charCodeAt(0),a="A".charCodeAt(0),s="-".charCodeAt(0),i="_".charCodeAt(0);function A(e){var t=e.charCodeAt(0);return t===r||t===s?62:t===n||t===i?63:t<u?-1:t<u+10?t-u+26+26:t<a+26?t-a:t<o+26?t-o+26:void 0}e.toByteArray=function(e){var r,n,u,o,a,s;if(e.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.length;a="="===e.charAt(i-2)?2:"="===e.charAt(i-1)?1:0,s=new t(3*e.length/4-a),u=a>0?e.length-4:e.length;var c=0;function f(e){s[c++]=e}for(r=0,n=0;r<u;r+=4,n+=3)f((16711680&(o=A(e.charAt(r))<<18|A(e.charAt(r+1))<<12|A(e.charAt(r+2))<<6|A(e.charAt(r+3))))>>16),f((65280&o)>>8),f(255&o);return 2===a?f(255&(o=A(e.charAt(r))<<2|A(e.charAt(r+1))>>4)):1===a&&(f((o=A(e.charAt(r))<<10|A(e.charAt(r+1))<<4|A(e.charAt(r+2))>>2)>>8&255),f(255&o)),s},e.fromByteArray=function(e){var t,r,n,u,o=e.length%3,a="";function s(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,n=e.length-o;t<n;t+=3)a+=s((u=r=(e[t]<<16)+(e[t+1]<<8)+e[t+2])>>18&63)+s(u>>12&63)+s(u>>6&63)+s(63&u);switch(o){case 1:a+=s((r=e[e.length-1])>>2),a+=s(r<<4&63),a+="==";break;case 2:a+=s((r=(e[e.length-2]<<8)+e[e.length-1])>>10),a+=s(r>>4&63),a+=s(r<<2&63),a+="="}return a}}(t)},297:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var n=r(601),u=r.n(n),o=r(314),a=r.n(o),s=r(417),i=r.n(s),A=new URL(r(539),r.b),c=a()(u()),f=i()(A);c.push([e.id,`@font-face {\n /* \n * カスタムフォント: 1/10000 UPM 幅のスペースとノンブレーキングスペースを定義。\n * 注意:完全なゼロ幅スペースを使用すると、Safari では letter-spacing が無視される。\n * @sharapeco による貢献に感謝します。{@link https://gist.github.com/sharapeco/1dd7f4433dad07648e1325e1fa5926ee}\n */\n font-family: ling-one;\n src: url(${f})\n format('woff2');\n}\n\n.typeset-word-break {\n word-break: keep-all;\n overflow-wrap: anywhere;\n}\n\n.typeset-thin-space,\n.typeset-kerning {\n font-family: ling-one; /* カスタムフォントのスペースを使用します。 */\n line-height: 0; /* 空白による行の高さの影響を無視します。 */\n letter-spacing: 0; /* 親要素から継承される letter-spacing の影響を無視します。 */\n user-select: none; /* ユーザーによるテキストのコピーを無効にします。 */\n}\n\n.typeset-no-breaks {\n letter-spacing: 0; /* 親要素から継承される letter-spacing の影響を無視します。 */\n}\n`,""]);const l=c},314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,u,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var s=0;s<this.length;s++){var i=this[s][0];null!=i&&(a[i]=!0)}for(var A=0;A<e.length;A++){var c=[].concat(e[A]);n&&a[c[0]]||(void 0!==o&&(void 0===c[5]||(c[1]="@layer".concat(c[5].length>0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=o),r&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=r):c[2]=r),u&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=u):c[4]="".concat(u)),t.push(c))}},t}},417:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},601:e=>{"use strict";e.exports=function(e){return e[1]}},72:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n<t.length;n++)if(t[n].identifier===e){r=n;break}return r}function n(e,n){for(var o={},a=[],s=0;s<e.length;s++){var i=e[s],A=n.base?i[0]+n.base:i[0],c=o[A]||0,f="".concat(A," ").concat(c);o[A]=c+1;var l=r(f),p={css:i[1],media:i[2],sourceMap:i[3],supports:i[4],layer:i[5]};if(-1!==l)t[l].references++,t[l].updater(p);else{var h=u(p,n);n.byIndex=s,t.splice(s,0,{identifier:f,updater:h,references:1})}a.push(f)}return a}function u(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,u){var o=n(e=e||[],u=u||{});return function(e){e=e||[];for(var a=0;a<o.length;a++){var s=r(o[a]);t[s].references--}for(var i=n(e,u),A=0;A<o.length;A++){var c=r(o[A]);0===t[c].references&&(t[c].updater(),t.splice(c,1))}o=i}}},659:e=>{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},56:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var u=void 0!==r.layer;u&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,u&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var o=r.sourceMap;o&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},741:e=>{function t(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function r(e,r){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=r,this.destLen=0,this.ltree=new t,this.dtree=new t}var n=new t,u=new t,o=new Uint8Array(30),a=new Uint16Array(30),s=new Uint8Array(30),i=new Uint16Array(30),A=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),c=new t,f=new Uint8Array(320);function l(e,t,r,n){var u,o;for(u=0;u<r;++u)e[u]=0;for(u=0;u<30-r;++u)e[u+r]=u/r|0;for(o=n,u=0;u<30;++u)t[u]=o,o+=1<<e[u]}var p=new Uint16Array(16);function h(e,t,r,n){var u,o;for(u=0;u<16;++u)e.table[u]=0;for(u=0;u<n;++u)e.table[t[r+u]]++;for(e.table[0]=0,o=0,u=0;u<16;++u)p[u]=o,o+=e.table[u];for(u=0;u<n;++u)t[r+u]&&(e.trans[p[t[r+u]]++]=u)}function d(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=1&e.tag;return e.tag>>>=1,t}function b(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function v(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=0,n=0,u=0,o=e.tag;do{n=2*n+(1&o),o>>>=1,++u,r+=t.table[u],n-=t.table[u]}while(n>=0);return e.tag=o,e.bitcount-=u,t.trans[r+n]}function y(e,t,r){var n,u,o,a,s,i;for(n=b(e,5,257),u=b(e,5,1),o=b(e,4,4),a=0;a<19;++a)f[a]=0;for(a=0;a<o;++a){var l=b(e,3,0);f[A[a]]=l}for(h(c,f,0,19),s=0;s<n+u;){var p=v(e,c);switch(p){case 16:var d=f[s-1];for(i=b(e,2,3);i;--i)f[s++]=d;break;case 17:for(i=b(e,3,3);i;--i)f[s++]=0;break;case 18:for(i=b(e,7,11);i;--i)f[s++]=0;break;default:f[s++]=p}}h(t,f,0,n),h(r,f,n,u)}function g(e,t,r){for(;;){var n,u,A,c,f=v(e,t);if(256===f)return 0;if(f<256)e.dest[e.destLen++]=f;else for(n=b(e,o[f-=257],a[f]),u=v(e,r),c=A=e.destLen-b(e,s[u],i[u]);c<A+n;++c)e.dest[e.destLen++]=e.dest[c]}}function D(e){for(var t,r;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}!function(e,t){var r;for(r=0;r<7;++r)e.table[r]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,r=0;r<24;++r)e.trans[r]=256+r;for(r=0;r<144;++r)e.trans[24+r]=r;for(r=0;r<8;++r)e.trans[168+r]=280+r;for(r=0;r<112;++r)e.trans[176+r]=144+r;for(r=0;r<5;++r)t.table[r]=0;for(t.table[5]=32,r=0;r<32;++r)t.trans[r]=r}(n,u),l(o,a,4,3),l(s,i,2,1),o[28]=0,a[28]=258,e.exports=function(e,t){var o,a,s=new r(e,t);do{switch(o=d(s),b(s,2,0)){case 0:a=D(s);break;case 1:a=g(s,n,u);break;case 2:y(s,s.ltree,s.dtree),a=g(s,s.ltree,s.dtree);break;default:a=-3}if(0!==a)throw new Error("Data error")}while(!o);return s.destLen<s.dest.length?"function"==typeof s.dest.slice?s.dest.slice(0,s.destLen):s.dest.subarray(0,s.destLen):s.dest}},667:(e,t,r)=>{const n=r(741),{swap32LE:u}=r(288);e.exports=class{constructor(e){const t="function"==typeof e.readUInt32BE&&"function"==typeof e.slice;if(t||e instanceof Uint8Array){let r;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),r=e.readUInt32LE(8),e=e.slice(12);else{const t=new DataView(e.buffer);this.highStart=t.getUint32(0,!0),this.errorValue=t.getUint32(4,!0),r=t.getUint32(8,!0),e=e.subarray(12)}e=n(e,new Uint8Array(r)),e=n(e,new Uint8Array(r)),u(e),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=this.data[t+(e>>5&63)],t=(t<<2)+(31&e),this.data[t]):this.data[this.data.length-4]}}},288:e=>{const t=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],r=(e,t,r)=>{let n=e[t];e[t]=e[r],e[r]=n};e.exports={swap32LE:e=>{t&&(e=>{const t=e.length;for(let n=0;n<t;n+=4)r(e,n,n+3),r(e,n+1,n+2)})(e)}}},539:e=>{"use strict";e.exports="data:font/woff2;base64,AAEAAAAKAIAAAwAgT1MvMhG03xcAAAEoAAAAYGNtYXAADABzAAABkAAAADRnbHlmJAM2GwAAAcwAAAAYaGVhZCLbfFwAAACsAAAANmhoZWEnEvkrAAAA5AAAACRobXR4AAEAAAAAAYgAAAAIbG9jYQAMABgAAAHEAAAACG1heHAAcQAiAAABCAAAACBuYW1lBbsdPAAAAeQAAACKcG9zdHQrY6cAAAJwAAAALQABAAAAAQAAsWqD8F8PPPUAAycQAAAAAOHcugAAAAAA4edeTwAAAAAAAQABAAAABwACAAAAAAAAAAEAACcQ+DAAAAB9AAAAfAABAAEAAAAAAAAAAAAAAAAAAAABAAEAAAADAAMAAQAAAAAAAQACAB4ABgAAAGQAAAAAAAAAAwB9AZAABQAIGWQXcAAAAu4ZZBdwAAANrAAyC7gAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc3N6bQBAACAAIB9A+DAH0CcQB9AAAAABAAAAABOIG1gAAAAgAAAAAQAAAAAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAIAAAAAQABAABAAAAIP//AAAAIP///+EAAQAAAAAAAAAMAAwADAABAAAAAAABAAEAAgAANRcjAQEBAQAAAAAAAAYATgADAAEECQABAAgAAAADAAEECQACAAIACAADAAEECQADAB4ACgADAAEECQAEAAwAKAADAAEECQAFAAgANAADAAEECQAGAAwAKABMAGkAbgBnADEAMQAuADAAOwBzAHMAegBtADsATABpAG4AZwAtADEATABpAG4AZwAtADEAdgAxAC4AMAAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMBAgRuYnNwAAAA"}},t={};function r(n){var u=t[n];if(void 0!==u)return u.exports;var o=t[n]={id:n,exports:{}};return e[n](o,o.exports,r),o.exports}r.m=e,r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.b=document.baseURI||self.location.href,r.nc=void 0;var n={};return(()=>{"use strict";r.d(n,{default:()=>ae});var e=window;function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function o(e){var r=function(e,r){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var u=n.call(e,"string");if("object"!=t(u))return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:String(r)}var a,s=function(){function t(r,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.replaceNode=function(t,r){var n=e.document.createRange();n.selectNode(t);var u=n.createContextualFragment(r);t.parentNode&&(t.parentNode.insertBefore(u,t),t.parentNode.removeChild(t))},this.transformFunctions=r,this.options=n}var r,n;return r=t,(n=[{key:"processHtmlWithFunctions",value:function(e){var t=this;return""===e?e:this.transformFunctions.reduce((function(e,r){return t.processHtml(e,r)}),e)}},{key:"processHtml",value:function(e,t){var r=this;if(""===e)return e;var n=i(e),u=A(n.body);return u.forEach((function(e,n){var o=u[n+1]||null,a=r.getTransformedHtml(e,o,t);r.replaceNode(e,a)})),n.body.innerHTML}},{key:"getTransformedHtml",value:function(e,t,r){return r(e.nodeValue||"",t&&t.nodeValue||"",this.options)}}])&&u(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),t}(),i=function(t){return(new e.DOMParser).parseFromString(t,"text/html")},A=function(t){for(var r=e.document.createTreeWalker(t,e.NodeFilter.SHOW_TEXT),n=r.nextNode(),u=[];n;)n.nodeValue&&""!==n.nodeValue.trim()&&u.push(n),n=r.nextNode();return u},c=s,f=r(667),l=r(954);const p=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]],h=new f(l.toByteArray("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")),d=function(e){switch(e){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return e}},b=function(e){switch(e){case 37:case 38:return 34;case 41:return 22;default:return e}};class v{constructor(e,t=!1){this.position=e,this.required=t}}a=class{nextCodePoint(){const e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos);return 55296<=e&&e<=56319&&56320<=t&&t<=57343?(this.pos++,1024*(e-55296)+(t-56320)+65536):e}nextCharClass(){return d(h.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case 41:return!1;case 34:case 37:case 38:return this.curClass=34,!1;case 36:return this.curClass=36,!1}return null}getPairTableBreak(e){let t=!1;switch(p[this.curClass][this.nextClass]){case 0:t=!0;break;case 1:t=41===e;break;case 2:if(t=41===e,!t)return t=!1,t;break;case 3:if(41!==e)return t}return this.LB8a&&(t=!1),!this.LB21a||16!==this.curClass&&17!==this.curClass?this.LB21a=13===this.curClass:(t=!1,this.LB21a=!1),28===this.curClass?(this.LB30a++,2==this.LB30a&&28===this.nextClass&&(t=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,t}nextBreak(){if(null==this.curClass){let e=this.nextCharClass();this.curClass=b(e),this.nextClass=e,this.LB8a=31===e,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;const e=this.nextClass;if(this.nextClass=this.nextCharClass(),34===this.curClass||36===this.curClass&&37!==this.nextClass)return this.curClass=b(d(this.nextClass)),new v(this.lastPos,!0);let t=this.getSimpleBreak();if(null===t&&(t=this.getPairTableBreak(e)),this.LB8a=31===this.nextClass,t)return new v(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new v(this.string.length)):null}constructor(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}};var y=/(?:[\t-\r -~\xA0-\xA5\xAA\xAC\xB1-\xB3\xB9\xBA\xBF-\u02B8\u02E0-\u02E4\u0363-\u036F\u0485\u0486\u0951\u0952\u10FB\u1680\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2000-\u200A\u2018\u2019\u201C\u201D\u2028\u2029\u202F\u2030\u205F\u2070\u2071\u2074-\u208E\u2090-\u209C\u20AC\u20F0\u212A\u212B\u2132\u214E\u2160-\u2188\u2202\u2205\u220F\u2211\u2212\u221A\u221E\u222B\u2248\u2260\u2264\u2265\u2C60-\u2C7F\u3000\uA700-\uA707\uA722-\uA787\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA7FF\uA92E\uAB30-\uAB5A\uAB5C-\uAB64\uAB66-\uAB69\uFB00-\uFB06\uFEFF\uFF21-\uFF3A\uFF41-\uFF5A]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A])+/,g=/(?:[\|\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3001-\u3003\u3005-\u3011\u3013-\u301F\u3021-\u302D\u3030-\u3035\u3037-\u303F\u3041-\u3096\u3099-\u30FF\u3190-\u319F\u31C0-\u31E3\u31F0-\u31FF\u3220-\u3247\u3280-\u32B0\u32C0-\u32CB\u32D0-\u3370\u337B-\u337F\u33E0-\u33FE\u3400-\u4DBF\u4E00-\u9FFF\uA700-\uA707\uF900-\uFA6D\uFA70-\uFAD9\uFE45\uFE46\uFF61-\uFF9F]|\uD81B[\uDFE2\uDFE3\uDFF0\uDFF1]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67]|\uD834[\uDF60-\uDF71]|\uD83C[\uDE00\uDE50\uDE51]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])+/,D=/(|[|{|〔|〈|《|「|『|【|〘|〖|“|‘/,m=/)|]|}|〕|〉|》|」|』|】|〙|〗|”|’/,F=/・|:|;/,w=/、|,/,B=/。|./,C=new RegExp("[".concat("—‥…_",String.fromCharCode(9472),"-").concat(String.fromCharCode(9599),"]+")),E={isLatin:function(e){return y.test(e)},isJapanese:function(e){return g.test(e)},hasLanguageTransition:function(e,t){return E.isJapanese(e)!==E.isJapanese(t)},shouldAddThinSpace:function(e,t){return E.hasLanguageTransition(e,t)&&(r=t,!new RegExp("^[".concat(B.source).concat(w.source,"]")).test(r));var r}},P=r(72),x=r.n(P),S=r(825),O=r.n(S),L=r(659),j=r.n(L),H=r(56),T=r.n(H),k=r(540),X=r.n(k),I=r(113),U=r.n(I),W=r(297),z={};z.styleTagTransform=U(),z.setAttributes=T(),z.insert=j().bind(null,"head"),z.domAPI=O(),z.insertStyleElement=X(),x()(W.A,z),W.A&&W.A.locals&&W.A.locals;var N=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],u=r?' style="'.concat(r,'"'):"",o=n?' aria-hidden="true" data-nosnippet=""':"";return'<span class="'.concat(t,'"').concat(u).concat(o,">").concat(e,"</span>")},V=function(e){var t=new Intl.Segmenter("ja-JP",{granularity:"word"});return Array.from(t.segment(e),(function(e){return e.segment}))},Q=function(e,t){return E.shouldAddThinSpace(e,t)||function(e,t){for(var r=new RegExp("(".concat(m.source,"|").concat(w.source,"|").concat(B.source,")")),n={spaceBefore:{regex:D,hasSpaceBefore:!0,hasSpaceAfter:!1},spaceAfter:{regex:r,hasSpaceBefore:!1,hasSpaceAfter:!0},spaceBoth:{regex:F,hasSpaceBefore:!0,hasSpaceAfter:!0}},u=0,o=Object.values(n);u<o.length;u++){var a=o[u],s=a.regex,i=a.hasSpaceBefore,A=a.hasSpaceAfter;if(i&&s.test(t)&&!s.test(e))return!0;if(A&&s.test(e)&&!s.test(t))return!0}return!1}(e,t)},M=function(e,t){var r=e.slice(-1)+t.slice(0,1),n=new a(r).nextBreak();return!!n&&1===n.position},Z=function(e,t,r){var n=V(e),u=V(t);return n.reduce((function(e,t,n,o){return e+function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2?arguments[2]:void 0;if(!t)return e;var n=r.insertThinSpaces&&Q(e,t),u=M(e,t);return n?e+function(e,t){var r=t?" ":"&nbsp;",n="letter-spacing: ".concat(e,";");return N(r,"typeset-thin-space",n,!0)}(r.thinSpaceWidth,u):r.useWordBreak&&u?e+"<wbr>":e}(t,o[n+1]||u[0],r)}),"")};function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var G=function(e,t,r){return" "===e?e:(n=e,u="typeset",o=r.useWordBreak?"".concat(u," ").concat("typeset-word-break"):u,N(n,o));var n,u,o},q=function(e,t,r){return" "===e?e:r.wrapLatin&&E.isLatin(e)?e.replace(y,(function(e){return N(e,"typeset-latin")})):r.noSpaceBetweenNoBreaks&&(n=e,C.test(n))?e.replace(C,(function(e){return N(e,"typeset-no-breaks")})):e;var n},K=function(e,t,r){var n,u=function(e){if(Array.isArray(e))return R(e)}(n=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e,t){if(e){if("string"==typeof e)return R(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?R(e,t):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();return u.map((function(e,n){var o=u[n+1]||t[0]||"",a=r.kerningRules.find((function(t){return t.between[0]===e&&t.between[1]===o}));if(a){var s="number"==typeof a.value?a.value:parseInt(a.value,10),i=!r.useWordBreak&&M(e,o);return e+function(e,t){if(0===e)return"";var r="typeset-kerning";if(e<0){var n="margin: ".concat(e/1e3/2+"em",";");return N("",r,n,!0)}var u=t?" ":"&nbsp;",o="letter-spacing: ".concat(e/1e3+"em",";");return N(u,r,o,!0)}(s,i)}return e})).join("")};function J(e){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J(e)}function Y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(r),!0).forEach((function(t){var n,u,o;n=e,u=t,o=r[t],(u=ee(u))in n?Object.defineProperty(n,u,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[u]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function $(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ee(n.key),n)}}function ee(e){var t=function(e,t){if("object"!=J(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=J(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==J(t)?t:String(t)}function te(e,t,r){return t=ne(t),function(e,t){if(t&&("object"===J(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,re()?Reflect.construct(t,r||[],ne(e).constructor):t.apply(e,r))}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(re=function(){return!!e})()}function ne(e){return ne=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ne(e)}function ue(e,t){return ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ue(e,t)}var oe=function(t){function r(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);var n=[G,Z,q,K],u=r.validateOptions(t);return(e=te(this,r,[n,u])).isIntlSegmenterSupported=void 0!==Intl.Segmenter,e.isIntlSegmenterSupported||console.warn("\n Intl.Segmenter is not supported in this environment. \n The original HTML string will be returned. \n For more information, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter\n "),e}var n,u,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ue(e,t)}(r,t),n=r,o=[{key:"getDefaultOptions",value:function(){return{useWordBreak:!0,wrapLatin:!0,noSpaceBetweenNoBreaks:!0,insertThinSpaces:!0,thinSpaceWidth:"0.2em",kerningRules:[]}}},{key:"validateOptions",value:function(e){return e.kerningRules&&(e.kerningRules=e.kerningRules.filter(r.isValidKerningRule)),_(_({},r.getDefaultOptions()),e)}},{key:"isValidKerningRule",value:function(e){return 1===e.between[0].length&&1===e.between[1].length||(console.warn("Kerning rule between '".concat(e.between[0],"' and '").concat(e.between[1],"' must be single characters.")),!1)}}],(u=[{key:"render",value:function(e){return this.isIntlSegmenterSupported&&e?this.processHtmlWithFunctions(e):e}},{key:"renderToElements",value:function(e){var t=this;this.isIntlSegmenterSupported&&e&&(Array.isArray(e)||(e=[e]),e.forEach((function(e){var r=t.render(e.innerHTML);e.innerHTML=r})))}},{key:"renderToSelector",value:function(t){if(this.isIntlSegmenterSupported&&t){var r=e.document.querySelectorAll(t);this.renderToElements(Array.from(r))}}}])&&$(n.prototype,u),o&&$(n,o),Object.defineProperty(n,"prototype",{writable:!1}),r}(c),ae=oe})(),n.default})()));
@@ -1,5 +1,6 @@
1
- import { TypesettingOptions } from './types';
1
+ import { TypesettingOptions } from '../types';
2
2
  declare const applyStyleToText: (currentNodeValue: string, nextNodeValue: string, options: TypesettingOptions) => string;
3
3
  declare const applyStyleToSegment: (currentSegment: string, nextSegment: string, options: TypesettingOptions) => string;
4
- export { applyStyleToText, applyStyleToSegment };
4
+ declare const applyKerningToSegment: (currentSegment: string, nextSegment: string, options: TypesettingOptions) => string;
5
+ export { applyStyleToText, applyStyleToSegment, applyKerningToSegment };
5
6
  //# sourceMappingURL=apply-style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-style.d.ts","sourceRoot":"","sources":["../src/apply-style.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAQ5C,QAAA,MAAM,gBAAgB,qBAAsB,MAAM,iBAAiB,MAAM,WAAW,kBAAkB,KAAG,MAOxG,CAAA;AAUD,QAAA,MAAM,mBAAmB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAmBvG,CAAA;AA8BD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"apply-style.d.ts","sourceRoot":"","sources":["../src/apply-style.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAQ7C,QAAA,MAAM,gBAAgB,qBAAsB,MAAM,iBAAiB,MAAM,WAAW,kBAAkB,KAAG,MAOxG,CAAA;AAUD,QAAA,MAAM,mBAAmB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAiBvG,CAAA;AAUD,QAAA,MAAM,qBAAqB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAmBzG,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAA"}
@@ -1,40 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyStyleToSegment = exports.applyStyleToText = void 0;
4
- const utils_text_classes_1 = require("./utils-text-classes");
5
- const utils_tags_1 = require("./utils-tags");
1
+ import { isBreakable } from "./insert-separators";
2
+ import { CharClass, LanguageClass } from "./util-text-classes";
3
+ import { applyWrapperStyle, applyLatinStyle, applyNoBreaksStyle, createKerning } from "./util-tags";
4
+ import * as util from "./util-regex";
6
5
  const applyStyleToText = (currentNodeValue, nextNodeValue, options) => {
7
- if (currentNodeValue === ' ') {
8
- return currentNodeValue;
9
- }
10
- return (0, utils_tags_1.applyWrapperStyle)(currentNodeValue, options.classNamePrefix, options.useWordBreak);
6
+ if (currentNodeValue === " ") {
7
+ return currentNodeValue;
8
+ }
9
+ return applyWrapperStyle(currentNodeValue, options.useWordBreak);
11
10
  };
12
- exports.applyStyleToText = applyStyleToText;
13
11
  const applyStyleToSegment = (currentSegment, nextSegment, options) => {
14
- if (currentSegment === ' ') {
15
- return currentSegment;
16
- }
17
- const kernedSegment = applyKerningToSegment(currentSegment, nextSegment, options);
18
- if (options.wrapLatin && utils_text_classes_1.LanguageClass.isLatin(currentSegment)) {
19
- return (0, utils_tags_1.applyLatinStyle)(kernedSegment, options.classNamePrefix);
20
- }
21
- if (options.noSpaceBetweenNoBreaks && utils_text_classes_1.CharClass.shouldNotBreak(currentSegment)) {
22
- return (0, utils_tags_1.applyNoBreakStyle)(kernedSegment, options.classNamePrefix);
23
- }
24
- return kernedSegment;
12
+ if (currentSegment === " ") {
13
+ return currentSegment;
14
+ }
15
+ if (options.wrapLatin && LanguageClass.isLatin(currentSegment)) {
16
+ return currentSegment.replace(util.latinRegex, (match) => applyLatinStyle(match));
17
+ }
18
+ if (options.noSpaceBetweenNoBreaks && CharClass.shouldNotBreak(currentSegment)) {
19
+ return currentSegment.replace(util.noBreakRulesRegex, (match) => applyNoBreaksStyle(match));
20
+ }
21
+ return currentSegment;
25
22
  };
26
- exports.applyStyleToSegment = applyStyleToSegment;
27
23
  const applyKerningToSegment = (currentSegment, nextSegment, options) => {
28
- const chars = [...currentSegment];
29
- const kernedChars = chars.map((currentChar, i) => {
30
- const nextChar = chars[i + 1] || nextSegment[0] || '';
31
- const kerningRule = options.kerningRules.find(rule => rule.between[0] === currentChar && rule.between[1] === nextChar);
32
- if (kerningRule) {
33
- const kerningValue = typeof kerningRule.value === 'number' ? kerningRule.value : parseInt(kerningRule.value, 10);
34
- return currentChar + (0, utils_tags_1.createKerningSpan)(kerningValue, options.classNamePrefix);
35
- }
36
- return currentChar;
37
- });
38
- return kernedChars.join('');
24
+ const chars = [...currentSegment];
25
+ const kernedChars = chars.map((currentChar, i) => {
26
+ const nextChar = chars[i + 1] || nextSegment[0] || "";
27
+ const kerningRule = options.kerningRules.find(
28
+ (rule) => rule.between[0] === currentChar && rule.between[1] === nextChar
29
+ );
30
+ if (kerningRule) {
31
+ const kerningValue = typeof kerningRule.value === "number" ? kerningRule.value : parseInt(kerningRule.value, 10);
32
+ const breakable = options.useWordBreak ? false : isBreakable(currentChar, nextChar);
33
+ return currentChar + createKerning(kerningValue, breakable);
34
+ }
35
+ return currentChar;
36
+ });
37
+ return kernedChars.join("");
38
+ };
39
+ export {
40
+ applyKerningToSegment,
41
+ applyStyleToSegment,
42
+ applyStyleToText
39
43
  };
40
- //# sourceMappingURL=apply-style.js.map
@@ -1,4 +1,4 @@
1
- import type { TransformFunction, TypesettingOptions } from './types';
1
+ import type { TransformFunction, TypesettingOptions } from '../types';
2
2
  declare class HTMLProcessor {
3
3
  private transformFunctions;
4
4
  private options;
@@ -1 +1 @@
1
- {"version":3,"file":"html-processor.d.ts","sourceRoot":"","sources":["../src/html-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAOpE,cAAM,aAAa;IACjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAoB;gBAEvB,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,kBAAkB;IAahF,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBjD,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,WAAW,CASlB;CACF;AAQD,QAAA,MAAM,eAAe,SAAU,MAAM,aAEpC,CAAA;AAQD,QAAA,MAAM,YAAY,YAAa,WAAW,KAAG,IAAI,EAahD,CAAA;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"html-processor.d.ts","sourceRoot":"","sources":["../src/html-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAOrE,cAAM,aAAa;IACjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAoB;gBAEvB,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,kBAAkB;IAahF,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBjD,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,WAAW,CASlB;CACF;AAQD,QAAA,MAAM,eAAe,SAAU,MAAM,aAEpC,CAAA;AAQD,QAAA,MAAM,YAAY,YAAa,WAAW,KAAG,IAAI,EAahD,CAAA;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA"}
@@ -1,64 +1,97 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTextNodes = exports.parseFromString = void 0;
7
- const win_1 = __importDefault(require("./win"));
1
+ import win from "./win";
8
2
  class HTMLProcessor {
9
- constructor(transformFunctions, options) {
10
- this.replaceNode = (node, transformedHtml) => {
11
- const range = win_1.default.document.createRange();
12
- range.selectNode(node);
13
- const fragment = range.createContextualFragment(transformedHtml);
14
- if (node.parentNode) {
15
- node.parentNode.insertBefore(fragment, node);
16
- node.parentNode.removeChild(node);
17
- }
18
- };
19
- this.transformFunctions = transformFunctions;
20
- this.options = options;
21
- }
22
- processHtmlWithFunctions(srcHtml) {
23
- if (srcHtml === '') {
24
- return srcHtml;
25
- }
26
- return this.transformFunctions.reduce((currentHtml, transformFunction) => this.processHtml(currentHtml, transformFunction), srcHtml);
3
+ constructor(transformFunctions, options) {
4
+ /**
5
+ * 指定されたノードを、新しいHTMLコンテンツで置き換えます。
6
+ *
7
+ * @param node - 置き換えるノード。
8
+ * @param transformedHtml - ノードに挿入される変換後のHTMLコンテンツ。
9
+ */
10
+ this.replaceNode = (node, transformedHtml) => {
11
+ const range = win.document.createRange();
12
+ range.selectNode(node);
13
+ const fragment = range.createContextualFragment(transformedHtml);
14
+ if (node.parentNode) {
15
+ node.parentNode.insertBefore(fragment, node);
16
+ node.parentNode.removeChild(node);
17
+ }
18
+ };
19
+ this.transformFunctions = transformFunctions;
20
+ this.options = options;
21
+ }
22
+ /**
23
+ * 与えられたHTML文字列に対して、指定された変換関数の配列を順番に適用し、
24
+ * 変換されたHTMLを生成します。
25
+ *
26
+ * @param srcHtml - 変換を適用する元のHTML文字列。
27
+ * @param functions - 順番に適用する変換関数の配列。
28
+ * @return 変換後のHTML文字列。
29
+ */
30
+ processHtmlWithFunctions(srcHtml) {
31
+ if (srcHtml === "") {
32
+ return srcHtml;
27
33
  }
28
- processHtml(html, transformFunction) {
29
- if (html === '') {
30
- return html;
31
- }
32
- const doc = parseFromString(html);
33
- const textNodes = getTextNodes(doc.body);
34
- textNodes.forEach((currentNode, index) => {
35
- const nextNode = textNodes[index + 1] || null;
36
- const transformedHtml = this.getTransformedHtml(currentNode, nextNode, transformFunction);
37
- this.replaceNode(currentNode, transformedHtml);
38
- });
39
- return doc.body.innerHTML;
40
- }
41
- getTransformedHtml(currentNode, nextNode, transformFunction) {
42
- const transformedHtml = transformFunction(currentNode.nodeValue || '', nextNode ? nextNode.nodeValue || '' : '', this.options);
43
- return transformedHtml;
34
+ return this.transformFunctions.reduce(
35
+ (currentHtml, transformFunction) => this.processHtml(currentHtml, transformFunction),
36
+ srcHtml
37
+ );
38
+ }
39
+ /**
40
+ * HTML文字列を解析し、特定の変換関数を使用してその内容を変換し、
41
+ * 変換されたHTMLを文字列として返します。
42
+ *
43
+ * @param html - 解析および変換するHTML文字列。
44
+ * @param transformFunction - 各テキストノードに適用される変換関数。
45
+ * @return 変換後のHTML内容を含む文字列。テキストが空の場合は、そのまま返されます。
46
+ */
47
+ processHtml(html, transformFunction) {
48
+ if (html === "") {
49
+ return html;
44
50
  }
51
+ const doc = parseFromString(html);
52
+ const textNodes = getTextNodes(doc.body);
53
+ textNodes.forEach((currentNode, index) => {
54
+ const nextNode = textNodes[index + 1] || null;
55
+ const transformedHtml = this.getTransformedHtml(currentNode, nextNode, transformFunction);
56
+ this.replaceNode(currentNode, transformedHtml);
57
+ });
58
+ return doc.body.innerHTML;
59
+ }
60
+ /**
61
+ * 与えられたノードと、その次のノードに基づいて変換されたHTMLを生成します。
62
+ *
63
+ * @param currentNode - 現在のノード。
64
+ * @param nextNode - 次のノード、または存在しない場合は null。
65
+ * @param transformFunction - ノードの値を変換するための関数。
66
+ * @return 変換されたHTMLコンテンツを含む文字列。
67
+ */
68
+ getTransformedHtml(currentNode, nextNode, transformFunction) {
69
+ const transformedHtml = transformFunction(
70
+ currentNode.nodeValue || "",
71
+ nextNode ? nextNode.nodeValue || "" : "",
72
+ this.options
73
+ );
74
+ return transformedHtml;
75
+ }
45
76
  }
46
77
  const parseFromString = (html) => {
47
- return new win_1.default.DOMParser().parseFromString(html, 'text/html');
78
+ return new win.DOMParser().parseFromString(html, "text/html");
48
79
  };
49
- exports.parseFromString = parseFromString;
50
80
  const getTextNodes = (element) => {
51
- const walk = win_1.default.document.createTreeWalker(element, win_1.default.NodeFilter.SHOW_TEXT);
52
- let textNode = walk.nextNode();
53
- const textNodes = [];
54
- while (textNode) {
55
- if (textNode.nodeValue && textNode.nodeValue.trim() !== '') {
56
- textNodes.push(textNode);
57
- }
58
- textNode = walk.nextNode();
81
+ const walk = win.document.createTreeWalker(element, win.NodeFilter.SHOW_TEXT);
82
+ let textNode = walk.nextNode();
83
+ const textNodes = [];
84
+ while (textNode) {
85
+ if (textNode.nodeValue && textNode.nodeValue.trim() !== "") {
86
+ textNodes.push(textNode);
59
87
  }
60
- return textNodes;
88
+ textNode = walk.nextNode();
89
+ }
90
+ return textNodes;
91
+ };
92
+ var html_processor_default = HTMLProcessor;
93
+ export {
94
+ html_processor_default as default,
95
+ getTextNodes,
96
+ parseFromString
61
97
  };
62
- exports.getTextNodes = getTextNodes;
63
- exports.default = HTMLProcessor;
64
- //# sourceMappingURL=html-processor.js.map
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import HTMLProcessor from './html-processor';
2
- import type { TypesettingOptions } from './types';
2
+ import type { TypesettingOptions } from '../types';
3
3
  declare class Typesetter extends HTMLProcessor {
4
- static defaultOptions: TypesettingOptions;
4
+ static getDefaultOptions(): TypesettingOptions;
5
5
  private isIntlSegmenterSupported;
6
6
  constructor(options?: Partial<TypesettingOptions>);
7
7
  private static validateOptions;
@@ -11,4 +11,5 @@ declare class Typesetter extends HTMLProcessor {
11
11
  renderToSelector(selector: string | null): void;
12
12
  }
13
13
  export default Typesetter;
14
+ export type { TypesettingOptions, KerningRule } from '../types';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAI5C,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAM9D,cAAM,UAAW,SAAQ,aAAa;IAIpC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAQxC;IAKD,OAAO,CAAC,wBAAwB,CAAS;gBAE7B,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM;IA2BrD,OAAO,CAAC,MAAM,CAAC,eAAe;IAkB9B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAiBjC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAc/B,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI;IAqB5D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAQhD;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAI5C,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,UAAU,CAAA;AAM/D,cAAM,UAAW,SAAQ,aAAa;IAIpC,MAAM,CAAC,iBAAiB,IAAI,kBAAkB;IAc9C,OAAO,CAAC,wBAAwB,CAAS;gBAE7B,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM;IA2BrD,OAAO,CAAC,MAAM,CAAC,eAAe;IAkB9B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAiBjC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAc/B,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI;IAqB5D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAQhD;AAED,eAAe,UAAU,CAAA;AACzB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA"}