+
-
+
{{ content }}
diff --git a/.github/workflows/jsdoc.yml b/.github/workflows/jsdoc.yml
new file mode 100644
index 000000000..83a42f110
--- /dev/null
+++ b/.github/workflows/jsdoc.yml
@@ -0,0 +1,91 @@
+name: Generate JSDoc
+
+on:
+ push:
+ branches: [ main ]
+ workflow_dispatch:
+ release:
+ types: [published]
+jobs:
+ build-jsdoc:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+
+ - name: Create temporary package.json
+ run: |
+ echo '{
+ "name": "temp-jsdoc",
+ "version": "1.0.0",
+ "devDependencies": {
+ "jsdoc": "^3.6.3",
+ "docdash": "^2.0.0"
+ }
+ }' > package.json
+
+ - name: Install dependencies
+ run: |
+ npm install
+ npm install --save-dev jsdoc-baseline
+
+ - name: Generate JSDoc
+ run: npx jsdoc docs/js -d docs/jsdoc -t ./node_modules/jsdoc-baseline
+
+ - name: Install Puppeteer and pdf-lib
+ run: npm install puppeteer pdf-lib
+
+ - name: Generate PDF from selected JSDoc HTML files
+ run: |
+ node -e "
+ const fs = require('fs');
+ const path = require('path');
+ const puppeteer = require('puppeteer');
+ const { PDFDocument } = require('pdf-lib');
+
+ (async () => {
+ const dir = path.join(process.cwd(), 'docs/jsdoc');
+ const files = fs.readdirSync(dir)
+ .filter(f => f.endsWith('.html') && f !== 'index.html' && !f.endsWith('.js.html'))
+ .map(f => path.join(dir, f));
+
+ const browser = await puppeteer.launch({args: ['--no-sandbox']});
+ const pdfBuffers = [];
+ for (const file of files) {
+ const page = await browser.newPage();
+ await page.goto('file://' + file, {waitUntil: 'networkidle0'});
+ const pdf = await page.pdf({format: 'A4'});
+ pdfBuffers.push(pdf);
+ await page.close();
+ }
+ await browser.close();
+
+ // Merge PDFs
+ const mergedPdf = await PDFDocument.create();
+ for (const pdfBytes of pdfBuffers) {
+ const pdf = await PDFDocument.load(pdfBytes);
+ const copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());
+ copiedPages.forEach((p) => mergedPdf.addPage(p));
+ }
+ const mergedBytes = await mergedPdf.save();
+ fs.writeFileSync(path.join(dir, 'jsdoc.pdf'), mergedBytes);
+ })();
+ "
+
+ - name: Upload JSDoc to artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: jsdoc
+ path: docs/jsdoc/jsdoc.pdf
+
+ - name: Upload PDF to GitHub Release
+ if: github.event_name == 'release'
+ uses: softprops/action-gh-release@v2
+ with:
+ files: docs/jsdoc/jsdoc.pdf
diff --git a/docs/API/index.md b/docs/API/index.md
index 0b64f2775..f8e481a0f 100644
--- a/docs/API/index.md
+++ b/docs/API/index.md
@@ -4,6 +4,7 @@ title: API
---
* [Current User Interfaces](#current-user-interfaces)
+* [Work in progress](#widgets--work-in-progress)
* [Demonstrators](#demonstrators)
* [Create your own variant](#create-your-own-variant)
* [Java environment](#java-environment)
@@ -15,51 +16,62 @@ title: API
* [pair.html](#pairhtml)
* [thread.html](#threadhtml)
* [Download SVG](#download-svg)
-* [Stitch gallery](stitch-gallery)
GroundForge is a library to generate tread diagrams from pair diagrams for bobbin lace.
Current User Interfaces
=======================
-* The former pattern editor is split into
+* The former editor (aka the page _tiles_) is split into
* [pattern editor](/GroundForge/pattern)
* [stitches](/GroundForge/stitches)
* [droste](/GroundForge/droste)
-* [nets](/GroundForge/nets)
-* [snow mixer](/GroundForge/mix4snow)
-* [symmetry](/GroundForge/symmetry)
+* Later pages
+ * [nets](/GroundForge/nets)
+ * [snow mixer](/GroundForge/mix4snow)
+ * [symmetry](/GroundForge/symmetry)
+
+Widgets / Work in progress
+================
+
+The next sections describe API's and demonstrators that caused
+too much copy-pasting between the current user interfaces.
+Some new scripts are started to share code between the user interfaces.
+
+* [Stitch gallery](stitch-gallery) shares code between _nets_, _stitches_ and _droste_.
+* [Panels](panels) is started to be resued on several existing pages before developing new pages.
+ The stitches gallery is not yet flexible enough to be used along with the panels.
+* [Hybrid](../drosteMixer.md) was started to test the _panel.js_ code.
+ It is evolving into a page that combines functionality of
+ the pages _stitches_, _droste_ and a variant of the _snow mixer_.
+ This variant wass inspired when writing
+ [snow with two droste steps](/GroundForge-help/snow-mix/droste),
+ it connects the 3/6 pair snowflakes in an [asymmetric](//GroundForge-help/snow-mix/droste/#spiderysnowyasym-connections/) way.
+ By hiding or not generating certain components, the script could be used
+ to replace the three pages.
+* A [tiling gallery](/GroundForge/tileGallery)
+ is emerging, stand alone and for the hybrid page.
+
Demonstrators
=============
-A few pages are the "hello world"-s of the basic components
+A few demonstrators are not covered by the widgets.
+The pages listed below are some "hello world"-s of the basic components
that work together in the user interfaces.
These components can be tweaked, combined or inspire
additional user interfaces for special use cases.
-[pairTest]: pair.html?patchWidth=11&patchHeight=7&j1=clrcccrrc&i1=clrcccc&h1=cccc&g1=cclllcc&f1=lclllcrrrcllcl&e1=lclllcrrcllcl&d1=cllcrrcllc&c1=ctctctctctctctc&b1=ctctctcr&a1=c&j2=crrrc&i2=ctrrc&h2=cttrc&g2=ctttc&f2=llcrrcll&e2=llctrcll&d2=cttc&c2=crc&b2=ctcr&a2=cc&j3=crrrctc&i3=ctrrctc&h3=cttrctc&g3=ctttctc&f3=lllcrrctclll&e3=lllctrctclll&d3=cttcrc&c3=crctc&b3=ctctcrr&a3=ccc&j4=crrrclc&i4=ctrrclc&h4=cttrclc&g4=ctttclc&f4=llllcrrclcllll&e4=llllctrclcllll&d4=cttclc&c4=crclc&b4=ctclcrr&a4=ctctc&j5=crrrcllc&i5=ctrrcllc&h5=cttrcllc&g5=ctttcllc&f5=crrcllc&e5=tttctrcllcttt&d5=cttcllc&c5=crcllc&b5=ctcllcrrr&a5=cttcttc&j6=crrrclllc&i6=ctrrclllc&h6=cttrclllc&g6=ctttclllc&f6=crrclllc&e6=ctrcllllc&d6=cttclllc&c6=crclllc&b6=ctclllcrrrr&a6=ctttctttc&tile=1111111111,8888888888,1111111111,8888888888,1111111111,8888888888&shiftColsSW=0&shiftRowsSW=6&shiftColsSE=10&shiftRowsSE=6
-[protoSpiders]: proto.html?patchWidth=20&patchHeight=20&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6
-[pairSpiders]: pair.html?patchWidth=20&patchHeight=20&g1=tc&a1=ctctctcttt&l2=crcrcrclll&k2=ctctc&j2=cttcttc&i2=ctttctttc&h2=crcrc&g2=cttc&f2=clclc&e2=ctttctttc&d2=cttcttc&c2=ctctc&b2=clclclcrrr&l3=ctc&k3=ctc&j3=clllc&i3=crrcrrc&h3=clcrc&g3=cttcttc&f3=crclc&e3=cllcllc&d3=crrrc&c3=ctc&b3=ctc&a3=cc&l4=ctc&k4=cllc&j4=crrrcrrrc&i4=cllcrc&h4=cllcrrc&g4=ctttc&f4=crrcllc&e4=crrclc&d4=clllclllc&c4=crrc&b4=ctc&a4=ccc&l5=clc&k5=rctct&j5=clllcrc&i5=clllcrrc&h5=ctc&g5=ctttctttc&f5=ctc&e5=crrrcllc&d5=crrrclc&c5=lctct&b5=crc&a5=ctc&l6=rctct&k6=ctc&j6=ctc&i6=clcrclc&h6=c&f6=c&e6=clclcrc&d6=ctc&c6=ctc&b6=lctct&a6=cc&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6
-[threadSpiders]: thread.html?patchWidth=20&patchHeight=20&g1=tc&a1=ctctctcttt&l2=crcrcrclll&k2=ctctc&j2=cttcttc&i2=ctttctttc&h2=crcrc&g2=cttc&f2=clclc&e2=ctttctttc&d2=cttcttc&c2=ctctc&b2=clclclcrrr&l3=ctc&k3=ctc&j3=clllc&i3=crrcrrc&h3=clcrc&g3=cttcttc&f3=crclc&e3=cllcllc&d3=crrrc&c3=ctc&b3=ctc&a3=cc&l4=ctc&k4=cllc&j4=crrrcrrrc&i4=cllcrc&h4=cllcrrc&g4=ctttc&f4=crrcllc&e4=crrclc&d4=clllclllc&c4=crrc&b4=ctc&a4=ccc&l5=clc&k5=rctct&j5=clllcrc&i5=clllcrrc&h5=ctc&g5=ctttctttc&f5=ctc&e5=crrrcllc&d5=crrrclc&c5=lctct&b5=crc&a5=ctc&l6=rctct&k6=ctc&j6=ctc&i6=clcrclc&h6=c&f6=c&e6=clclcrc&d6=ctc&c6=ctc&b6=lctct&a6=cc&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6
-[protoRose]: proto.html?patchWidth=8&patchHeight=14&footside=b,-,a,-&tile=831,4-7,-5-&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2
-[pairRose]: pair.html?patchWidth=8&patchHeight=14&b1=ctc&c1=ctllcrrc&d1=clclc&b2=cllcrrcllcrrcr&d2=ctctctc&c3=ctctll&footside=b,-,a,-&footsideStitch=-&tile=831,4-7,-5-&tileStitch=ctct&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2
-[threadRose]: thread.html?patchWidth=8&patchHeight=14&b1=ctc&c1=ctllcrrc&d1=clclc&b2=cllcrrcllcrrcr&d2=ctctctc&c3=ctctll&footside=b,-,a,-&footsideStitch=-&tile=831,4-7,-5-&tileStitch=ctct&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2
-[pairMax]: thread.html?patchWidth=26&patchHeight=40&paintStitches=ctcl&ae1=ctctt&ad1=ctctt&ac1=ctctt&aa1=ctc&y1=ctc&w1=ctc&u1=ctc&s1=ctc&q1=ctc&o1=ctc&m1=ctc&k1=ctc&i1=ctc&g1=ctc&e1=ctc&c1=ctc&b1=ctctt&a1=ctctt&ae2=ctctt&ad2=ctctt&z2=ctc&v2=ctc&r2=ctc&n2=ctc&j2=ctc&f2=ctc&b2=ctctt&a2=ctctt&ac3=ctctt&aa3=ctc&y3=ctc&w3=ctc&u3=ctc&s3=ctc&q3=ctc&o3=ctc&m3=ctc&k3=ctc&i3=ctc&g3=ctc&e3=ctc&c3=ctc&ab4=ctc&x4=ctc&t4=ctc&p4=ctc&l4=ctc&h4=ctc&d4=ctc&aa5=ctc&y5=ctc&w5=ctc&u5=ctc&s5=ctc&q5=ctc&o5=ctc&m5=ctc&k5=ctc&i5=ctc&g5=ctc&e5=ctc&c5=ctc&z6=ctc&x6=ctc&v6=ctc&t6=ctc&r6=ctc&n6=ctc&j6=ctc&f6=ctc&aa7=ctc&y7=ctc&x7=ctc&w7=ctc&v7=ctc&u7=ctc&t7=ctc&s7=ctc&q7=ctc&o7=ctc&m7=ctc&k7=ctc&i7=ctc&g7=ctc&e7=ctc&c7=ctc&ab8=ctc&z8=ctc&y8=ctc&x8=ctc&w8=ctc&v8=ctc&u8=ctc&t8=ctc&s8=ctc&r8=ctc&p8=ctc&l8=ctc&h8=ctc&d8=ctc&aa9=ctc&z9=ctc&y9=ctc&x9=ctc&w9=ctc&v9=ctc&u9=ctc&t9=ctc&s9=ctc&q9=ctc&o9=ctc&m9=ctc&k9=ctc&i9=ctc&g9=ctc&e9=ctc&c9=ctc&z10=ctc&y10=ctc&x10=ctc&w10=ctc&v10=ctc&u10=ctc&t10=ctc&s10=ctc&r10=ctc&n10=ctc&j10=ctc&f10=ctc&aa11=ctc&z11=ctc&y11=ctc&x11=ctc&w11=ctc&v11=ctc&u11=ctc&t11=ctc&s11=ctc&r11=ctc&q11=ctc&o11=ctc&m11=ctc&k11=ctc&i11=ctc&g11=ctc&e11=ctc&c11=ctc&ab12=ctc&z12=ctc&y12=ctc&x12=ctc&w12=ctc&v12=ctc&u12=ctc&t12=ctc&s12=ctc&r12=ctc&p12=ctc&l12=ctc&h12=ctc&d12=ctc&aa13=ctc&z13=ctc&y13=ctc&x13=ctc&w13=ctc&v13=ctc&u13=ctc&t13=ctc&s13=ctc&r13=ctc&q13=ctc&o13=ctc&m13=ctc&k13=ctc&i13=ctc&g13=ctc&e13=ctc&c13=ctc&z14=ctc&y14=ctc&x14=ctc&w14=ctc&v14=ctc&u14=ctc&t14=ctc&s14=ctc&r14=ctc&n14=ctc&j14=ctc&f14=ctc&aa15=ctc&y15=ctc&w15=ctc&v15=ctc&u15=ctc&t15=ctc&s15=ctc&q15=ctc&o15=ctc&m15=ctc&k15=ctc&i15=ctc&g15=ctc&e15=ctc&c15=ctc&ab16=ctc&x16=ctc&v16=ctc&t16=ctc&s16=ctc&r16=ctc&p16=ctc&l16=ctc&h16=ctc&d16=ctc&aa17=ctc&y17=ctc&w17=ctc&u17=ctc&t17=ctc&s17=ctc&q17=ctc&o17=ctc&m17=ctc&k17=ctc&i17=ctc&g17=ctc&e17=ctc&c17=ctc&z18=ctc&v18=ctc&t18=ctc&r18=ctc&n18=ctc&j18=ctc&h18=ctc&f18=ctc&aa19=ctc&y19=ctc&w19=ctc&u19=ctc&t19=ctc&s19=ctc&q19=ctc&o19=ctc&m19=ctc&k19=ctc&i19=ctc&h19=ctc&g19=ctc&e19=ctc&c19=ctc&ab20=ctc&x20=ctc&t20=ctc&s20=ctc&r20=ctc&p20=ctc&l20=ctc&j20=ctc&i20=ctc&h20=ctc&d20=ctc&aa21=ctc&y21=ctc&w21=ctc&u21=ctc&s21=ctc&r21=ctc&q21=ctc&o21=ctc&m21=ctc&k21=ctc&j21=ctc&i21=ctc&h21=ctc&g21=ctc&e21=ctc&c21=ctc&z22=ctc&v22=ctc&r22=ctc&q22=ctc&p22=ctc&n22=ctc&l22=ctc&k22=ctc&j22=ctc&i22=ctc&h22=ctc&f22=ctc&aa23=ctc&z23=ctc&y23=ctc&w23=ctc&u23=ctc&s23=ctc&q23=ctc&p23=ctc&o23=ctc&m23=ctc&l23=ctc&k23=ctc&j23=ctc&i23=ctc&h23=ctc&g23=ctc&e23=ctc&c23=ctc&ab24=ctc&z24=ctc&x24=ctc&t24=ctc&p24=ctc&n24=ctc&m24=ctc&l24=ctc&k24=ctc&j24=ctc&i24=ctc&h24=ctc&d24=ctc&aa25=ctc&z25=ctc&y25=ctc&w25=ctc&u25=ctc&s25=ctc&q25=ctc&p25=ctc&o25=ctc&n25=ctc&m25=ctc&l25=ctc&k25=ctc&j25=ctc&i25=ctc&h25=ctc&g25=ctc&e25=ctc&c25=ctc&z26=ctc&y26=ctc&x26=ctc&v26=ctc&r26=ctc&p26=ctc&o26=ctc&n26=ctc&m26=ctc&l26=ctc&k26=ctc&j26=ctc&i26=ctc&h26=ctc&f26=ctc&aa27=ctc&y27=ctc&x27=ctc&w27=ctc&u27=ctc&s27=ctc&q27=ctc&o27=ctc&n27=ctc&m27=ctc&l27=ctc&k27=ctc&j27=ctc&i27=ctc&h27=ctc&g27=ctc&e27=ctc&c27=ctc&ab28=ctc&x28=ctc&w28=ctc&v28=ctc&t28=ctc&p28=ctc&o28=ctc&n28=ctc&m28=ctc&l28=ctc&k28=ctc&j28=ctc&i28=ctc&h28=ctc&d28=ctc&aa29=ctc&y29=ctc&w29=ctc&v29=ctc&u29=ctc&s29=ctc&q29=ctc&o29=ctc&n29=ctc&m29=ctc&l29=ctc&k29=ctc&j29=ctc&i29=ctc&h29=ctc&g29=ctc&e29=ctc&c29=ctc&z30=ctc&v30=ctc&r30=ctc&p30=ctc&o30=ctc&n30=ctc&m30=ctc&l30=ctc&k30=ctc&j30=ctc&i30=ctc&h30=ctc&f30=ctc&aa31=ctc&y31=ctc&w31=ctc&v31=ctc&u31=ctc&s31=ctc&q31=ctc&p31=ctc&o31=ctc&n31=ctc&m31=ctc&l31=ctc&k31=ctc&j31=ctc&i31=ctc&h31=ctc&g31=ctc&e31=ctc&c31=ctc&ab32=ctc&x32=ctc&v32=ctc&u32=ctc&t32=ctc&r32=ctc&q32=ctc&p32=ctc&o32=ctc&n32=ctc&m32=ctc&l32=ctc&k32=ctc&j32=ctc&i32=ctc&h32=ctc&d32=ctc&aa33=ctc&y33=ctc&u33=ctc&q33=ctc&o33=ctc&n33=ctc&m33=ctc&l33=ctc&k33=ctc&j33=ctc&i33=ctc&g33=ctc&e33=ctc&c33=ctc&z34=ctc&x34=ctc&v34=ctc&u34=ctc&t34=ctc&r34=ctc&q34=ctc&p34=ctc&n34=ctc&m34=ctc&l34=ctc&k34=ctc&j34=ctc&f34=ctc&y35=ctc&x35=ctc&w35=ctc&u35=ctc&t35=ctc&s35=ctc&q35=ctc&p35=ctc&o35=ctc&m35=ctc&l35=ctc&k35=ctc&i35=ctc&h35=ctc&g35=ctc&e35=ctc&d35=ctc&c35=ctc&footside=11,r8,xx,xx&tile=4-7-4-7-4-7-4-7-4-7-4-7-4-,x-x5x-x5x-x5x-x5x-x5x-x5x-,7-4-7-4-7-4-7-4-7-4-7-4-7-,x5x-x5x-x5x-x5x-x5x-x5x-x5,4-7-4-7-4-7-4-7-4-7-4-7-4-,x-x5x-x5x-x5x-x5-5-5-5-5x-,7-4-7-4-7-4-7-4-5868686-7-,x5x-x5x-x5x-x5-211111115-5,4-7-4-7-4-7-4-5-788888886-,x-x5x-x5x-x5x-x211111114x-,7-4-7-4-7-4-7-48888888888-,x5x-x5x-x5x-x5-111111114-5,4-7-4-7-4-7-4-58888888886-,x-x5x-x5x-x5x-x111111114x-,7-4-7-4-7-4-7-4-78888-7-7-,x5x-x5x-x5x-x5-214-4-5x-x5,4-7-4-7-4-7-4-5-786-5-7-4-,x-x5-5-5x-x5x-x5-4-5x-x5x-,7-4-586-7-4-7-4-215-7-4-7-,x5x-x115-5x-x5-588x-x5x-x5,4-7-48886-7-4-214-7-4-7-4-,x-x5-11115-5-588x-x5x-x5x-,7-4-5888886-214-7-4-7-117-,x5x-x1111115-7x-x5x-x5-7-5,4-7-48888888688-4-7-4-215-,x-x5-111111114-5x-x5-588x-,7-4-588888888-5-7-4-214-7-,x5x-x111111115x-x5-588x-x5,4-7-488888888-7-4-214-7-4-,x-x5-111111115-5x-x7x-x5x-,7-4-58888888886-7-117-4-7-,x5x-x11111111115-588-5x-x5,4-7-4-7888888-7x-x4x-x7-4-,x-x5x-x11114-217-488-4-5x-,734-734-734-534-534-535---,&headside=788-,x11w,4xx-,xxx-&shiftColsSW=0&shiftRowsSW=35&shiftColsSE=26&shiftRowsSE=35
-
| source | examples see also [query](#url-query) | notes |
|:--------------------------|----------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [proto.html][protoCode] | [spiders][protoSpiders], [rose][protoRose] | Pattern definition. |
-| [pair.html][pairCode] | [spiders][pairSpiders], [rose][pairRose], [max][pairMax], [test][pairRose] | 4 colors per stitch. |
-| [thread.html][threadCode] | [spiders][threadSpiders], [rose][threadRose] | Thread diagram.
Comment in the source explains how to tweak the code for droste patterns. |
| [sheet.html][sheetCode] | [sheet.html](sheet.html) | Pattern families.
A simplified hardcoded variant of the [page](/GroundForge/sheet.html) that takes a family of [Tesselace patterns](/tesselace-to-gf/) as parameter, you probably can make more and intermediate [variations][explanation] |
-| [stitch-galllery] | | |
[explanation]: /GroundForge-help/Reshape-Patterns
-[threadCode]: {{ site.github.repository_url }}/blob/master/docs/API/thread.html
+[protoSpiders]: proto.html?patchWidth=20&patchHeight=20&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6
-[pairCode]: {{ site.github.repository_url }}/blob/master/docs/API/pair.html
+[protoRose]: proto.html?patchWidth=8&patchHeight=14&footside=b,-,a,-&tile=831,4-7,-5-&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2
[protoCode]: {{ site.github.repository_url }}/blob/master/docs/API/proto.html
@@ -67,8 +79,6 @@ additional user interfaces for special use cases.
[GFCode]: {{ site.github.repository_url }}/blob/master/src/main/scala/dibl
-[stitch-galllery]: stitch-galllery
-
Create your own variant
=======================
@@ -125,7 +135,7 @@ The query mimics what would be sent to a server when submitting the form.
Many fields of the form are hidden to the user.
To avoid outdated documentation: look for the usage of `TilesConfig.queryFields`.
-* Droste patterns use additional parameters in the load function of `droste.js`.
+* Droste patterns use additional parameters
* `API/proto.html` uses only some of the `queryFields`.
* `API/sheet.html` does not use a query at all.
diff --git a/docs/API/pair.html b/docs/API/pair.html
deleted file mode 100644
index f85a3a96b..000000000
--- a/docs/API/pair.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-download
-
diff --git a/docs/_includes/downloadTemplate.html b/docs/_includes/downloadTemplate.html
deleted file mode 100644
index 319f8a6c9..000000000
--- a/docs/_includes/downloadTemplate.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
index a74c7f4fa..71df31181 100644
--- a/docs/_layouts/default.html
+++ b/docs/_layouts/default.html
@@ -6,16 +6,21 @@
-
+
+ {% if page.css %}
+ {% for css in page.css %}
+
+ {% endfor %}
+ {% endif %}
{% if page.javascript %}
{% for javascript in page.javascript %}
-
+
{% endfor %}
{% endif %}
@@ -37,9 +42,9 @@
+
-
+
{{ content }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- l)throw(new wn).e("%-%");Qn(p,k,l,"%");break;case 110:if(0!==(255&k))throw(new On).e(Pn(k));if(0<=q)throw(new An).Ab(q);if(0<=l)throw(new Rn).Ab(l); sn(p,"\n");break;default:throw(new tn).e(m.String.fromCharCode(D));}}a=c.w();c.Uj();return a} @@ -271,7 +271,7 @@ function cj(){}cj.prototype=new aj;cj.prototype.constructor=cj;cj.prototype.b=fu Uo.prototype.km=function(a,b,c,e){return(new N).r((a+c|0)%c|0,(b+e|0)%e|0)};Uo.prototype.$classData=y({Pq:0},!1,"dibl.sheet.Checker$",{Pq:1,Tq:1,c:1});var Vo=void 0;function dj(){Vo||(Vo=(new Uo).b());return Vo}function Wo(){}Wo.prototype=new z;Wo.prototype.constructor=Wo;function Xo(){}Xo.prototype=Wo.prototype;function Ao(a){return!!(a&&a.$classData&&a.$classData.q.Kh||"number"===typeof a)}function Yo(){this.ej=this.pj=this.ii=null;this.Xi=this.oj=0}Yo.prototype=new z;Yo.prototype.constructor=Yo; Yo.prototype.A=function(a){return a&&a.$classData&&a.$classData.q.io?this.ej===a.ej&&this.oj===a.oj&&this.ii===a.ii&&this.pj===a.pj:!1};Yo.prototype.w=function(){var a="";"\x3cjscode\x3e"!==this.ii&&(a=""+a+this.ii+".");a=""+a+this.pj;null===this.ej?a+="(Unknown Source)":(a=a+"("+this.ej,0<=this.oj&&(a=a+":"+this.oj,0<=this.Xi&&(a=a+":"+this.Xi)),a+=")");return a};Yo.prototype.L=function(){var a=this.ii,a=Da(w(),a),b=this.pj;return a^Da(w(),b)};Yo.prototype.setColumnNumber=function(a){this.Xi=a|0}; Yo.prototype.getColumnNumber=function(){return this.Xi};var Zo=y({io:0},!1,"java.lang.StackTraceElement",{io:1,c:1,f:1});Yo.prototype.$classData=Zo;function W(){this.Xj=this.Ei=null;this.gq=!1;this.Ki=null}W.prototype=new z;W.prototype.constructor=W;function $o(){}$o.prototype=W.prototype; -W.prototype.fj=function(){if(void 0===m.Error.captureStackTrace){try{var a={}.undef()}catch(b){if(a=so(Sj(),b),null!==a)if(ro(a))a=a.$g;else throw Rj(Sj(),a);else throw b;}this.stackdata=a}else m.Error.captureStackTrace(this),this.stackdata=this;return this};W.prototype.Ge=function(){return this.Ei};W.prototype.w=function(){var a=pb(na(this)),b=this.Ge();return null===b?a:a+": "+b}; +W.prototype.fj=function(){if(void 0===m.Error.captureStackTrace){try{var a={}.undef()}catch(b){if(a=so(Sj(),b),null!==a)if(ro(a))a=a.$g;else throw Rj(Sj(),a);else throw b;}this.stackdata=a}else m.Error.captureStackTrace(this),this.stackdata=this;return this};W.prototype.Fe=function(){return this.Ei};W.prototype.w=function(){var a=pb(na(this)),b=this.Fe();return null===b?a:a+": "+b}; function ap(a){if(null===a.Ki){var b;if(a.gq){no||(no=(new Xn).b());b=no;var c=a.stackdata,e;if(c){if(0===(1&b.G)<<24>>24&&0===(1&b.G)<<24>>24){a:try{m.Packages.org.mozilla.javascript.JavaScriptException,e=!0}catch(q){e=so(Sj(),q);if(null!==e){if(ro(e)){e=!1;break a}throw Rj(Sj(),e);}throw q;}b.Xn=e;b.G=(1|b.G)<<24>>24}if(b.Xn)e=c.stack,e=(void 0===e?"":e).replace(ho("^\\s+at\\s+","gm"),"").replace(ho("^(.+?)(?: \\((.+)\\))?$","gm"),"$2@$1").replace(ho("\\r\\n?","gm"),"\n").split("\n");else if(c.arguments&& c.stack)e=fo(c);else if(c.stack&&c.sourceURL)e=c.stack.replace(ho("\\[native code\\]\\n","m"),"").replace(ho("^(?\x3d\\w+Error\\:).*$\\n","m"),"").replace(ho("^@","gm"),"{anonymous}()@").split("\n");else if(c.stack&&c.number)e=c.stack.replace(ho("^\\s*at\\s+(.*)$","gm"),"$1").replace(ho("^Anonymous function\\s+","gm"),"{anonymous}() ").replace(ho("^([^\\(]+|\\{anonymous\\}\\(\\))\\s+\\((.+)\\)$","gm"),"$1@$2").split("\n").slice(1);else if(c.stack&&c.fileName)e=c.stack.replace(ho("(?:\\n@:0)?\\s+$", "m"),"").replace(ho("^(?:\\((\\S*)\\))?@","gm"),"{anonymous}($1)@").split("\n");else if(c.message&&c["opera#sourceloc"])if(c.stacktrace)if(-1c.stacktrace.split("\n").length)e=mo(c);else{e=ho("Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$","i");for(var c=c.stacktrace.split("\n"),f=[],g=0,h=c.length|0;g =+m.Math.abs(c.qa-a.qa)?60>=+m.Math.abs(c.Ca-a.Ca):!1}}(a,c)),!1);c=H();return(new K).j(f,e.ub(a,c.p))}var h=b.t(),g=Qg(h)?Rc(H(),(new L).xa([h.Mf,h.$f])):Rc(H(),(new L).xa([h.Mf,h.$f,h.sg,h.ag])),h=Qg(h)?Rc(H(),(new L).xa([h.bg,h.Nf])):Rc(H(),(new L).xa([h.bg,h.Nf, -h.cg,h.tg])),k=g.Fc(),l=c;Xd();var n=Yd().Eb,n=ce(k,n);if(!k.bc)for(var p=k.Sa;;){var t=p,q=l.i(g.i(t)|0);n.da(Yp(ye(),h.i(t)|0,q.qa,100+q.Ca));if(p===k.we)break;p=p+k.Ha|0}k=n.X();l=g.Fc();n=c;Xd();p=Yd().Eb;p=ce(l,p);if(!l.bc)for(t=l.Sa;;){q=t;p.da(Sc(Vc(),g.i(q)|0,n.s()+q|0,h.i(q)|0,0===(q%2|0)));if(t===l.we)break;t=t+l.Ha|0}h=p.X();g=G(function(){return function(a){return a.ha}}(a));l=H();g=h.ia(g,l.p);b=b.z();l=H();c=c.ub(k,l.p);k=H();e=e.ub(h,k.p);h=H();f=f.ub(g,h.p)}} +h.cg,h.tg])),k=g.Fc(),l=c;Xd();var n=Yd().Eb,n=ce(k,n);if(!k.bc)for(var p=k.Sa;;){var t=p,q=l.i(g.i(t)|0);n.da(Yp(ye(),h.i(t)|0,q.qa,100+q.Ca));if(p===k.ve)break;p=p+k.Ha|0}k=n.X();l=g.Fc();n=c;Xd();p=Yd().Eb;p=ce(l,p);if(!l.bc)for(t=l.Sa;;){q=t;p.da(Sc(Vc(),g.i(q)|0,n.s()+q|0,h.i(q)|0,0===(q%2|0)));if(t===l.ve)break;t=t+l.Ha|0}h=p.X();g=G(function(){return function(a){return a.ha}}(a));l=H();g=h.ia(g,l.p);b=b.z();l=H();c=c.ub(k,l.p);k=H();e=e.ub(h,k.p);h=H();f=f.ub(g,h.p)}} aq.prototype.$classData=y({xq:0},!1,"dibl.Threads$",{xq:1,c:1,k:1,f:1});var bq=void 0;function Cg(){bq||(bq=(new aq).b());return bq}function cq(){this.aj=0}cq.prototype=new z;cq.prototype.constructor=cq;cq.prototype.b=function(){this.aj=1E5;return this}; -cq.prototype.create=function(a,b,c,e){b=[];for(var f=e.length|0,g=0;g k.Ng()&&f.push(k);g=1+g|0}Zc($c().se.td,f+"\n");if(2!==(f.length|0))a="no null space: "+f,Zc($c().se.td,a+"\n"),a=Hc();else{b=[];g=0;for(h=f.length|0;g k.Ng()&&f.push(k);g=1+g|0}Zc($c().Ke.Ad,f+"\n");if(2!==(f.length|0))a="no null space: "+f,Zc($c().Ke.Ad,a+"\n"),a=Hc();else{b=[];g=0;for(h=f.length|0;g =h)var l=0;else c=h>>31,l=(0===c?-1<(-2147483648^h):0 l&&ne(oe(),0,h,1,!1);if(!k)for(h=0;;){l=h;k=a.i(l);l=(new Sh).fc(+g[l].i(b),+g[l].i(f));k=(new K).j(k,l);se(e,k);if(h===c)break;h=1+h|0}c=ge(e);a=Fc(new Gc,Hc());for(c=te(c);c.Og;)e=c.M(),Ic(a,e);a=a.sa}return a};cq.prototype.$classData=y({Bq:0},!1,"dibl.fte.Delta$",{Bq:1,c:1,k:1,f:1});var dq=void 0; function eq(){dq||(dq=(new cq).b());return dq}function fq(){}fq.prototype=new z;fq.prototype.constructor=fq;function gq(a,b){a=G(function(){return function(a){return a.kc}}(a));var c=H();return b.ia(a,c.p).Bc()}fq.prototype.b=function(){return this}; function hq(a,b,c,e){for(;;){var f=gq(a,b).Tn(gq(a,c));if(!f.h())return(new K).j(iq(a,b,f),iq(a,c,f));var g=b.nb().kc,f=c.nb().kc,g=e.l(g).Pc(G(function(){return function(a){return a.tl}}(a))),f=e.l(f).Pc(G(function(){return function(a){return a.hf}}(a))),h=H();b=b.ub(g,h.p);g=H();c=c.ub(f,g.p)}}function iq(a,b,c){if(c.h())return b;var e=b.Rf();a=G(function(){return function(a){return a.kc}}(a));var f=H();c=e.ia(a,f.p).Hd(c.t());return e.rc(c,b.s())} @@ -314,30 +314,30 @@ function nh(a,b){b=qc(b,G(function(){return function(a){return a.gd}}(a)));for(v function oh(){kq||(kq=(new fq).b());return kq}function lq(){}lq.prototype=new z;lq.prototype.constructor=lq;lq.prototype.b=function(){return this};function mq(a,b){if(null===a)throw(new Se).b();if(Bf(Cf(),"[lr]o",a))return!0;if(null===b)throw(new Se).b();return Bf(Cf(),"[lr]i",b)} function nq(a,b,c,e){c=Xc(ld(),c,b,G(function(){return function(a){return a.ha}}(a)),e).ak(O(function(){return function(){H();Dc();return(new Ec).b().cc()}}(a)));b=oq(pq(),c,b);a=G(function(){return function(a){return(new K).j(a.gd,a.kc)}}(a));c=Te();e=Te();return Ue(b,a,qq(c,e))} function oq(a,b,c){a=G(function(a,b,c){return function(a){var e;e=pq();var l=b.Pa.i(a.Fa).xg,n=rq(a);e="cross"===l&&!0===n||!("cross"===l&&!1===n)&&("twist"===l&&!1===n||!("twist"===l&&!0===n)&&sq(e,a,b,c));var l=b.Pa.i(a.Fa).Ua,n=pq(),p=b.Pa.i(a.ha).xg,t=rq(a),n="cross"===p&&!0===t||!("cross"===p&&!1===t)&&("twist"===p&&!1===t||!("twist"===p&&!0===t)&&tq(n,a,b,c));return uq(new er,e,l,n,b.Pa.i(a.ha).Ua,1)}}(a,c,b));c=H();return b.ia(a,c.p)} -function fr(a,b){a=(new nb).b();try{var c=Hb(w(),b,"\\s+",""),e=sd(w(),c,";",0),f=(new Ne).Xa(e),g=H().p,h=ce(f,g);b=0;for(var k=f.m();b >24?hr(Pb):Pb.gl).exec(nf);if(null!==Fi){var Gi=Fi[1];ob=+m.parseFloat(void 0===Gi?void 0:Gi)}else{var Pb=Ga,Ae=(0===(2&Pb.G)<<24>>24?ir(Pb):Pb.fl).exec(nf),of;if(null!==Ae){var Hi=Ae[1],Ii=Ae[2],Lc=Ae[3],yd=Ae[4];""===Ii&&""===Lc&&Ga.oi(nf);for(var Ga=""+Ii+Lc,zl=-((Lc.length|0)<<2)|0,Pb=0;;)if(Pb!==(Ga.length| -0)&&48===(65535&(Ga.charCodeAt(Pb)|0)))Pb=1+Pb|0;else break;var zd=Ga.substring(Pb);if(""===zd)of="-"===Hi?-0:0;else{var Ji=15<(zd.length|0),Ki=Ji?zd.substring(0,15):zd,$d=zl+(Ji?(-15+(zd.length|0)|0)<<2:0)|0,Ad=+m.parseInt(Ki,16);jr(dc(),0!==Ad&&Infinity!==Ad);var pf=+m.parseInt(yd,10),yc=Ja(pf)+$d|0,Ga=yc/3|0,cd=+m.Math.pow(2,Ga),Fg=+m.Math.pow(2,yc-(Ga<<1)|0),Ga=Ad*cd*cd*Fg;of="-"===Hi?-Ga:Ga}}else of=Ga.oi(nf);ob=of}p=uq(Kc,c,e,g,bd,ob);break a}}H();Dc();var Be=(new Ec).b();throw(new Gl).j(a, +function fr(a,b){a=(new nb).b();try{var c=Hb(w(),b,"\\s+",""),e=sd(w(),c,";",0),f=(new Ne).Xa(e),g=H().p,h=ce(f,g);b=0;for(var k=f.m();b >24?hr(Ob):Ob.gl).exec(nf);if(null!==Fi){var Gi=Fi[1];ob=+m.parseFloat(void 0===Gi?void 0:Gi)}else{var Ob=Ga,Ae=(0===(2&Ob.G)<<24>>24?ir(Ob):Ob.fl).exec(nf),of;if(null!==Ae){var Hi=Ae[1],Ii=Ae[2],Lc=Ae[3],yd=Ae[4];""===Ii&&""===Lc&&Ga.oi(nf);for(var Ga=""+Ii+Lc,zl=-((Lc.length|0)<<2)|0,Ob=0;;)if(Ob!==(Ga.length| +0)&&48===(65535&(Ga.charCodeAt(Ob)|0)))Ob=1+Ob|0;else break;var zd=Ga.substring(Ob);if(""===zd)of="-"===Hi?-0:0;else{var Ji=15<(zd.length|0),Ki=Ji?zd.substring(0,15):zd,$d=zl+(Ji?(-15+(zd.length|0)|0)<<2:0)|0,Ad=+m.parseInt(Ki,16);jr(dc(),0!==Ad&&Infinity!==Ad);var pf=+m.parseInt(yd,10),xc=Ja(pf)+$d|0,Ga=xc/3|0,cd=+m.Math.pow(2,Ga),Fg=+m.Math.pow(2,xc-(Ga<<1)|0),Ga=Ad*cd*cd*Fg;of="-"===Hi?-Ga:Ga}}else of=Ga.oi(nf);ob=of}p=uq(Kc,c,e,g,bd,ob);break a}}H();Dc();var Be=(new Ec).b();throw(new Gl).j(a, Be.cc());}h.da(p);b=1+b|0}return h.X()}catch(Bd){if(Bd&&Bd.$classData&&Bd.$classData.q.bm&&Bd.wl===a)return Bd.mm;throw Bd;}}function sq(a,b,c,e){a=e.ac(G(function(a,b,c){return function(a){return c.Pa.i(a.ha).Ua!==c.Pa.i(b.ha).Ua?c.Pa.i(a.Fa).Ua===c.Pa.i(b.Fa).Ua:!1}}(a,b,c)));a.h()?a=F():(a=a.v().ha,a=(new J).g(c.Pa.i(a).qa));a=+(a.h()?0:a.v());return c.Pa.i(b.ha).qa(b+c|0)?0:n)|0)}else b=c}}f.wh=b;f.pg=!0;return b}qr.prototype.b=function(){return this}; +n=n.Ja();a=a.a[k];for(var k=l.Qc,p=[],t=0,q=k.a.length;t (b+c|0)?0:n)|0)}else b=c}}f.wh=b;f.pg=!0;return b}qr.prototype.b=function(){return this}; function wr(a){var b=xr,c=a.a.length,e=0>=c;if(e)var f=0;else var g=c>>31,f=(0===g?-1<(-2147483648^c):0f&&ne(oe(),0,c,1,!1);if(!e)for(c=0;;){var e=c,f=a.a[e].a.length/2|0,k=yr((new Di).Ib(0,a.a[e].a.length,1),f);if(null===k)throw(new C).g(k);se(h,(new df).ne(e,f,k));if(c===g)break;c=1+c|0}for(g=te(ge(h));g.Og;)a:{if(e=g.M(),null!==e&&(h=e.fb|0,c=e.jb|0,f=e.mb,null!==f)){e=f.ea();f=ii(f.N());Xd();k=Yd().Eb;zr(f,e,k).K(G(function(a,b,c,e){return function(a){for(a|= -0;Ar(b.a[c].a[a],b,c,e,a););}}(b,a,h,c)));break a}throw(new C).g(e);}g=a.a.length;b=-1+g|0;if(!(0>=g))for(g=0;;){h=g;e=a.a[h].a.length;c=-1+e|0;if(!(0>=e))for(e=0;;){f=e;k=a.a[h].a[f];if(rf(k)){var l=a.a[h],n=Zh();l.a[f]=ur(new vr,k.Ua,k.af,k.zb,k.He,n)}if(e===c)break;e=1+e|0}if(g===b)break;g=1+g|0}} +0;Ar(b.a[c].a[a],b,c,e,a););}}(b,a,h,c)));break a}throw(new C).g(e);}g=a.a.length;b=-1+g|0;if(!(0>=g))for(g=0;;){h=g;e=a.a[h].a.length;c=-1+e|0;if(!(0>=e))for(e=0;;){f=e;k=a.a[h].a[f];if(rf(k)){var l=a.a[h],n=Zh();l.a[f]=ur(new vr,k.Ua,k.af,k.zb,k.Ge,n)}if(e===c)break;e=1+e|0}if(g===b)break;g=1+g|0}} function Br(a,b,c,e,f){if(null===f)throw(new Se).b();if(f.pg)return f.wh;a:{if(null===c)throw(new C).g(c);var g=c.Qa(),h=c.Ja(),k=b+g|0;e=e+h|0;if(sr(k,e,a))b=c;else{var l=a.a[k].a[e];if(rf(l)){var n=Tf((new Wd).Xa(l.Qc)),n=n.h()?(new N).r(0,0):n.v(),p=tr((new Wd).Xa(l.Qc)),p=p.h()?(new N).r(0,0):p.v();b:{if(null!==n){var t=n.Ja();if(0===n.Qa()&&0===t&&null!==p&&(t=p.Ja(),0===p.Qa()&&0===t)){b=c;break a}}if(null!==n&&(c=n.Ja(),0===n.Qa()&&0===c)){n=p;break b}}if(null===n)throw(new C).g(n);c=n.Qa(); -n=n.Ja();a=a.a[k];for(var k=l.Qc,p=[],t=0,q=k.a.length;t (b+c|0)?0:n)|0)}else b=c}}f.wh=b;f.pg=!0;return b} +n=n.Ja();a=a.a[k];for(var k=l.Qc,p=[],t=0,q=k.a.length;t(b+c|0)?0:n)|0)}else b=c}}f.wh=b;f.pg=!0;return b} function Ar(a,b,c,e,f){if(0===a.Qc.a.length||rf(a))return!1;var g=a.Qc;var h=ee(P(),g);if(h.h()||null===h.v()||0!==h.v().Ra(2))throw(new C).g(g);g=h.v().i(0);h=h.v().i(1);if(null===g?null===h:g.A(h)){if(null===g)throw(new C).g(g);var h=g.Qa(),k=g.Ja(),g=c+h|0;a=f+k|0;if(sr(g,a,b))b=!1;else if(e=b.a[g].a[a],2>e.Qc.a.length)b=!1;else{var l=e.Qc;b:{var n=ee(P(),l);if(!n.h()&&null!==n.v()&&0===n.v().Ra(2)){var p=n.v().i(0),t=n.v().i(1);if(null!==p&&(n=p.Qa(),p=p.Ja(),null!==t)){l=t.Qa();t=t.Ja();break b}}throw(new C).g(l); -}n|=0;p|=0;l|=0;t|=0;h=pd(qd(),(new N).r(h+n|0,k+p|0),(new N).r(h+l|0,k+t|0));k=b.a[c].a[f];b.a[c].a[f]=ur(new vr,k.Ua,k.af,k.zb,k.He,h);b=b.a[g];c=Zh();b.a[a]=ur(new vr,e.Ua,e.af,e.zb,e.He,c);b=!0}return b}k=(new Cr).b();n=(new Cr).b();fa||0>b||b>=c.a[a].a.length}qr.prototype.$classData=y({Jq:0},!1,"dibl.proto.Item$",{Jq:1,c:1,k:1,f:1});var xr=void 0;function Er(){}Er.prototype=new z;Er.prototype.constructor=Er;Er.prototype.b=function(){return this};function Fr(a,b,c,e){a=e.Ta("shift"+b,O(function(a,b){return function(){return""+b}}(a,c)));if(null===a)throw(new Se).b();return Bf(Cf(),"-?[0-9]+",a)?(c=(new E).e(a),Ag(Bg(),c.d)):c} function wc(a,b){b=sd(w(),b,"\x26",0);for(var c=(new Of).ae(Pf(Qf(),yf(na(b)))),e=0,f=b.a.length;e >24&&0===(16&a.G)<<24>>24){var b=(new L).xa([1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43600,44016,65296,66720,69734,69872,69942,70096,71360,120782,120792,120802,120812,120822]),c=b.o.length|0,c=u(B(bb),[c]),e;e=0;for(b=Q(new R,b,0,b.o.length|0);b.U();){var f=b.M();c.a[e]=f|0;e=1+e|0}a.to=c;a.G=(16|a.G)<<24>>24}return a.to} function Sd(a,b){return 65535&(m.String.fromCharCode(b).toUpperCase().charCodeAt(0)|0)}Jr.prototype.$classData=y({kr:0},!1,"java.lang.Character$",{kr:1,c:1,k:1,f:1});var Lr=void 0;function Td(){Lr||(Lr=(new Jr).b());return Lr}function Mr(){this.fl=this.gl=null;this.G=0}Mr.prototype=new z;Mr.prototype.constructor=Mr;Mr.prototype.b=function(){return this}; @@ -351,7 +351,7 @@ Wr.prototype.b=function(){Xr=this;this.co=new m.RegExp("^\\\\Q(.|\\n|\\r)\\\\E$" function fg(a,b){a=a.co.exec(b);if(null!==a){a=a[1];if(void 0===a)throw(new V).e("undefined.get");a=(new J).g((new K).j(Yr(a),0))}else a=F();if(a.h()){var c=Cf().bo.exec(b);if(null!==c){a=c[0];if(void 0===a)throw(new V).e("undefined.get");a=b.substring(a.length|0);var e=c[1];if(void 0===e)var f=0;else{var e=(new E).e(e),f=e.d.length|0,g=0,h=0;a:for(;;){if(g!==f){var k=1+g|0,g=e.i(g),g=null===g?0:g.ca,h=h|0|Zr(Cf(),g),g=k;continue a}break}f=h|0}c=c[2];if(void 0===c)c=f;else{c=(new E).e(c);e=c.d.length| 0;k=0;g=f;a:for(;;){if(k!==e){f=1+k|0;k=c.i(k);k=null===k?0:k.ca;g=(g|0)&~Zr(Cf(),k);k=f;continue a}break}c=g|0}a=(new J).g((new K).j(a,c))}else a=F()}a=a.h()?(new K).j(b,0):a.v();if(null===a)throw(new C).g(a);c=a.Ja();a=new m.RegExp(a.N(),"g"+(0!==(2&c)?"i":"")+(0!==(8&c)?"m":""));c=new Vr;c.eh=a;c.Pk=b;return c} function Yr(a){for(var b="",c=0;c<(a.length|0);){var e=65535&(a.charCodeAt(c)|0);switch(e){case 92:case 46:case 40:case 41:case 91:case 93:case 123:case 125:case 124:case 63:case 42:case 43:case 94:case 36:e="\\"+(new M).aa(e);break;default:e=(new M).aa(e)}b=""+b+e;c=1+c|0}return b}function Zr(a,b){switch(b){case 105:return 2;case 100:return 1;case 109:return 8;case 115:return 32;case 117:return 64;case 120:return 4;case 85:return 256;default:throw(new tb).e("bad in-pattern flag");}} -Wr.prototype.$classData=y({Zr:0},!1,"java.util.regex.Pattern$",{Zr:1,c:1,k:1,f:1});var Xr=void 0;function Cf(){Xr||(Xr=(new Wr).b());return Xr}function $r(){this.se=null}$r.prototype=new xj;$r.prototype.constructor=$r;$r.prototype.b=function(){as=this;this.se=(new bl).g(lj().Ao);(new bl).g(lj().nl);(new bl).g(null);return this};$r.prototype.$classData=y({bs:0},!1,"scala.Console$",{bs:1,Uw:1,c:1,gx:1});var as=void 0;function $c(){as||(as=(new $r).b());return as}function bs(){}bs.prototype=new z; +Wr.prototype.$classData=y({Zr:0},!1,"java.util.regex.Pattern$",{Zr:1,c:1,k:1,f:1});var Xr=void 0;function Cf(){Xr||(Xr=(new Wr).b());return Xr}function $r(){this.Ke=null}$r.prototype=new xj;$r.prototype.constructor=$r;$r.prototype.b=function(){as=this;this.Ke=(new bl).g(lj().Ao);(new bl).g(lj().nl);(new bl).g(null);return this};$r.prototype.$classData=y({bs:0},!1,"scala.Console$",{bs:1,Uw:1,c:1,gx:1});var as=void 0;function $c(){as||(as=(new $r).b());return as}function bs(){}bs.prototype=new z; bs.prototype.constructor=bs;bs.prototype.b=function(){return this};function ki(a,b){return null===b?F():(new J).g(b)}bs.prototype.$classData=y({hs:0},!1,"scala.Option$",{hs:1,c:1,k:1,f:1});var cs=void 0;function li(){cs||(cs=(new bs).b());return cs}function ds(){this.Wh=this.Rm=this.yh=null}ds.prototype=new Bj;ds.prototype.constructor=ds;function jr(a,b){if(!b)throw(new Mm).g("assertion failed");} ds.prototype.b=function(){es=this;Gk();mg();this.yh=gh();Uh();al||(al=(new $k).b());al||(al=(new $k).b());fs||(fs=(new gs).b());this.Rm=(new ep).b();this.Wh=(new hs).b();(new is).b();return this}; function js(a,b){if(qb(b,1))return(new Wd).Xa(b);if(fb(b,1))return(new ks).Ih(b);if(hb(b,1))return(new ls).Dh(b);if(gb(b,1))return(new ms).Eh(b);if(mb(b,1))return(new ns).ch(b);if(lb(b,1))return(new os).Fh(b);if(jb(b,1))return(new Hd).fg(b);if(kb(b,1))return(new ps).Gh(b);if(ib(b,1))return(new qs).Hh(b);if(Jo(b))return(new rs).Jh(b);if(null===b)return null;throw(new C).g(b);}ds.prototype.$classData=y({ls:0},!1,"scala.Predef$",{ls:1,Xw:1,c:1,Vw:1});var es=void 0; @@ -382,11 +382,11 @@ function Ts(a,b,c,e,f){if(0===(e|f))throw(new et).e("/ by zero");if(c===b>>31){i f&(-1+e|0):h=dt(a,h,f,b,e,1)|0;return g?(g=a.Db,a.Db=0!==h?~g:-g|0,-h|0):h}at.prototype.$classData=y({nw:0},!1,"scala.scalajs.runtime.RuntimeLong$",{nw:1,c:1,k:1,f:1});var bt=void 0;function Sa(){bt||(bt=(new at).b());return bt}function ft(){}ft.prototype=new z;ft.prototype.constructor=ft;function gt(){}gt.prototype=ft.prototype;ft.prototype.l=function(a){return this.Pg(a,Fj().Dn)};ft.prototype.ok=function(a){return Ej(this,a)};ft.prototype.w=function(){return"\x3cfunction1\x3e"}; function Cr(){this.pg=!1;this.wh=null}Cr.prototype=new z;Cr.prototype.constructor=Cr;Cr.prototype.b=function(){return this};Cr.prototype.w=function(){return"LazyRef "+(this.pg?"of: "+this.wh:"thunk")};Cr.prototype.$classData=y({ww:0},!1,"scala.runtime.LazyRef",{ww:1,c:1,k:1,f:1});var ts=y({xw:0},!1,"scala.runtime.Nothing$",{xw:1,Qb:1,c:1,f:1});function ht(){}ht.prototype=new z;ht.prototype.constructor=ht;function it(){}it.prototype=ht.prototype;ht.prototype.Uj=function(){}; var oa=y({Xq:0},!1,"java.lang.String",{Xq:1,c:1,f:1,vl:1,jf:1},void 0,void 0,function(a){return"string"===typeof a});function Mm(){W.call(this)}Mm.prototype=new Rr;Mm.prototype.constructor=Mm;Mm.prototype.g=function(a){W.prototype.Pb.call(this,""+a,a&&a.$classData&&a.$classData.q.Qb?a:null,0,!0);return this};Mm.prototype.$classData=y({hr:0},!1,"java.lang.AssertionError",{hr:1,or:1,Qb:1,c:1,f:1}); -var ra=y({jr:0},!1,"java.lang.Byte",{jr:1,Kh:1,c:1,f:1,jf:1},void 0,void 0,function(a){return qa(a)}),wa=y({mr:0},!1,"java.lang.Double",{mr:1,Kh:1,c:1,f:1,jf:1},void 0,void 0,function(a){return"number"===typeof a}),va=y({pr:0},!1,"java.lang.Float",{pr:1,Kh:1,c:1,f:1,jf:1},void 0,void 0,function(a){return"number"===typeof a}),ua=y({rr:0},!1,"java.lang.Integer",{rr:1,Kh:1,c:1,f:1,jf:1},void 0,void 0,function(a){return Oa(a)}),Aa=y({vr:0},!1,"java.lang.Long",{vr:1,Kh:1,c:1,f:1,jf:1},void 0,void 0,function(a){return za(a)}); -function jt(){W.call(this)}jt.prototype=new Sr;jt.prototype.constructor=jt;function kt(){}kt.prototype=jt.prototype;var ta=y({Br:0},!1,"java.lang.Short",{Br:1,Kh:1,c:1,f:1,jf:1},void 0,void 0,function(a){return sa(a)});function Tn(){this.Tg=null}Tn.prototype=new z;Tn.prototype.constructor=Tn;d=Tn.prototype;d.b=function(){Tn.prototype.ek.call(this,(new lt).b());return this};d.em=function(a,b){return this.Tg.Ya.substring(a,b)};d.w=function(){return this.Tg.Ya}; -d.Tk=function(a){var b=this.Tg;b.Ya=""+b.Ya+a;return this};function Un(a,b){a=a.Tg;a.Ya=""+a.Ya+b}d.m=function(){return this.Tg.m()};d.ek=function(a){this.Tg=a;return this};d.$classData=y({Cr:0},!1,"java.lang.StringBuffer",{Cr:1,c:1,vl:1,eo:1,f:1});function lt(){this.Ya=null}lt.prototype=new z;lt.prototype.constructor=lt;d=lt.prototype;d.b=function(){this.Ya="";return this};d.em=function(a,b){return this.Ya.substring(a,b)};d.w=function(){return this.Ya}; -function mt(a){var b=new lt;lt.prototype.e.call(b,ma(a));return b}d.Tk=function(a){this.Ya=""+this.Ya+a;return this};d.Ab=function(a){lt.prototype.b.call(this);if(0>a)throw(new nt).b();return this};d.m=function(){return this.Ya.length|0};function Vn(a,b){b=m.String.fromCharCode(b);a.Ya=""+a.Ya+b}d.e=function(a){lt.prototype.b.call(this);if(null===a)throw(new Se).b();this.Ya=a;return this}; -function ot(a){for(var b=a.Ya,c="",e=-1+(b.length|0)|0;0 a)throw(new nt).b();return this};d.m=function(){return this.$a.length|0};function Vn(a,b){b=m.String.fromCharCode(b);a.$a=""+a.$a+b}d.e=function(a){lt.prototype.b.call(this);if(null===a)throw(new Se).b();this.$a=a;return this}; +function ot(a){for(var b=a.$a,c="",e=-1+(b.length|0)|0;0 1/a?"-"+b:b;b=a.length|0;a=101!==(65535&(a.charCodeAt(-3+b|0)|0))?a:a.substring(0,-1+b|0)+"0"+a.substring(-1+b|0);if(!c||0<=(a.indexOf(".")|0))return a;c=a.indexOf("e")|0;return a.substring(0,c)+"."+a.substring(c)}function st(a,b){for(var c="",e=0;e!==b;)c=""+c+a,e=1+e|0;return c}function Qn(a,b,c,e){var f=e.length|0;f>=c?sn(a,e):0!==(1&b)?qt(a,e,st(" ",c-f|0)):qt(a,st(" ",c-f|0),e)}function Kn(a,b){return 0!==(256&a)?b.toUpperCase():b} d.w=function(){if(this.lj)throw(new rn).b();return null===this.rg?this.nh:this.rg.w()};function Pn(a){return(0!==(1&a)?"-":"")+(0!==(2&a)?"#":"")+(0!==(4&a)?"+":"")+(0!==(8&a)?" ":"")+(0!==(16&a)?"0":"")+(0!==(32&a)?",":"")+(0!==(64&a)?"(":"")+(0!==(128&a)?"\x3c":"")}d.br=function(a){this.rg=a;this.nh="";this.lj=!1;return this};function vn(a,b){if(void 0===a)return b;a=+m.parseInt(a,10);return 2147483647>=a?Ja(a):-1}function tt(a,b,c,e){null===a.rg?a.nh=a.nh+(""+b+c)+e:rt(a,[b,c,e])} @@ -398,62 +398,62 @@ c,f,Kn(b,e))}}d.Uj=function(){if(!this.lj&&null!==this.rg){var a=this.rg;if(a&&a function zf(a,b,c,e,f,g){a=na(b);var h;if(h=!!a.je.isArrayClass)h=na(e),h.je.isPrimitive||a.je.isPrimitive?a=h===a||(h===v(ab)?a===v($a):h===v(bb)?a===v($a)||a===v(ab):h===v(db)?a===v($a)||a===v(ab)||a===v(bb):h===v(eb)&&(a===v($a)||a===v(ab)||a===v(bb)||a===v(db))):(a=a.je.getFakeInstance(),a=!!h.je.isInstance(a)),h=a;if(h)Na(b,c,e,f,g);else for(a=c,c=c+g|0;a >10|c<<12);return this};d.w=function(){return Gn(Sa(),this.va,this.Oa)};d.r=function(a,b){this.va=a;this.Oa=b;return this};d.Ab=function(a){Mf.prototype.r.call(this,a,a>>31);return this};d.L=function(){return this.va^this.Oa};function za(a){return!!(a&&a.$classData&&a.$classData.q.Kp)}d.$classData=y({Kp:0},!1,"scala.scalajs.runtime.RuntimeLong",{Kp:1,Kh:1,c:1,f:1,jf:1}); function De(){this.pe=this.Pa=null}De.prototype=new z;De.prototype.constructor=De;d=De.prototype;d.yb=function(){return"Diagram"};d.wb=function(){return 2};d.dh=function(a,b){this.Pa=a;this.pe=b;return this};d.A=function(a){if(this===a)return!0;if(a&&a.$classData&&a.$classData.q.um){var b=this.Pa,c=a.Pa;if(null===b?null===c:b.A(c))return b=this.pe,a=a.pe,null===b?null===a:b.A(a)}return!1};d.xb=function(a){switch(a){case 0:return this.Pa;case 1:return this.pe;default:throw(new gp).e(""+a);}}; -function Ot(a){var b=new m.Array(a.m()),c=a.Fc();if(!c.bc)for(var e=c.Sa;;){var f=e;b[f]=a.i(f).Bk();b[f].index=f;if(e===c.we)break;e=e+c.Ha|0}return b}d.w=function(){return Lo(this)};function Pt(a,b,c){for(;;)if(b.Y(a))a=c.l(a).t().Qa();else return a} +function Ot(a){var b=new m.Array(a.m()),c=a.Fc();if(!c.bc)for(var e=c.Sa;;){var f=e;b[f]=a.i(f).Bk();b[f].index=f;if(e===c.ve)break;e=e+c.Ha|0}return b}d.w=function(){return Lo(this)};function Pt(a,b,c){for(;;)if(b.Y(a))a=c.l(a).t().Qa();else return a} function Je(a){for(var b=a.pe.Bd(G(function(){return function(a){return!a.Yk()}}(a))),c=G(function(){return function(a){return(new N).r(a.Fa,a.ha)}}(a)),e=H(),b=b.ia(c,e.p),c=qc(b,G(function(){return function(a){if(null!==a)return(new N).r(a.Qa(),a.Ja());throw(new C).g(a);}}(a))).Pc(G(function(){return function(a){if(null!==a)return 1 >24&&0===(1&a.G)<<24>>24){var b=a.zb;if(null===b)throw(new Se).b();a.so=""===b||"-"===a.zb;a.G=(1|a.G)<<24>>24}return a.so}function ur(a,b,c,e,f,g){a.Ua=b;a.af=c;a.zb=e;a.He=f;a.Qc=g;return a}d.L=function(){var a=-889275714,a=S().ua(a,ml(S(),this.Ua)),a=S().ua(a,this.af),a=S().ua(a,ml(S(),this.zb)),a=S().ua(a,this.He?1231:1237),a=S().ua(a,ml(S(),this.Qc));return S().nc(a,5)};d.Cb=function(){return Qt(this)}; -var cu=y({Mm:0},!1,"dibl.proto.Item",{Mm:1,c:1,ob:1,u:1,k:1,f:1});vr.prototype.$classData=cu;function du(){this.fe=this.ce=this.Ed=null;this.hk=this.nk=this.Uc=this.yj=this.md=this.Mh=this.oh=this.ph=this.ye=this.xe=this.Ae=this.ze=0}du.prototype=new z;du.prototype.constructor=du; -function vc(a){if(0 b?-b|0:b,a.Uc)}else b=!1;b?(oc(),b=a.Ae,b=0===pc(0>b?-b|0:b,a.Uc)):b=!1;if(0 c?-c|0:c,a.md)}else c=!1;c?(oc(),c=a.ye,c=0===pc(0>c?-c|0:c,a.md)):c=!1;if(!0===b&&!0===c)return a;if(!0===b&&!1===c){var c=b=a.Ed,e=G(function(a){return function(b){var c=a.md/2|0;return""+b.substring(c)+b.substring(0,c)}}(a)),f=H(),c=c.ia(e,f.p),e=H(),b=b.ub(c,e.p),c=a.ph,e=r(6,a.md),f=a.oh,g=a.Uc<<1;return Hr(b,a.ce,a.fe,a.ze,a.Ae,a.xe, -a.ye,c>e?c:e,f>g?f:g)}if(!1===b&&!0===c)return b=a.Uc/2|0,c=a.Ed.rc(0,b),e=a.Ed.rc(b,a.Ed.s()),b=a.Ed,f=H(),c=e.ub(c,f.p),e=H(),b=b.Kf(c,e.p),c=G(function(){return function(a){if(null!==a)return""+a.N()+a.ea();throw(new C).g(a);}}(a)),e=H(),b=b.ia(c,e.p),c=a.ph,e=r(3,a.md),f=a.oh,g=a.Uc<<2,Hr(b,a.ce,a.fe,a.ze,a.Ae,a.xe,a.ye,c>e?c:e,f>g?f:g);dc();throw(new zt).b();}d=du.prototype;d.yb=function(){return"PairParams"};d.wb=function(){return 9}; -d.A=function(a){if(this===a)return!0;if(a&&a.$classData&&a.$classData.q.Nm){var b=this.Ed,c=a.Ed;(null===b?null===c:b.A(c))?(b=this.ce,c=a.ce,b=null===b?null===c:b.A(c)):b=!1;b?(b=this.fe,c=a.fe,b=null===b?null===c:b.A(c)):b=!1;return b&&this.ze===a.ze&&this.Ae===a.Ae&&this.xe===a.xe&&this.ye===a.ye&&this.ph===a.ph?this.oh===a.oh:!1}return!1}; -d.xb=function(a){switch(a){case 0:return this.Ed;case 1:return this.ce;case 2:return this.fe;case 3:return this.ze;case 4:return this.Ae;case 5:return this.xe;case 6:return this.ye;case 7:return this.ph;case 8:return this.oh;default:throw(new gp).e(""+a);}}; -d.w=function(){return"tile\x3d"+this.Ed.Jb(",")+"\x26footside\x3d"+this.ce.Jb(",")+"\x26headside\x3d"+this.fe.Jb(",")+"\x26swatchWidth\x3d"+this.ph+"\x26swatchHeight\x3d"+this.oh+"\x26shiftColsSE\x3d"+this.xe+"\x26shiftColsSW\x3d"+this.ye+"\x26shiftRowsSE\x3d"+this.ze+"\x26shiftRowsSW\x3d"+this.Ae+"\x26"}; -d.L=function(){var a=-889275714,a=S().ua(a,ml(S(),this.Ed)),a=S().ua(a,ml(S(),this.ce)),a=S().ua(a,ml(S(),this.fe)),a=S().ua(a,this.ze),a=S().ua(a,this.Ae),a=S().ua(a,this.xe),a=S().ua(a,this.ye),a=S().ua(a,this.ph),a=S().ua(a,this.oh);return S().nc(a,9)};d.Cb=function(){return Qt(this)}; -function Hr(a,b,c,e,f,g,h,k,l){var n=new du;n.Ed=a;n.ce=b;n.fe=c;n.ze=e;n.Ae=f;n.xe=g;n.ye=h;n.ph=k;n.oh=l;e=b.Zd();e.h()?e=F():(e=e.v(),e=(new J).g(e.length|0));n.Mh=(e.h()?0:e.v())|0;e=a.Zd();e.h()?e=F():(e=e.v(),e=(new J).g(e.length|0));n.md=(e.h()?0:e.v())|0;e=c.Zd();e.h()?e=F():(e=e.v(),e=(new J).g(e.length|0));n.yj=(e.h()?0:e.v())|0;n.Uc=a.m();n.nk=c.m();n.hk=b.m();return n}d.$classData=y({Nm:0},!1,"dibl.proto.PairParams",{Nm:1,c:1,ob:1,u:1,k:1,f:1}); -function uc(){this.Ym=this.Jo=this.lo=this.Ed=this.fe=this.ce=this.Le=this.jo=this.Mi=this.vo=null;this.Ck=this.Kj=this.yi=this.mj=this.ye=this.xe=this.Ae=this.ze=this.Eg=this.jg=this.ro=this.hk=this.nk=this.Uc=this.yj=this.md=this.Mh=0;this.If=null;this.G=!1}uc.prototype=new z;uc.prototype.constructor=uc;function ke(a){a=a.If;P();(new Lj).b();var b=eu().fa(),c=a.a.length;switch(c){case -1:break;default:b.rb(c)}for(var c=0,e=a.a.length;c >24&&0===(1&a.G)<<24>>24){var b=a.zb;if(null===b)throw(new Se).b();a.so=""===b||"-"===a.zb;a.G=(1|a.G)<<24>>24}return a.so}function ur(a,b,c,e,f,g){a.Ua=b;a.af=c;a.zb=e;a.Ge=f;a.Qc=g;return a}d.L=function(){var a=-889275714,a=S().ua(a,ml(S(),this.Ua)),a=S().ua(a,this.af),a=S().ua(a,ml(S(),this.zb)),a=S().ua(a,this.Ge?1231:1237),a=S().ua(a,ml(S(),this.Qc));return S().nc(a,5)};d.Cb=function(){return Qt(this)}; +var cu=y({Mm:0},!1,"dibl.proto.Item",{Mm:1,c:1,ob:1,u:1,k:1,f:1});vr.prototype.$classData=cu;function du(){this.fe=this.ce=this.Ed=null;this.hk=this.nk=this.Uc=this.yj=this.md=this.Mh=this.oh=this.ph=this.xe=this.we=this.ze=this.ye=0}du.prototype=new z;du.prototype.constructor=du; +function vc(a){if(0 b?-b|0:b,a.Uc)}else b=!1;b?(oc(),b=a.ze,b=0===pc(0>b?-b|0:b,a.Uc)):b=!1;if(0 c?-c|0:c,a.md)}else c=!1;c?(oc(),c=a.xe,c=0===pc(0>c?-c|0:c,a.md)):c=!1;if(!0===b&&!0===c)return a;if(!0===b&&!1===c){var c=b=a.Ed,e=G(function(a){return function(b){var c=a.md/2|0;return""+b.substring(c)+b.substring(0,c)}}(a)),f=H(),c=c.ia(e,f.p),e=H(),b=b.ub(c,e.p),c=a.ph,e=r(6,a.md),f=a.oh,g=a.Uc<<1;return Hr(b,a.ce,a.fe,a.ye,a.ze,a.we, +a.xe,c>e?c:e,f>g?f:g)}if(!1===b&&!0===c)return b=a.Uc/2|0,c=a.Ed.rc(0,b),e=a.Ed.rc(b,a.Ed.s()),b=a.Ed,f=H(),c=e.ub(c,f.p),e=H(),b=b.Kf(c,e.p),c=G(function(){return function(a){if(null!==a)return""+a.N()+a.ea();throw(new C).g(a);}}(a)),e=H(),b=b.ia(c,e.p),c=a.ph,e=r(3,a.md),f=a.oh,g=a.Uc<<2,Hr(b,a.ce,a.fe,a.ye,a.ze,a.we,a.xe,c>e?c:e,f>g?f:g);dc();throw(new zt).b();}d=du.prototype;d.yb=function(){return"PairParams"};d.wb=function(){return 9}; +d.A=function(a){if(this===a)return!0;if(a&&a.$classData&&a.$classData.q.Nm){var b=this.Ed,c=a.Ed;(null===b?null===c:b.A(c))?(b=this.ce,c=a.ce,b=null===b?null===c:b.A(c)):b=!1;b?(b=this.fe,c=a.fe,b=null===b?null===c:b.A(c)):b=!1;return b&&this.ye===a.ye&&this.ze===a.ze&&this.we===a.we&&this.xe===a.xe&&this.ph===a.ph?this.oh===a.oh:!1}return!1}; +d.xb=function(a){switch(a){case 0:return this.Ed;case 1:return this.ce;case 2:return this.fe;case 3:return this.ye;case 4:return this.ze;case 5:return this.we;case 6:return this.xe;case 7:return this.ph;case 8:return this.oh;default:throw(new gp).e(""+a);}}; +d.w=function(){return"tile\x3d"+this.Ed.Jb(",")+"\x26footside\x3d"+this.ce.Jb(",")+"\x26headside\x3d"+this.fe.Jb(",")+"\x26swatchWidth\x3d"+this.ph+"\x26swatchHeight\x3d"+this.oh+"\x26shiftColsSE\x3d"+this.we+"\x26shiftColsSW\x3d"+this.xe+"\x26shiftRowsSE\x3d"+this.ye+"\x26shiftRowsSW\x3d"+this.ze+"\x26"}; +d.L=function(){var a=-889275714,a=S().ua(a,ml(S(),this.Ed)),a=S().ua(a,ml(S(),this.ce)),a=S().ua(a,ml(S(),this.fe)),a=S().ua(a,this.ye),a=S().ua(a,this.ze),a=S().ua(a,this.we),a=S().ua(a,this.xe),a=S().ua(a,this.ph),a=S().ua(a,this.oh);return S().nc(a,9)};d.Cb=function(){return Qt(this)}; +function Hr(a,b,c,e,f,g,h,k,l){var n=new du;n.Ed=a;n.ce=b;n.fe=c;n.ye=e;n.ze=f;n.we=g;n.xe=h;n.ph=k;n.oh=l;e=b.Zd();e.h()?e=F():(e=e.v(),e=(new J).g(e.length|0));n.Mh=(e.h()?0:e.v())|0;e=a.Zd();e.h()?e=F():(e=e.v(),e=(new J).g(e.length|0));n.md=(e.h()?0:e.v())|0;e=c.Zd();e.h()?e=F():(e=e.v(),e=(new J).g(e.length|0));n.yj=(e.h()?0:e.v())|0;n.Uc=a.m();n.nk=c.m();n.hk=b.m();return n}d.$classData=y({Nm:0},!1,"dibl.proto.PairParams",{Nm:1,c:1,ob:1,u:1,k:1,f:1}); +function uc(){this.Ym=this.Jo=this.lo=this.Ed=this.fe=this.ce=this.Le=this.jo=this.Mi=this.vo=null;this.Ck=this.Kj=this.yi=this.mj=this.xe=this.we=this.ze=this.ye=this.Eg=this.jg=this.ro=this.hk=this.nk=this.Uc=this.yj=this.md=this.Mh=0;this.If=null;this.G=!1}uc.prototype=new z;uc.prototype.constructor=uc;function ke(a){a=a.If;P();(new Lj).b();var b=eu().fa(),c=a.a.length;switch(c){case -1:break;default:b.rb(c)}for(var c=0,e=a.a.length;c =e;if(f)var g=0;else var h=e>>31,g=(0===h?-1<(-2147483648^e):0 g&&ne(oe(),0,e,1,!1);if(!f)for(e=0;;){f=e;f=(new N).r(f,b+f|0);se(k,f);if(e===h)break;e=1+e|0}for(b=te(ge(k));b.Og;)if(k=b.M(),null!==k){if(h=k.Qa(),k=k.Ja(),f=a.md,e=-1+f|0,!(0>=f))for(f=0;;){var l=f;0<=k&&k =f))for(;;){var f=b,g=a.Kj,h=-1+g|0;if(!(c>=g))for(g=c;;){var k=g;gu(a,k,f,f,k%c|0);if(g===h)break;g=1+g|0}if(b===e)break;b=1+b|0}}d.L=function(){return kl(this)}; -d.e=function(a){this.Mi=a;Zc($c().se.td,a+"\n");dc();a=sd(w(),a,"\x26",0);for(var b=(new Of).ae(Pf(Qf(),yf(na(a)))),c=0,e=a.a.length;c c?b:c;this.ro=a>b?a:b;fi();a=this.Le.Ta("patchHeight",O(function(a){return function(){return""+(a.Uc<<2)}}(this)));a=di(a);b=this.Uc;this.jg=a>b?a:b;fi();a=this.Le.Ta("patchWidth",O(function(a){return function(){return""+r(6,a.md)}}(this)));a=di(a);b=this.md;this.Eg=a>b?a:b;fi();a=this.Le.Ta("shiftRowsSE",O(function(a){return function(){return""+a.Uc}}(this)));this.ze= -di(a);fi();a=this.Le.Ta("shiftRowsSW",O(function(a){return function(){return""+a.Uc}}(this)));this.Ae=di(a);fi();a=this.Le.Ta("shiftColsSE",O(function(a){return function(){return""+a.md}}(this)));this.xe=di(a);fi();a=this.Le.Ta("shiftColsSW",O(function(){return function(){return"0"}}(this)));this.ye=di(a);this.mj=this.ce.t().trim().length|0;this.yi=this.mj+this.Eg|0;this.Kj=this.jg;a=this.Eg;b=this.mj;c=0===this.yi?0:this.fe.t().length|0;this.Ck=(a+b|0)+c|0;a=this.jg;b=null;b=[];for(c=0;cb?a:b,b=-1+a|0,!(0>=a)))for(c=0;;){e=c;g=-a|0;f=1+g|0;if(!(a<=g))for(g=a;;){var k=g;0===e&0===k||(h=r(k,this.Ae)+r(e,this.ze)|0,k=r(k,this.ye)+r(e,this.xe)|0,(-this.md|0) c?b:c;this.ro=a>b?a:b;fi();a=this.Le.Ta("patchHeight",O(function(a){return function(){return""+(a.Uc<<2)}}(this)));a=di(a);b=this.Uc;this.jg=a>b?a:b;fi();a=this.Le.Ta("patchWidth",O(function(a){return function(){return""+r(6,a.md)}}(this)));a=di(a);b=this.md;this.Eg=a>b?a:b;fi();a=this.Le.Ta("shiftRowsSE",O(function(a){return function(){return""+a.Uc}}(this)));this.ye= +di(a);fi();a=this.Le.Ta("shiftRowsSW",O(function(a){return function(){return""+a.Uc}}(this)));this.ze=di(a);fi();a=this.Le.Ta("shiftColsSE",O(function(a){return function(){return""+a.md}}(this)));this.we=di(a);fi();a=this.Le.Ta("shiftColsSW",O(function(){return function(){return"0"}}(this)));this.xe=di(a);this.mj=this.ce.t().trim().length|0;this.yi=this.mj+this.Eg|0;this.Kj=this.jg;a=this.Eg;b=this.mj;c=0===this.yi?0:this.fe.t().length|0;this.Ck=(a+b|0)+c|0;a=this.jg;b=null;b=[];for(c=0;cb?a:b,b=-1+a|0,!(0>=a)))for(c=0;;){e=c;g=-a|0;f=1+g|0;if(!(a<=g))for(g=a;;){var k=g;0===e&0===k||(h=r(k,this.ze)+r(e,this.ye)|0,k=r(k,this.xe)+r(e,this.we)|0,(-this.md|0) =a.nj)throw(new V).e("next on empty iterator");for(var b=a.Yc;;){if(a.Yc =a.nj)throw(new V).e("next on empty iterator");for(var b=a.Yc;;){if(a.Yc a.R(b,c))return-1;c=a.Wc(0);return 0 =(65535&(a.charCodeAt(b)|0))&&48<=(65535&(a.charCodeAt(b)|0)))b=-1+b|0;else break;for(var f=b;;)if(-1!==b&&36!==(65535&(a.charCodeAt(b)|0))&&46!==(65535&(a.charCodeAt(b)|0)))b=-1+b|0;else break;var g=1+b|0;if(b===f&&e!==(a.length|0))return c;for(;;)if(-1!==b&&36===(65535&(a.charCodeAt(b)| 0)))b=-1+b|0;else break;var f=-1===b?!0:46===(65535&(a.charCodeAt(b)|0)),h;(h=f)||(h=65535&(a.charCodeAt(g)|0),h=!(90 h||65>h));if(h){e=a.substring(g,e);g=c;if(null===g)throw(new Se).b();c=""===g?e:""+e+(new M).aa(46)+c;if(f)return c}}}function Tv(){this.p=null}Tv.prototype=new zs;Tv.prototype.constructor=Tv;function Uv(){}Uv.prototype=Tv.prototype;function Vv(){Xu.call(this)}Vv.prototype=new Yu;Vv.prototype.constructor=Vv;Vv.prototype.Kn=function(a){return Wv(a)}; -Vv.prototype.$classData=y({ku:0},!1,"scala.collection.immutable.HashMap$HashTrieMap$$anon$1",{ku:1,hv:1,Ad:1,c:1,qd:1,Q:1,P:1});function Xv(){Xu.call(this)}Xv.prototype=new Yu;Xv.prototype.constructor=Xv;Xv.prototype.Kn=function(a){return a.Hc};Xv.prototype.$classData=y({pu:0},!1,"scala.collection.immutable.HashSet$HashTrieSet$$anon$1",{pu:1,hv:1,Ad:1,c:1,qd:1,Q:1,P:1});function Yv(){}Yv.prototype=new Ou;Yv.prototype.constructor=Yv;Yv.prototype.b=function(){return this};Yv.prototype.Yj=function(){return ag()}; -Yv.prototype.$classData=y({Qu:0},!1,"scala.collection.immutable.Set$",{Qu:1,Ro:1,Ol:1,Nl:1,dd:1,c:1,ed:1});var Zv=void 0;function Uh(){Zv||(Zv=(new Yv).b());return Zv}function $v(){this.uj=null}$v.prototype=new ov;$v.prototype.constructor=$v;$v.prototype.b=function(){nv.prototype.b.call(this);return this};$v.prototype.X=function(){return aw(this)};function aw(a){return a.uj.Za.Tb().oc(G(function(){return function(a){return a.Tb()}}(a)),(lk(),(new Xs).b()))} +Vv.prototype.$classData=y({ku:0},!1,"scala.collection.immutable.HashMap$HashTrieMap$$anon$1",{ku:1,hv:1,zd:1,c:1,qd:1,Q:1,P:1});function Xv(){Xu.call(this)}Xv.prototype=new Yu;Xv.prototype.constructor=Xv;Xv.prototype.Kn=function(a){return a.Hc};Xv.prototype.$classData=y({pu:0},!1,"scala.collection.immutable.HashSet$HashTrieSet$$anon$1",{pu:1,hv:1,zd:1,c:1,qd:1,Q:1,P:1});function Yv(){}Yv.prototype=new Ou;Yv.prototype.constructor=Yv;Yv.prototype.b=function(){return this};Yv.prototype.Yj=function(){return ag()}; +Yv.prototype.$classData=y({Qu:0},!1,"scala.collection.immutable.Set$",{Qu:1,Ro:1,Ol:1,Nl:1,dd:1,c:1,ed:1});var Zv=void 0;function Uh(){Zv||(Zv=(new Yv).b());return Zv}function $v(){this.uj=null}$v.prototype=new ov;$v.prototype.constructor=$v;$v.prototype.b=function(){nv.prototype.b.call(this);return this};$v.prototype.X=function(){return aw(this)};function aw(a){return a.uj.Ya.Tb().oc(G(function(){return function(a){return a.Tb()}}(a)),(lk(),(new Xs).b()))} function bw(a){return!!(a&&a.$classData&&a.$classData.q.ap)}$v.prototype.$classData=y({ap:0},!1,"scala.collection.immutable.Stream$StreamBuilder",{ap:1,Jx:1,c:1,Sd:1,Ac:1,zc:1,yc:1});function ae(){this.$i=this.Nh=this.Ui=0;this.An=this.yn=this.wn=this.un=this.sn=this.bj=null}ae.prototype=new z;ae.prototype.constructor=ae;d=ae.prototype;d.Ia=function(){return this.wn};d.b=function(){this.bj=u(B(A),[32]);this.$i=1;this.Nh=this.Ui=0;return this};d.uc=function(){return this.$i}; d.Yb=function(a){return se(this,a)};d.Vg=function(a){this.An=a};d.Wb=function(){return this.bj};d.db=function(a){this.un=a};d.vb=function(){return this.yn}; -function se(a,b){if(a.Nh>=a.bj.a.length){var c=32+a.Ui|0,e=a.Ui^c;if(1024>e)1===a.uc()&&(a.Ka(u(B(A),[32])),a.$().a[0]=a.Wb(),a.cf(1+a.uc()|0)),a.$a(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb();else if(32768>e)2===a.uc()&&(a.db(u(B(A),[32])),a.pa().a[0]=a.$(),a.cf(1+a.uc()|0)),a.$a(u(B(A),[32])),a.Ka(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$();else if(1048576>e)3===a.uc()&&(a.Xb(u(B(A),[32])),a.Ia().a[0]=a.pa(),a.cf(1+a.uc()|0)),a.$a(u(B(A),[32])),a.Ka(u(B(A),[32])),a.db(u(B(A), -[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$(),a.Ia().a[31&(c>>>15|0)]=a.pa();else if(33554432>e)4===a.uc()&&(a.xd(u(B(A),[32])),a.vb().a[0]=a.Ia(),a.cf(1+a.uc()|0)),a.$a(u(B(A),[32])),a.Ka(u(B(A),[32])),a.db(u(B(A),[32])),a.Xb(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$(),a.Ia().a[31&(c>>>15|0)]=a.pa(),a.vb().a[31&(c>>>20|0)]=a.Ia();else if(1073741824>e)5===a.uc()&&(a.Vg(u(B(A),[32])),a.Fd().a[0]=a.vb(),a.cf(1+a.uc()|0)),a.$a(u(B(A),[32])),a.Ka(u(B(A), -[32])),a.db(u(B(A),[32])),a.Xb(u(B(A),[32])),a.xd(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$(),a.Ia().a[31&(c>>>15|0)]=a.pa(),a.vb().a[31&(c>>>20|0)]=a.Ia(),a.Fd().a[31&(c>>>25|0)]=a.vb();else throw(new tb).b();a.Ui=c;a.Nh=0}a.bj.a[a.Nh]=b;a.Nh=1+a.Nh|0;return a}d.X=function(){return ge(this)};d.ie=function(a,b){Np(this,a,b)};d.Ka=function(a){this.sn=a};d.xd=function(a){this.yn=a};d.$=function(){return this.sn};d.Fd=function(){return this.An}; -function ge(a){var b=a.Ui+a.Nh|0;if(0===b)return Zd().zh;var c=(new cw).Ib(0,b,0);zb(c,a,a.$i);1 =a.bj.a.length){var c=32+a.Ui|0,e=a.Ui^c;if(1024>e)1===a.uc()&&(a.Ka(u(B(A),[32])),a.$().a[0]=a.Wb(),a.cf(1+a.uc()|0)),a.Za(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb();else if(32768>e)2===a.uc()&&(a.db(u(B(A),[32])),a.pa().a[0]=a.$(),a.cf(1+a.uc()|0)),a.Za(u(B(A),[32])),a.Ka(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$();else if(1048576>e)3===a.uc()&&(a.Xb(u(B(A),[32])),a.Ia().a[0]=a.pa(),a.cf(1+a.uc()|0)),a.Za(u(B(A),[32])),a.Ka(u(B(A),[32])),a.db(u(B(A), +[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$(),a.Ia().a[31&(c>>>15|0)]=a.pa();else if(33554432>e)4===a.uc()&&(a.wd(u(B(A),[32])),a.vb().a[0]=a.Ia(),a.cf(1+a.uc()|0)),a.Za(u(B(A),[32])),a.Ka(u(B(A),[32])),a.db(u(B(A),[32])),a.Xb(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$(),a.Ia().a[31&(c>>>15|0)]=a.pa(),a.vb().a[31&(c>>>20|0)]=a.Ia();else if(1073741824>e)5===a.uc()&&(a.Vg(u(B(A),[32])),a.Fd().a[0]=a.vb(),a.cf(1+a.uc()|0)),a.Za(u(B(A),[32])),a.Ka(u(B(A), +[32])),a.db(u(B(A),[32])),a.Xb(u(B(A),[32])),a.wd(u(B(A),[32])),a.$().a[31&(c>>>5|0)]=a.Wb(),a.pa().a[31&(c>>>10|0)]=a.$(),a.Ia().a[31&(c>>>15|0)]=a.pa(),a.vb().a[31&(c>>>20|0)]=a.Ia(),a.Fd().a[31&(c>>>25|0)]=a.vb();else throw(new tb).b();a.Ui=c;a.Nh=0}a.bj.a[a.Nh]=b;a.Nh=1+a.Nh|0;return a}d.X=function(){return ge(this)};d.ie=function(a,b){Np(this,a,b)};d.Ka=function(a){this.sn=a};d.wd=function(a){this.yn=a};d.$=function(){return this.sn};d.Fd=function(){return this.An}; +function ge(a){var b=a.Ui+a.Nh|0;if(0===b)return Zd().zh;var c=(new cw).Ib(0,b,0);zb(c,a,a.$i);1 c)this.$a(this.$().a[31&(b>>>5|0)]);else if(32768>c)this.Ka(this.pa().a[31&(b>>>10|0)]),this.$a(this.$().a[0]);else if(1048576>c)this.db(this.Ia().a[31&(b>>>15|0)]),this.Ka(this.pa().a[0]),this.$a(this.$().a[0]);else if(33554432>c)this.Xb(this.vb().a[31&(b>>>20|0)]),this.db(this.Ia().a[0]),this.Ka(this.pa().a[0]), -this.$a(this.$().a[0]);else if(1073741824>c)this.xd(this.Fd().a[31&(b>>>25|0)]),this.Xb(this.vb().a[0]),this.db(this.Ia().a[0]),this.Ka(this.pa().a[0]),this.$a(this.$().a[0]);else throw(new tb).b();this.Sg=b;b=this.ll-this.Sg|0;this.ml=32>b?b:32;this.va=0}else this.Og=!1;return a};d.Ia=function(){return this.xn};d.uc=function(){return this.cl};d.Vg=function(a){this.Bn=a};d.r=function(a,b){this.ll=b;this.Sg=-32&a;this.va=31&a;a=b-this.Sg|0;this.ml=32>a?a:32;this.Og=(this.Sg+this.va|0)c)this.Za(this.$().a[31&(b>>>5|0)]);else if(32768>c)this.Ka(this.pa().a[31&(b>>>10|0)]),this.Za(this.$().a[0]);else if(1048576>c)this.db(this.Ia().a[31&(b>>>15|0)]),this.Ka(this.pa().a[0]),this.Za(this.$().a[0]);else if(33554432>c)this.Xb(this.vb().a[31&(b>>>20|0)]),this.db(this.Ia().a[0]),this.Ka(this.pa().a[0]), +this.Za(this.$().a[0]);else if(1073741824>c)this.wd(this.Fd().a[31&(b>>>25|0)]),this.Xb(this.vb().a[0]),this.db(this.Ia().a[0]),this.Ka(this.pa().a[0]),this.Za(this.$().a[0]);else throw(new tb).b();this.Sg=b;b=this.ll-this.Sg|0;this.ml=32>b?b:32;this.va=0}else this.Og=!1;return a};d.Ia=function(){return this.xn};d.uc=function(){return this.cl};d.Vg=function(a){this.Bn=a};d.r=function(a,b){this.ll=b;this.Sg=-32&a;this.va=31&a;a=b-this.Sg|0;this.ml=32>a?a:32;this.Og=(this.Sg+this.va|0)this.R(a,b)};d.R=function(a,b){return this.$m.R(a,b)};d.Jd=function(a,b){return 0>=this.R(a,b)}; -d.$classData=y({Ir:0},!1,"java.util.Arrays$$anon$3",{Ir:1,c:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});function un(){W.call(this);this.bh=null}un.prototype=new Iv;un.prototype.constructor=un;un.prototype.Ge=function(){return"Flags \x3d '"+this.bh+"'"};un.prototype.e=function(a){this.bh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this};un.prototype.$classData=y({Jr:0},!1,"java.util.DuplicateFormatFlagsException",{Jr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1}); -function vt(){W.call(this);this.bh=null;this.Ug=0}vt.prototype=new Iv;vt.prototype.constructor=vt;vt.prototype.Ge=function(){return"Conversion \x3d "+(new M).aa(this.Ug)+", Flags \x3d "+this.bh};vt.prototype.$classData=y({Kr:0},!1,"java.util.FormatFlagsConversionMismatchException",{Kr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function Cn(){W.call(this);this.Ug=0}Cn.prototype=new Iv;Cn.prototype.constructor=Cn;Cn.prototype.Ge=function(){return"Code point \x3d 0x"+(+(this.Ug>>>0)).toString(16)}; -Cn.prototype.Ab=function(a){this.Ug=a;W.prototype.Pb.call(this,null,null,0,!0);return this};Cn.prototype.$classData=y({Or:0},!1,"java.util.IllegalFormatCodePointException",{Or:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function ut(){W.call(this);this.Ug=0;this.Vm=null}ut.prototype=new Iv;ut.prototype.constructor=ut;ut.prototype.Ge=function(){return m.String.fromCharCode(this.Ug)+" !\x3d "+pb(this.Vm)}; -ut.prototype.$classData=y({Pr:0},!1,"java.util.IllegalFormatConversionException",{Pr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function On(){W.call(this);this.bh=null}On.prototype=new Iv;On.prototype.constructor=On;On.prototype.Ge=function(){return"Flags \x3d '"+this.bh+"'"};On.prototype.e=function(a){this.bh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this}; -On.prototype.$classData=y({Qr:0},!1,"java.util.IllegalFormatFlagsException",{Qr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function An(){W.call(this);this.Co=0}An.prototype=new Iv;An.prototype.constructor=An;An.prototype.Ge=function(){return""+this.Co};An.prototype.Ab=function(a){this.Co=a;W.prototype.Pb.call(this,null,null,0,!0);return this};An.prototype.$classData=y({Rr:0},!1,"java.util.IllegalFormatPrecisionException",{Rr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function Rn(){W.call(this);this.bq=0} -Rn.prototype=new Iv;Rn.prototype.constructor=Rn;Rn.prototype.Ge=function(){return""+this.bq};Rn.prototype.Ab=function(a){this.bq=a;W.prototype.Pb.call(this,null,null,0,!0);return this};Rn.prototype.$classData=y({Sr:0},!1,"java.util.IllegalFormatWidthException",{Sr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function xn(){W.call(this);this.hh=null}xn.prototype=new Iv;xn.prototype.constructor=xn;xn.prototype.Ge=function(){return"Format specifier '"+this.hh+"'"}; -xn.prototype.e=function(a){this.hh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this};xn.prototype.$classData=y({Tr:0},!1,"java.util.MissingFormatArgumentException",{Tr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function wn(){W.call(this);this.hh=null}wn.prototype=new Iv;wn.prototype.constructor=wn;wn.prototype.Ge=function(){return this.hh};wn.prototype.e=function(a){this.hh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this}; -wn.prototype.$classData=y({Ur:0},!1,"java.util.MissingFormatWidthException",{Ur:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function tn(){W.call(this);this.hh=null}tn.prototype=new Iv;tn.prototype.constructor=tn;tn.prototype.Ge=function(){return"Conversion \x3d '"+this.hh+"'"};tn.prototype.e=function(a){this.hh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this}; -tn.prototype.$classData=y({Wr:0},!1,"java.util.UnknownFormatConversionException",{Wr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function hw(){K.call(this);this.De=this.Ce=!1}hw.prototype=new Gv;hw.prototype.constructor=hw;hw.prototype.ea=function(){return this.De};hw.prototype.N=function(){return this.Ce};function Yc(a,b){var c=new hw;c.Ce=a;c.De=b;K.prototype.j.call(c,null,null);return c}hw.prototype.$classData=y({us:0},!1,"scala.Tuple2$mcZZ$sp",{us:1,Qi:1,c:1,Hl:1,ob:1,u:1,k:1,f:1}); +d.$classData=y({Ir:0},!1,"java.util.Arrays$$anon$3",{Ir:1,c:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});function un(){W.call(this);this.bh=null}un.prototype=new Iv;un.prototype.constructor=un;un.prototype.Fe=function(){return"Flags \x3d '"+this.bh+"'"};un.prototype.e=function(a){this.bh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this};un.prototype.$classData=y({Jr:0},!1,"java.util.DuplicateFormatFlagsException",{Jr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1}); +function vt(){W.call(this);this.bh=null;this.Ug=0}vt.prototype=new Iv;vt.prototype.constructor=vt;vt.prototype.Fe=function(){return"Conversion \x3d "+(new M).aa(this.Ug)+", Flags \x3d "+this.bh};vt.prototype.$classData=y({Kr:0},!1,"java.util.FormatFlagsConversionMismatchException",{Kr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function Cn(){W.call(this);this.Ug=0}Cn.prototype=new Iv;Cn.prototype.constructor=Cn;Cn.prototype.Fe=function(){return"Code point \x3d 0x"+(+(this.Ug>>>0)).toString(16)}; +Cn.prototype.Ab=function(a){this.Ug=a;W.prototype.Pb.call(this,null,null,0,!0);return this};Cn.prototype.$classData=y({Or:0},!1,"java.util.IllegalFormatCodePointException",{Or:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function ut(){W.call(this);this.Ug=0;this.Vm=null}ut.prototype=new Iv;ut.prototype.constructor=ut;ut.prototype.Fe=function(){return m.String.fromCharCode(this.Ug)+" !\x3d "+pb(this.Vm)}; +ut.prototype.$classData=y({Pr:0},!1,"java.util.IllegalFormatConversionException",{Pr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function On(){W.call(this);this.bh=null}On.prototype=new Iv;On.prototype.constructor=On;On.prototype.Fe=function(){return"Flags \x3d '"+this.bh+"'"};On.prototype.e=function(a){this.bh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this}; +On.prototype.$classData=y({Qr:0},!1,"java.util.IllegalFormatFlagsException",{Qr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function An(){W.call(this);this.Co=0}An.prototype=new Iv;An.prototype.constructor=An;An.prototype.Fe=function(){return""+this.Co};An.prototype.Ab=function(a){this.Co=a;W.prototype.Pb.call(this,null,null,0,!0);return this};An.prototype.$classData=y({Rr:0},!1,"java.util.IllegalFormatPrecisionException",{Rr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function Rn(){W.call(this);this.bq=0} +Rn.prototype=new Iv;Rn.prototype.constructor=Rn;Rn.prototype.Fe=function(){return""+this.bq};Rn.prototype.Ab=function(a){this.bq=a;W.prototype.Pb.call(this,null,null,0,!0);return this};Rn.prototype.$classData=y({Sr:0},!1,"java.util.IllegalFormatWidthException",{Sr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function xn(){W.call(this);this.hh=null}xn.prototype=new Iv;xn.prototype.constructor=xn;xn.prototype.Fe=function(){return"Format specifier '"+this.hh+"'"}; +xn.prototype.e=function(a){this.hh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this};xn.prototype.$classData=y({Tr:0},!1,"java.util.MissingFormatArgumentException",{Tr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function wn(){W.call(this);this.hh=null}wn.prototype=new Iv;wn.prototype.constructor=wn;wn.prototype.Fe=function(){return this.hh};wn.prototype.e=function(a){this.hh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this}; +wn.prototype.$classData=y({Ur:0},!1,"java.util.MissingFormatWidthException",{Ur:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function tn(){W.call(this);this.hh=null}tn.prototype=new Iv;tn.prototype.constructor=tn;tn.prototype.Fe=function(){return"Conversion \x3d '"+this.hh+"'"};tn.prototype.e=function(a){this.hh=a;W.prototype.Pb.call(this,null,null,0,!0);if(null===a)throw(new Se).b();return this}; +tn.prototype.$classData=y({Wr:0},!1,"java.util.UnknownFormatConversionException",{Wr:1,zg:1,zf:1,$c:1,Gc:1,Qb:1,c:1,f:1});function hw(){K.call(this);this.Ce=this.Be=!1}hw.prototype=new Gv;hw.prototype.constructor=hw;hw.prototype.ea=function(){return this.Ce};hw.prototype.N=function(){return this.Be};function Yc(a,b){var c=new hw;c.Be=a;c.Ce=b;K.prototype.j.call(c,null,null);return c}hw.prototype.$classData=y({us:0},!1,"scala.Tuple2$mcZZ$sp",{us:1,Qi:1,c:1,Hl:1,ob:1,u:1,k:1,f:1}); function mw(){this.zo=this.yo=null}mw.prototype=new z;mw.prototype.constructor=mw;function qq(a,b){var c=new mw;c.yo=a;c.zo=b;return c}d=mw.prototype;d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){var c=this.yo.R(a.N(),b.N());0!==c?a=c:(a=this.zo.R(a.ea(),b.ea()),a=0!==a?a:0);return a};d.Jd=function(a,b){return 0>=this.R(a,b)}; -d.$classData=y({Hs:0},!1,"scala.math.Ordering$$anon$12",{Hs:1,c:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});function nw(){this.ni=this.ab=null}nw.prototype=new z;nw.prototype.constructor=nw;d=nw.prototype;d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return this.ab.R(this.ni.l(a),this.ni.l(b))};function ud(a,b){var c=new nw;if(null===a)throw Rj(Sj(),null);c.ab=a;c.ni=b;return c} -d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({Is:0},!1,"scala.math.Ordering$$anon$5",{Is:1,c:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});function wg(){this.pk=null}wg.prototype=new z;wg.prototype.constructor=wg;d=wg.prototype;d.Kd=function(a){var b=this.bd();return b===v($a)?u(B($a),[a]):b===v(ab)?u(B(ab),[a]):b===v(Za)?u(B(Za),[a]):b===v(bb)?u(B(bb),[a]):b===v(cb)?u(B(cb),[a]):b===v(db)?u(B(db),[a]):b===v(eb)?u(B(eb),[a]):b===v(Ya)?u(B(Ya),[a]):b===v(Xa)?u(B(ya),[a]):wf(xf(),this.bd(),a)}; -d.A=function(a){var b;a&&a.$classData&&a.$classData.q.te?(b=this.bd(),a=a.bd(),b=b===a):b=!1;return b};d.w=function(){return xu(this,this.pk)};d.bd=function(){return this.pk};d.vg=function(a){this.pk=a;return this};d.L=function(){return ml(S(),this.pk)};d.$classData=y({$s:0},!1,"scala.reflect.ClassTag$GenericClassTag",{$s:1,c:1,te:1,Pe:1,ue:1,k:1,f:1,u:1});function ow(){this.p=null}ow.prototype=new Uv;ow.prototype.constructor=ow;ow.prototype.b=function(){up.prototype.b.call(this);return this}; +d.$classData=y({Hs:0},!1,"scala.math.Ordering$$anon$12",{Hs:1,c:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});function nw(){this.ni=this.ab=null}nw.prototype=new z;nw.prototype.constructor=nw;d=nw.prototype;d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return this.ab.R(this.ni.l(a),this.ni.l(b))};function ud(a,b){var c=new nw;if(null===a)throw Rj(Sj(),null);c.ab=a;c.ni=b;return c} +d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({Is:0},!1,"scala.math.Ordering$$anon$5",{Is:1,c:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});function wg(){this.pk=null}wg.prototype=new z;wg.prototype.constructor=wg;d=wg.prototype;d.Kd=function(a){var b=this.bd();return b===v($a)?u(B($a),[a]):b===v(ab)?u(B(ab),[a]):b===v(Za)?u(B(Za),[a]):b===v(bb)?u(B(bb),[a]):b===v(cb)?u(B(cb),[a]):b===v(db)?u(B(db),[a]):b===v(eb)?u(B(eb),[a]):b===v(Ya)?u(B(Ya),[a]):b===v(Xa)?u(B(ya),[a]):wf(xf(),this.bd(),a)}; +d.A=function(a){var b;a&&a.$classData&&a.$classData.q.se?(b=this.bd(),a=a.bd(),b=b===a):b=!1;return b};d.w=function(){return xu(this,this.pk)};d.bd=function(){return this.pk};d.vg=function(a){this.pk=a;return this};d.L=function(){return ml(S(),this.pk)};d.$classData=y({$s:0},!1,"scala.reflect.ClassTag$GenericClassTag",{$s:1,c:1,se:1,Pe:1,te:1,k:1,f:1,u:1});function ow(){this.p=null}ow.prototype=new Uv;ow.prototype.constructor=ow;ow.prototype.b=function(){up.prototype.b.call(this);return this}; ow.prototype.fa=function(){Dc();return(new Ec).b()};ow.prototype.$classData=y({Tt:0},!1,"scala.collection.Seq$",{Tt:1,Df:1,Cf:1,Od:1,dd:1,c:1,Pd:1,ed:1});var pw=void 0;function H(){pw||(pw=(new ow).b());return pw}function qw(){this.p=null}qw.prototype=new Uv;qw.prototype.constructor=qw;function rw(){}rw.prototype=qw.prototype;function sw(){}sw.prototype=new Bs;sw.prototype.constructor=sw;sw.prototype.b=function(){tw=this;Ep(new Dp,Vi(function(){return function(a){return a}}(this)));return this}; function uw(a,b,c,e,f,g,h){var k=31&(b>>>g|0),l=31&(e>>>g|0);if(k!==l)return a=1< c)a.Vi=""+a.Vi+b,b="";else{var e=""+a.Vi+b.substring(0,c);m.console&&(a.Vn&&m.console.error?m.console.error(e):m.console.log(e));a.Vi="";b=b.substring(1+c|0)}}}Hw.prototype.Uj=function(){};Hw.prototype.$classData=y({tr:0},!1,"java.lang.JSConsoleBasedPrintStream",{tr:1,Kw:1,Jw:1,Wq:1,c:1,Rk:1,fo:1,Qm:1,eo:1});function Bh(){K.call(this);this.Nk=this.Lk=0}Bh.prototype=new Gv;Bh.prototype.constructor=Bh;d=Bh.prototype;d.Ng=function(){return this.Lk}; d.ea=function(){return this.Nk};d.uh=function(){return this.Nk};d.fc=function(a,b){this.Lk=a;this.Nk=b;K.prototype.j.call(this,null,null);return this};d.N=function(){return this.Lk};d.$classData=y({ss:0},!1,"scala.Tuple2$mcDD$sp",{ss:1,Qi:1,c:1,Hl:1,ob:1,u:1,k:1,f:1,$w:1});function N(){K.call(this);this.Ok=this.Mk=0}N.prototype=new Gv;N.prototype.constructor=N;d=N.prototype;d.Qa=function(){return this.Mk};d.r=function(a,b){this.Mk=a;this.Ok=b;K.prototype.j.call(this,null,null);return this};d.ea=function(){return this.Ok}; d.Ja=function(){return this.Ok};d.N=function(){return this.Mk};d.$classData=y({ts:0},!1,"scala.Tuple2$mcII$sp",{ts:1,Qi:1,c:1,Hl:1,ob:1,u:1,k:1,f:1,ax:1});function Ls(){}Ls.prototype=new z;Ls.prototype.constructor=Ls;d=Ls.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return(a|0)-(b|0)|0};d.Jd=function(a,b){return 0>=this.R(a,b)}; -d.$classData=y({Js:0},!1,"scala.math.Ordering$Byte$",{Js:1,c:1,Ks:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});var Ks=void 0;function Ns(){}Ns.prototype=new z;Ns.prototype.constructor=Ns;d=Ns.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return(null===a?0:a.ca)-(null===b?0:b.ca)|0};d.Jd=function(a,b){return 0>=this.R(a,b)}; -d.$classData=y({Ls:0},!1,"scala.math.Ordering$Char$",{Ls:1,c:1,Ms:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});var Ms=void 0;function Iw(){}Iw.prototype=new z;Iw.prototype.constructor=Iw;d=Iw.prototype;d.b=function(){return this};d.me=function(a,b){return+a>=+b};d.qe=function(a,b){return+a<+b};d.le=function(a,b){return+a>+b};d.R=function(a,b){a=+a;b=+b;return Or(gr(),a,b)};d.Jd=function(a,b){return+a<=+b};d.$classData=y({Ns:0},!1,"scala.math.Ordering$Double$",{Ns:1,c:1,px:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1}); -var Jw=void 0;function Jh(){Jw||(Jw=(new Iw).b());return Jw}function Kw(){}Kw.prototype=new z;Kw.prototype.constructor=Kw;d=Kw.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){a|=0;b|=0;return a===b?0:a=this.R(a,b)};d.$classData=y({Os:0},!1,"scala.math.Ordering$Int$",{Os:1,c:1,Ps:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});var Lw=void 0; +d.$classData=y({Js:0},!1,"scala.math.Ordering$Byte$",{Js:1,c:1,Ks:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});var Ks=void 0;function Ns(){}Ns.prototype=new z;Ns.prototype.constructor=Ns;d=Ns.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return(null===a?0:a.ca)-(null===b?0:b.ca)|0};d.Jd=function(a,b){return 0>=this.R(a,b)}; +d.$classData=y({Ls:0},!1,"scala.math.Ordering$Char$",{Ls:1,c:1,Ms:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});var Ms=void 0;function Iw(){}Iw.prototype=new z;Iw.prototype.constructor=Iw;d=Iw.prototype;d.b=function(){return this};d.me=function(a,b){return+a>=+b};d.qe=function(a,b){return+a<+b};d.le=function(a,b){return+a>+b};d.R=function(a,b){a=+a;b=+b;return Or(gr(),a,b)};d.Jd=function(a,b){return+a<=+b};d.$classData=y({Ns:0},!1,"scala.math.Ordering$Double$",{Ns:1,c:1,px:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1}); +var Jw=void 0;function Jh(){Jw||(Jw=(new Iw).b());return Jw}function Kw(){}Kw.prototype=new z;Kw.prototype.constructor=Kw;d=Kw.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){a|=0;b|=0;return a===b?0:a=this.R(a,b)};d.$classData=y({Os:0},!1,"scala.math.Ordering$Int$",{Os:1,c:1,Ps:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});var Lw=void 0; function td(){Lw||(Lw=(new Kw).b());return Lw}function Rs(){}Rs.prototype=new z;Rs.prototype.constructor=Rs;d=Rs.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){var c=Ra(a);a=c.va;var c=c.Oa,e=Ra(b);b=e.va;e=e.Oa;Sa();return c===e?a===b?0:(-2147483648^a)<(-2147483648^b)?-1:1:c =this.R(a,b)}; -d.$classData=y({Qs:0},!1,"scala.math.Ordering$Long$",{Qs:1,c:1,Rs:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});var Qs=void 0;function Hs(){}Hs.prototype=new z;Hs.prototype.constructor=Hs;d=Hs.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return(a|0)-(b|0)|0};d.Jd=function(a,b){return 0>=this.R(a,b)}; -d.$classData=y({Ts:0},!1,"scala.math.Ordering$Short$",{Ts:1,c:1,Us:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});var Gs=void 0;function Mw(){}Mw.prototype=new z;Mw.prototype.constructor=Mw;d=Mw.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return a===b?0:a=this.R(a,b)}; -d.$classData=y({Vs:0},!1,"scala.math.Ordering$String$",{Vs:1,c:1,qx:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1});var Nw=void 0;function Te(){Nw||(Nw=(new Mw).b());return Nw}function Ow(){this.sd=null}Ow.prototype=new z;Ow.prototype.constructor=Ow;function Pw(){}Pw.prototype=Ow.prototype;Ow.prototype.A=function(a){return this===a};Ow.prototype.w=function(){return this.sd};Ow.prototype.L=function(){return Ha(this)};function Qw(){}Qw.prototype=new z;Qw.prototype.constructor=Qw;function Rw(){}Rw.prototype=Qw.prototype; +d.$classData=y({Qs:0},!1,"scala.math.Ordering$Long$",{Qs:1,c:1,Rs:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});var Qs=void 0;function Hs(){}Hs.prototype=new z;Hs.prototype.constructor=Hs;d=Hs.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return(a|0)-(b|0)|0};d.Jd=function(a,b){return 0>=this.R(a,b)}; +d.$classData=y({Ts:0},!1,"scala.math.Ordering$Short$",{Ts:1,c:1,Us:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});var Gs=void 0;function Mw(){}Mw.prototype=new z;Mw.prototype.constructor=Mw;d=Mw.prototype;d.b=function(){return this};d.me=function(a,b){return 0<=this.R(a,b)};d.le=function(a,b){return 0 this.R(a,b)};d.R=function(a,b){return a===b?0:a=this.R(a,b)}; +d.$classData=y({Vs:0},!1,"scala.math.Ordering$String$",{Vs:1,c:1,qx:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1});var Nw=void 0;function Te(){Nw||(Nw=(new Mw).b());return Nw}function Ow(){this.sd=null}Ow.prototype=new z;Ow.prototype.constructor=Ow;function Pw(){}Pw.prototype=Ow.prototype;Ow.prototype.A=function(a){return this===a};Ow.prototype.w=function(){return this.sd};Ow.prototype.L=function(){return Ha(this)};function Qw(){}Qw.prototype=new z;Qw.prototype.constructor=Qw;function Rw(){}Rw.prototype=Qw.prototype; function Sw(){this.Eb=this.p=null}Sw.prototype=new rw;Sw.prototype.constructor=Sw;Sw.prototype.b=function(){up.prototype.b.call(this);Tw=this;this.Eb=(new xs).b();return this};Sw.prototype.fa=function(){Xd();Zd();return(new ae).b()};Sw.prototype.$classData=y({Ht:0},!1,"scala.collection.IndexedSeq$",{Ht:1,So:1,Df:1,Cf:1,Od:1,dd:1,c:1,Pd:1,ed:1});var Tw=void 0;function Yd(){Tw||(Tw=(new Sw).b());return Tw}function R(){this.Yc=this.Yg=0;this.Gb=null}R.prototype=new Ft;R.prototype.constructor=R; R.prototype.M=function(){this.Yc>=this.Yg&&ek().Gd.M();var a=this.Gb.i(this.Yc);this.Yc=1+this.Yc|0;return a};function Q(a,b,c,e){a.Yg=e;if(null===b)throw Rj(Sj(),null);a.Gb=b;a.Yc=c;return a}R.prototype.U=function(){return this.Yc =a?Q(new R,this.Gb,this.Yc,this.Yg):(this.Yc+a|0)>=this.Yg?Q(new R,this.Gb,this.Yg,this.Yg):Q(new R,this.Gb,this.Yc+a|0,this.Yg)}; -R.prototype.$classData=y({Jt:0},!1,"scala.collection.IndexedSeqLike$Elements",{Jt:1,Ad:1,c:1,qd:1,Q:1,P:1,ux:1,k:1,f:1});function Uw(){}Uw.prototype=new Ou;Uw.prototype.constructor=Uw;Uw.prototype.b=function(){return this};function Vw(a,b,c,e,f,g){var h=31&(b>>>g|0),k=31&(e>>>g|0);if(h!==k)return a=1< >>g|0),k=31&(e>>>g|0);if(h!==k)return a=1< >24};d.wj=function(a,b){return((a|0)%(b|0)|0)<<24>>24};d.me=function(a,b){return 0<=this.R(a,b)};d.kf=function(a,b){return((a|0)+(b|0)|0)<<24>>24}; -d.qe=function(a,b){return 0>this.R(a,b)};d.le=function(a,b){return 0 >24};d.Rh=function(a,b){return((a|0)/(b|0)|0)<<24>>24};d.R=function(a,b){return(a|0)-(b|0)|0};d.rh=function(a){return a|0};d.Wc=function(a){return a<<24>>24};d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({As:0},!1,"scala.math.Numeric$ByteIsIntegral$",{As:1,c:1,jx:1,qk:1,rk:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1,Ks:1});var Is=void 0;function By(){}By.prototype=new z; +d.qe=function(a,b){return 0>this.R(a,b)};d.le=function(a,b){return 0 >24};d.Rh=function(a,b){return((a|0)/(b|0)|0)<<24>>24};d.R=function(a,b){return(a|0)-(b|0)|0};d.rh=function(a){return a|0};d.Wc=function(a){return a<<24>>24};d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({As:0},!1,"scala.math.Numeric$ByteIsIntegral$",{As:1,c:1,jx:1,qk:1,rk:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1,Ks:1});var Is=void 0;function By(){}By.prototype=new z; By.prototype.constructor=By;d=By.prototype;d.b=function(){return this};d.Dg=function(a,b){return(new M).aa(65535&((null===a?0:a.ca)-(null===b?0:b.ca)|0))};d.wj=function(a,b){return(new M).aa(65535&((null===a?0:a.ca)%(null===b?0:b.ca)|0))};d.me=function(a,b){return 0<=this.R(a,b)};d.kf=function(a,b){return(new M).aa(65535&((null===a?0:a.ca)+(null===b?0:b.ca)|0))};d.qe=function(a,b){return 0>this.R(a,b)};d.le=function(a,b){return 0 =this.R(a,b)};d.$classData=y({Bs:0},!1,"scala.math.Numeric$CharIsIntegral$",{Bs:1,c:1,kx:1,qk:1,rk:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1,Ms:1});var Cy=void 0; +d.qh=function(a,b){a=65535&r(null===a?0:a.ca,null===b?0:b.ca);return(new M).aa(a)};d.Rh=function(a,b){return(new M).aa(65535&((null===a?0:a.ca)/(null===b?0:b.ca)|0))};d.R=function(a,b){return(null===a?0:a.ca)-(null===b?0:b.ca)|0};d.rh=function(a){return null===a?0:a.ca};d.Wc=function(a){return(new M).aa(65535&a)};d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({Bs:0},!1,"scala.math.Numeric$CharIsIntegral$",{Bs:1,c:1,kx:1,qk:1,rk:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1,Ms:1});var Cy=void 0; function Zf(){Cy||(Cy=(new By).b());return Cy}function Dy(){}Dy.prototype=new z;Dy.prototype.constructor=Dy;d=Dy.prototype;d.b=function(){return this};d.Dg=function(a,b){return(a|0)-(b|0)|0};d.wj=function(a,b){return(a|0)%(b|0)|0};d.me=function(a,b){return 0<=this.R(a,b)};d.kf=function(a,b){return(a|0)+(b|0)|0};d.qe=function(a,b){return 0>this.R(a,b)};d.le=function(a,b){return 0 =this.R(a,b)};d.$classData=y({Cs:0},!1,"scala.math.Numeric$IntIsIntegral$",{Cs:1,c:1,lx:1,qk:1,rk:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1,Ps:1});var Ey=void 0;function xp(){Ey||(Ey=(new Dy).b());return Ey}function Ps(){}Ps.prototype=new z;Ps.prototype.constructor=Ps;d=Ps.prototype;d.b=function(){return this}; +d.R=function(a,b){a|=0;b|=0;return a===b?0:a=this.R(a,b)};d.$classData=y({Cs:0},!1,"scala.math.Numeric$IntIsIntegral$",{Cs:1,c:1,lx:1,qk:1,rk:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1,Ps:1});var Ey=void 0;function xp(){Ey||(Ey=(new Dy).b());return Ey}function Ps(){}Ps.prototype=new z;Ps.prototype.constructor=Ps;d=Ps.prototype;d.b=function(){return this}; d.Dg=function(a,b){var c=Ra(a);a=c.va;var c=c.Oa,e=Ra(b);b=e.va;e=e.Oa;c=(new Mf).r(a,c);b=(new Mf).r(b,e);a=c.va;c=c.Oa;e=b.Oa;b=a-b.va|0;return(new Mf).r(b,(-2147483648^b)>(-2147483648^a)?-1+(c-e|0)|0:c-e|0)};d.wj=function(a,b){var c=Ra(a);a=c.va;var c=c.Oa,e=Ra(b);b=e.va;e=e.Oa;a=(new Mf).r(a,c);b=(new Mf).r(b,e);c=Sa();a=Ts(c,a.va,a.Oa,b.va,b.Oa);return(new Mf).r(a,c.Db)};d.me=function(a,b){return 0<=this.R(a,b)}; d.kf=function(a,b){var c=Ra(a);a=c.va;var c=c.Oa,e=Ra(b);b=e.va;e=e.Oa;c=(new Mf).r(a,c);b=(new Mf).r(b,e);a=c.va;c=c.Oa;e=b.Oa;b=a+b.va|0;return(new Mf).r(b,(-2147483648^b)<(-2147483648^a)?1+(c+e|0)|0:c+e|0)};d.qe=function(a,b){return 0>this.R(a,b)};d.le=function(a,b){return 0 >>16|0,h=65535&e,k=e>>>16|0,l=r(f,h),h=r(g,h),n=r(f,k),f=l+((h+n|0)<<16)|0,l=(l>>>16|0)+n|0;a=(((r(b,c.Oa)+r(a.Oa,e)|0)+r(g,k)|0)+(l>>>16|0)|0)+(((65535&l)+h|0)>>>16|0)|0;return(new Mf).r(f,a)};d.Rh=function(a,b){var c=Ra(a);a=c.va;var c=c.Oa,e=Ra(b);b=e.va;e=e.Oa;a=(new Mf).r(a,c);b=(new Mf).r(b,e);c=Sa();a=Nm(c,a.va,a.Oa,b.va,b.Oa);return(new Mf).r(a,c.Db)}; -d.R=function(a,b){var c=Ra(a);a=c.va;var c=c.Oa,e=Ra(b);b=e.va;e=e.Oa;Sa();return c===e?a===b?0:(-2147483648^a)<(-2147483648^b)?-1:1:c >31)};d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({Ds:0},!1,"scala.math.Numeric$LongIsIntegral$",{Ds:1,c:1,mx:1,qk:1,rk:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1,Rs:1});var Os=void 0;function Fs(){}Fs.prototype=new z;Fs.prototype.constructor=Fs;d=Fs.prototype; +d.R=function(a,b){var c=Ra(a);a=c.va;var c=c.Oa,e=Ra(b);b=e.va;e=e.Oa;Sa();return c===e?a===b?0:(-2147483648^a)<(-2147483648^b)?-1:1:c >31)};d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({Ds:0},!1,"scala.math.Numeric$LongIsIntegral$",{Ds:1,c:1,mx:1,qk:1,rk:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1,Rs:1});var Os=void 0;function Fs(){}Fs.prototype=new z;Fs.prototype.constructor=Fs;d=Fs.prototype; d.b=function(){return this};d.Dg=function(a,b){return((a|0)-(b|0)|0)<<16>>16};d.wj=function(a,b){return((a|0)%(b|0)|0)<<16>>16};d.me=function(a,b){return 0<=this.R(a,b)};d.kf=function(a,b){return((a|0)+(b|0)|0)<<16>>16};d.qe=function(a,b){return 0>this.R(a,b)};d.le=function(a,b){return 0 >16};d.Rh=function(a,b){return((a|0)/(b|0)|0)<<16>>16};d.R=function(a,b){return(a|0)-(b|0)|0};d.rh=function(a){return a|0};d.Wc=function(a){return a<<16>>16}; -d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({Es:0},!1,"scala.math.Numeric$ShortIsIntegral$",{Es:1,c:1,ox:1,qk:1,rk:1,Ne:1,Je:1,Oe:1,Me:1,k:1,f:1,Us:1});var Es=void 0;function Fy(){}Fy.prototype=new z;Fy.prototype.constructor=Fy;function Gy(){}d=Gy.prototype=Fy.prototype;d.Ee=function(a,b){Jg(this,a,b)};d.cc=function(){var a=mg().p;return xt(this,a)};d.oc=function(a,b){return Zg(this,a,b)};d.Jb=function(a){return this.Ic("",a,"")};d.Ic=function(a,b,c){return he(this,a,b,c)}; +d.Jd=function(a,b){return 0>=this.R(a,b)};d.$classData=y({Es:0},!1,"scala.math.Numeric$ShortIsIntegral$",{Es:1,c:1,ox:1,qk:1,rk:1,Ne:1,Ie:1,Oe:1,Me:1,k:1,f:1,Us:1});var Es=void 0;function Fy(){}Fy.prototype=new z;Fy.prototype.constructor=Fy;function Gy(){}d=Gy.prototype=Fy.prototype;d.De=function(a,b){Jg(this,a,b)};d.cc=function(){var a=mg().p;return xt(this,a)};d.oc=function(a,b){return Zg(this,a,b)};d.Jb=function(a){return this.Ic("",a,"")};d.Ic=function(a,b,c){return he(this,a,b,c)}; d.Bd=function(a){return rc(new sc,this,a)};d.w=function(){return Mv(this)};d.Of=function(a,b){return El(this,a,b)};d.Zd=function(){return Tf(this)};d.$e=function(){Zd();var a=Yd().Eb;return xt(this,a)};d.Pc=function(a){return this.Yd(a,!1)};d.lc=function(){var a=Gt().p;return xt(this,a)};d.Yd=function(a,b){return Nv(this,a,b)};d.ad=function(){return this.Jb("")};d.ub=function(a,b){return zr(this,a,b)};d.Lc=function(){return-1};d.ee=function(a){return Il(this,a)};d.nb=function(){return Ov(this)}; -d.z=function(){return Pv(this)};d.Vd=function(a,b,c,e){return Kl(this,a,b,c,e)};d.dc=function(){return this.Tb()};d.de=function(a){return Ll(this,a)};d.Bc=function(){var a=Uh(),a=Vh(a);return xt(this,a)};d.Kb=function(){return this};d.Cd=function(a,b){return this.Of(a,b)};d.Ie=function(){return!0};d.hd=function(a){var b=Fc(new Gc,Hc());this.K(G(function(a,b,f){return function(a){return f.da(a)}}(this,a,b)));return b.sa};d.ia=function(a,b){return Qd(this,a,b)};d.jd=function(a){return Ml(this,a)}; +d.z=function(){return Pv(this)};d.Vd=function(a,b,c,e){return Kl(this,a,b,c,e)};d.dc=function(){return this.Tb()};d.de=function(a){return Ll(this,a)};d.Bc=function(){var a=Uh(),a=Vh(a);return xt(this,a)};d.Kb=function(){return this};d.Cd=function(a,b){return this.Of(a,b)};d.He=function(){return!0};d.hd=function(a){var b=Fc(new Gc,Hc());this.K(G(function(a,b,f){return function(a){return f.da(a)}}(this,a,b)));return b.sa};d.ia=function(a,b){return Qd(this,a,b)};d.jd=function(a){return Ml(this,a)}; d.uo=function(){return!this.h()};d.Jc=function(a){return Nl(this,a)};d.fa=function(){return this.Ub().fa()};d.Mc=function(){return Sv(this)};function be(a){a=a.m();return(new Di).Ib(0,a,1)}function Oe(a,b,c){c=c.ld(a.Kb());c.eb(a.sc());c.da(b);return c.X()} function Hy(a,b){var c=a.m(),e=a.fa();if(1===c)e.eb(a);else if(1 =a.Ra(1))return a.Kb();for(var c=a.fa(),e=(new Hx).b(),f=a.ba(),g=!1;f.U();){var h=f.M();Hm(e,h)?c.da(h):g=!0}return g||!b?c.X():a.Kb()}function mh(a,b){b=Jy(a,b.sf());var c=a.fa();a.K(G(function(a,b,c){return function(a){var e=b.l(a)|0;0===e?a=c.da(a):(Ky(b,a,-1+e|0),a=void 0);return a}}(a,b,c)));return c.X()}function Jy(a,b){var c=Ly();b.K(G(function(a,b){return function(a){var c=1+(b.l(a)|0)|0;Ky(b,a,c)}}(a,c)));return c} @@ -663,80 +663,80 @@ function rg(a,b){a=a.il(b);if(0>b||a.h())throw(new gp).e(""+b);return a.t()}func function cz(a,b){for(;!a.h();){if(b.l(a.t()))return(new J).g(a.t());a=a.z()}return F()}function $h(a){for(var b=0;!a.h();)b=1+b|0,a=a.z();return b}function dz(a){if(a.h())throw(new V).b();for(var b=a.z();!b.h();)a=b,b=b.z();return a.t()}function ez(a,b){for(;!a.h();){if(T(U(),a.t(),b))return!0;a=a.z()}return!1}function fz(a,b){return 0<=b&&0<(0>b?1:qg(a,b))}function qg(a,b){var c=0;for(;;){if(c===b)return a.h()?0:1;if(a.h())return-1;c=1+c|0;a=a.z()}} function gz(a,b){if(a.h())throw(new Jl).e("empty.reduceLeft");return a.z().Of(a.t(),b)}function hz(a){var b=(new lv).Ab(a.s());a.K(G(function(a,b){return function(a){return iz(b,a)}}(a,b)));return b}function Ah(a){if(a.h())return Gk().Sk.zh;Gk();var b=(new ae).b();a.K(G(function(a,b){return function(a){return b.da(a)}}(a,b)));return ge(b)}function jz(a,b){return b.Ga().Cd(a,Vi(function(){return function(a,b){return a.bf(b)}}(a)))} function kz(a){var b=(new lv).Ab(a.s());a.K(G(function(a,b){return function(a){return iz(b,a)}}(a,b)));return b}function lz(a,b,c,e,f){var g=a.ba();a=(new Gu).jj(g,G(function(){return function(a){if(null!==a){var b=a.N();a=a.ea();Nj||(Nj=(new Mj).b());return""+(""+b+" -\x3e ")+a}throw(new C).g(a);}}(a)));return Kl(a,b,c,e,f)}function Re(a){if(a.h())return Gk().Sk.zh;Gk();var b=(new ae).b();a.K(G(function(a,b){return function(a){return b.da(a)}}(a,b)));return ge(b)} -function mz(a,b){var c=(new Ri).g(a);a.K(G(function(a,b,c){return function(a){b.l(a)&&(c.H=c.H.ud(a.N()))}}(a,b,c)));return c.H}function nz(a,b,c){return a.Ta(b,O(function(a,b,c){return function(){return c.l(b)}}(a,b,c)))}function oz(a,b){return b.Ga().Cd(a,Vi(function(){return function(a,b){return a.kd(b)}}(a)))}function We(a){return Do(a)?a.Yx():a} +function mz(a,b){var c=(new Ri).g(a);a.K(G(function(a,b,c){return function(a){b.l(a)&&(c.H=c.H.td(a.N()))}}(a,b,c)));return c.H}function nz(a,b,c){return a.Ta(b,O(function(a,b,c){return function(){return c.l(b)}}(a,b,c)))}function oz(a,b){return b.Ga().Cd(a,Vi(function(){return function(a,b){return a.kd(b)}}(a)))}function We(a){return Do(a)?a.Yx():a} function Fv(a){if(null!==a){var b=a.toLowerCase();if("true"===b)return!0;if("false"===b)return!1;throw(new tb).e('For input string: "'+a+'"');}throw(new tb).e('For input string: "null"');}function pz(a,b,c){b=0=e)return a.fa().X();c=a.fa();a=a.w().substring(b,e);return c.eb((new E).e(a)).X()}function ej(a,b){a=a.w();b=97<=b&&122>=b||65<=b&&90>=b||48<=b&&57>=b?m.String.fromCharCode(b):"\\"+(new M).aa(b);return sd(w(),a,b,0)} -function Gb(a){var b=(new Id).b(),c=new Vu;if(null===a)throw Rj(Sj(),null);c.Gb=a;c.dm=a.w();c.nj=c.dm.length|0;for(c.Yc=0;c.U();){a=Wu(c);for(var e=a.length|0,f=0;;)if(f =(65535&(a.charCodeAt(f)|0)))f=1+f|0;else break;a=f =(65535&(a.charCodeAt(f)|0)))f=1+f|0;else break;a=f =b)){c.ie(b,this);var e=0;for(a=this.ba().hl(a);ea?0:a)|0);for(var c=0,e=this.ba();ca)a=1;else{for(var b=0,c=this.ba();c.U();){if(b===a){a=c.U()?1:0;break a}c.M();b=1+b|0}a=b-a|0}return a};d.Fc=function(){return be(this)};d.h=function(){return 0===this.Ra(0)};d.ok=function(a){return Ej(this,a)};d.A=function(a){return Cu(this,a)};d.Pi=function(a,b){return Oe(this,a,b)};d.w=function(){return Mv(this)};d.Zc=function(a,b){a:{var c=0>>c|0)),f=Gm(Bg(),this.wd&(-1+e|0));if(0!==(this.wd&e)){e=this.Hb.a[f];a=e.Lj(a,b,5+c|0);if(e===a)return this;b=u(B(Ww),[this.Hb.a.length]);zf(P(),this.Hb,0,b,0,this.Hb.a.length);b.a[f]=a;return Xw(new Yw,this.wd,b,this.Hf+(a.s()-e.s()|0)|0)}c=u(B(Ww),[1+this.Hb.a.length|0]);zf(P(),this.Hb,0,c,0,f);c.a[f]=bA(new cA,a,b);zf(P(),this.Hb,f,c,1+f|0,this.Hb.a.length-f|0);return Xw(new Yw,this.wd|e,c,1+this.Hf|0)}; +function Zw(){lA||(lA=(new kA).b());return lA}function Yw(){this.vd=0;this.Hb=null;this.Hf=0}Yw.prototype=new aA;Yw.prototype.constructor=Yw;d=Yw.prototype; +d.Lj=function(a,b,c){var e=1<<(31&(b>>>c|0)),f=Gm(Bg(),this.vd&(-1+e|0));if(0!==(this.vd&e)){e=this.Hb.a[f];a=e.Lj(a,b,5+c|0);if(e===a)return this;b=u(B(Ww),[this.Hb.a.length]);zf(P(),this.Hb,0,b,0,this.Hb.a.length);b.a[f]=a;return Xw(new Yw,this.vd,b,this.Hf+(a.s()-e.s()|0)|0)}c=u(B(Ww),[1+this.Hb.a.length|0]);zf(P(),this.Hb,0,c,0,f);c.a[f]=bA(new cA,a,b);zf(P(),this.Hb,f,c,1+f|0,this.Hb.a.length-f|0);return Xw(new Yw,this.vd|e,c,1+this.Hf|0)}; d.K=function(a){for(var b=0;b >>c|0)),f=Gm(Bg(),this.wd&(-1+e|0));if(0!==(this.wd&e)){var g=this.Hb.a[f];a=g.xj(a,b,5+c|0);return g===a?this:null===a?(e^=this.wd,0!==e?(a=u(B(Ww),[-1+this.Hb.a.length|0]),zf(P(),this.Hb,0,a,0,f),zf(P(),this.Hb,1+f|0,a,f,-1+(this.Hb.a.length-f|0)|0),f=this.Hf-g.s()|0,1!==a.a.length||$u(a.a[0])?Xw(new Yw,e,a,f):a.a[0]):null):1!==this.Hb.a.length||$u(a)?(e=u(B(Ww),[this.Hb.a.length]),zf(P(),this.Hb,0,e,0,this.Hb.a.length),e.a[f]=a,f=this.Hf+(a.s()-g.s()|0)|0,Xw(new Yw, -this.wd,e,f)):a}return this}; -d.vi=function(a,b,c,e){if(a===this)return this;if(a&&a.$classData&&a.$classData.q.Xo)return a.vi(this,b,c,e);if($u(a)){var f=this.Hb,g=this.wd,h=0,k=a.Hb,l=a.wd,n=0;if(0===(g&l))return null;for(var p=e,t=0,q=0;0!==(g&l);){var x=g^g&(-1+g|0),D=l^l&(-1+l|0);if(x===D){var Y=f.a[h].vi(k.a[n],5+b|0,c,p);null!==Y&&(t=t+Y.s()|0,q|=x,c.a[p]=Y,p=1+p|0);g&=~x;h=1+h|0;l&=~D;n=1+n|0}else{var Y=-1+x|0,X=-1+D|0;Y Y!==0>X?(g&=~x,h=1+h|0):(l&=~D,n=1+n|0)}}if(0===q)return null;if(t===this.Hf)return this;if(t=== -a.Hf)return a;a=p-e|0;return 1!==a||$u(c.a[e])?(b=u(B(Ww),[a]),Na(c,e,b,0,a),Xw(new Yw,q,b,t)):c.a[e]}return null};function Xw(a,b,c,e){a.wd=b;a.Hb=c;a.Hf=e;jr(dc(),Gm(Bg(),b)===c.a.length);return a} -d.gj=function(a,b,c,e,f){for(var g=f,h=0,k=0,l=0;l >>1|0;k=e}return Xw(new Yw,k,a,h)}return e.a[f]}; -d.eg=function(a,b,c){var e=31&(b>>>c|0),f=1< >>c|0)),f=Gm(Bg(),this.vd&(-1+e|0));if(0!==(this.vd&e)){var g=this.Hb.a[f];a=g.xj(a,b,5+c|0);return g===a?this:null===a?(e^=this.vd,0!==e?(a=u(B(Ww),[-1+this.Hb.a.length|0]),zf(P(),this.Hb,0,a,0,f),zf(P(),this.Hb,1+f|0,a,f,-1+(this.Hb.a.length-f|0)|0),f=this.Hf-g.s()|0,1!==a.a.length||$u(a.a[0])?Xw(new Yw,e,a,f):a.a[0]):null):1!==this.Hb.a.length||$u(a)?(e=u(B(Ww),[this.Hb.a.length]),zf(P(),this.Hb,0,e,0,this.Hb.a.length),e.a[f]=a,f=this.Hf+(a.s()-g.s()|0)|0,Xw(new Yw, +this.vd,e,f)):a}return this}; +d.vi=function(a,b,c,e){if(a===this)return this;if(a&&a.$classData&&a.$classData.q.Xo)return a.vi(this,b,c,e);if($u(a)){var f=this.Hb,g=this.vd,h=0,k=a.Hb,l=a.vd,n=0;if(0===(g&l))return null;for(var p=e,t=0,q=0;0!==(g&l);){var x=g^g&(-1+g|0),D=l^l&(-1+l|0);if(x===D){var Y=f.a[h].vi(k.a[n],5+b|0,c,p);null!==Y&&(t=t+Y.s()|0,q|=x,c.a[p]=Y,p=1+p|0);g&=~x;h=1+h|0;l&=~D;n=1+n|0}else{var Y=-1+x|0,X=-1+D|0;Y Y!==0>X?(g&=~x,h=1+h|0):(l&=~D,n=1+n|0)}}if(0===q)return null;if(t===this.Hf)return this;if(t=== +a.Hf)return a;a=p-e|0;return 1!==a||$u(c.a[e])?(b=u(B(Ww),[a]),Na(c,e,b,0,a),Xw(new Yw,q,b,t)):c.a[e]}return null};function Xw(a,b,c,e){a.vd=b;a.Hb=c;a.Hf=e;jr(dc(),Gm(Bg(),b)===c.a.length);return a} +d.gj=function(a,b,c,e,f){for(var g=f,h=0,k=0,l=0;l >>1|0;k=e}return Xw(new Yw,k,a,h)}return e.a[f]}; +d.eg=function(a,b,c){var e=31&(b>>>c|0),f=1< a||a>=aB(this))throw(new gp).e(""+a);return $A(this,a)};d.l=function(a){return this.i(a|0)};d.qc=function(){return this}; d.h=function(){return 0===aB(this)};d.cb=function(){return this};d.A=function(a){return a&&a.$classData&&a.$classData.q.Zo?aB(this)===aB(a)&&(0===aB(this)||T(U(),this.Sa,a.Sa)&&T(U(),this.nb(),a.nb())):Cu(this,a)};d.w=function(){var a=this.h()?"empty ":"",b=this.sl?"to":"until",c=T(U(),this.Ha,1)?"":" by "+this.Ha;return a+"NumericRange "+this.Sa+" "+b+" "+this.gf+c};d.Ub=function(){return Xd()};d.K=function(a){for(var b=0,c=this.Sa;b >24&&0===(1&a.Wd)<<24>>24&&(a.wo=yp(Yf(),a.Sa,a.gf,a.Ha,a.sl,a.vc),a.Wd=(1|a.Wd)<<24>>24);return a.wo}d.ba=function(){return Q(new R,this,0,aB(this))};d.sf=function(){return this};d.m=function(){return aB(this)};d.Lc=function(){return aB(this)};d.ee=function(a){if(a===this.vc)var b=!0;else b=Yf().bl.Xc(this.vc),b.h()?b=!1:(b=b.v(),b=a===b);return b?0 =a||0===aB(this)?a=this:a>=aB(this)?(a=this.gf,Yf(),a=(new bB).ij(a,a,this.Ha,this.vc)):a=this.cn($A(this,a),this.gf,this.Ha);return a};d.nb=function(){if(0===(2&this.Wd)<<24>>24&&0===(2&this.Wd)<<24>>24){if(0===aB(this))var a=I(),a=dz(a);else a=$A(this,-1+aB(this)|0);this.ko=a;this.Wd=(2|this.Wd)<<24>>24}return this.ko};d.Pn=function(a,b,c,e,f){this.Sa=a;this.gf=b;this.Ha=c;this.sl=e;this.vc=f;return this};d.sc=function(){return this}; d.Y=function(a){try{var b;var c;if(this.h())c=!1;else{var e=Xj(this.vc,this.Ha),f=this.vc.Wc(0);if(e.ab.le(e.Cg,f)&&Yj(Xj(this.vc,this.Sa),a)&&Yj(Xj(this.vc,a),this.nb()))c=!0;else{if(Wj(Xj(this.vc,this.Ha),this.vc.Wc(0)))var g=this.vc,h=this.nb(),k=Yj(Xj(g,h),a);else k=!1;c=k?Yj(Xj(this.vc,a),this.Sa):!1}}if(c){U();var l=this.vc,n,p=jp(this.vc,a);n=p.ab.Dg(p.Cg,this.Sa);var t,q=jp(l,n);t=q.ab.wj(q.no,this.Ha);b=T(0,t,this.vc.Wc(0))}else b=!1;return b}catch(x){if(qu(x))return!1;throw x;}};d.dc=function(){return this}; -d.de=function(a){if(a===this.vc)var b=!0;else b=Yf().bl.Xc(this.vc),b.h()?b=!1:(b=b.v(),b=a===b);return b?0 >24&&0===(4&this.Wd)<<24>>24&&(this.Ln=mp(ll(),this),this.Wd=(4|this.Wd)<<24>>24);return this.Ln};function XA(){}XA.prototype=new Mz;XA.prototype.constructor=XA;function cB(){}d=cB.prototype=XA.prototype;d.Ga=function(){return this}; -d.Zf=function(a){return this.ql(ml(S(),a))};d.b=function(){return this};d.cb=function(){return this};d.Li=function(a,b,c,e,f){return dB(a,b,e,f)};d.qi=function(){return F()};d.kd=function(a){return eB(this,a)};d.K=function(){};function eB(a,b){return a.Li(b.N(),a.Zf(b.N()),0,b.ea(),b,null)}function WA(a,b,c){return a.Li(b,a.Zf(b),0,c,null,null)}d.ud=function(a){return this.Ci(a,this.Zf(a),0)};d.mi=function(){od();return Rg()};d.Ci=function(){return this};d.pi=function(){return null}; +d.de=function(a){if(a===this.vc)var b=!0;else b=Yf().bl.Xc(this.vc),b.h()?b=!1:(b=b.v(),b=a===b);return b?0 >24&&0===(4&this.Wd)<<24>>24&&(this.Ln=mp(ll(),this),this.Wd=(4|this.Wd)<<24>>24);return this.Ln};function XA(){}XA.prototype=new Mz;XA.prototype.constructor=XA;function cB(){}d=cB.prototype=XA.prototype;d.Ga=function(){return this}; +d.Zf=function(a){return this.ql(ml(S(),a))};d.b=function(){return this};d.cb=function(){return this};d.Li=function(a,b,c,e,f){return dB(a,b,e,f)};d.qi=function(){return F()};d.kd=function(a){return eB(this,a)};d.K=function(){};function eB(a,b){return a.Li(b.N(),a.Zf(b.N()),0,b.ea(),b,null)}function WA(a,b,c){return a.Li(b,a.Zf(b),0,c,null,null)}d.td=function(a){return this.Ci(a,this.Zf(a),0)};d.mi=function(){od();return Rg()};d.Ci=function(){return this};d.pi=function(){return null}; d.Pc=function(a){od();var b=6+this.s()|0,b=u(B(vw),[224>b?b:224]);od();a=this.pi(a,!1,0,b,0);return null===a?Rg():a};d.kl=function(){od();return Rg()};d.s=function(){return 0};d.Ej=function(){return this};d.ba=function(){return ek().Gd};d.gm=function(){var a=this.t().N();return this.Ci(a,this.Zf(a),0)};d.ql=function(a){a=a+~(a<<9)|0;a^=a>>>14|0;a=a+(a<<4)|0;return a^(a>>>10|0)};d.Xc=function(a){return this.qi(a,this.Zf(a),0)};d.hi=function(){return!1};d.Y=function(a){return this.hi(a,this.Zf(a),0)}; -d.z=function(){return this.gm()};d.In=function(a){od();var b=6+this.s()|0,b=u(B(vw),[224>b?b:224]);od();a=this.pi(a,!0,0,b,0);return null===a?Rg():a};d.Xf=function(a){return eB(this,a)};var vw=y({Bj:0},!1,"scala.collection.immutable.HashMap",{Bj:1,Tf:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ve:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Ef:1,ib:1,lb:1,kb:1,Ff:1,k:1,f:1,hb:1});XA.prototype.$classData=vw;function cA(){this.Hc=null;this.gb=0}cA.prototype=new nA; +d.z=function(){return this.gm()};d.In=function(a){od();var b=6+this.s()|0,b=u(B(vw),[224>b?b:224]);od();a=this.pi(a,!0,0,b,0);return null===a?Rg():a};d.Xf=function(a){return eB(this,a)};var vw=y({Bj:0},!1,"scala.collection.immutable.HashMap",{Bj:1,Tf:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ue:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Ef:1,ib:1,lb:1,kb:1,Ff:1,k:1,f:1,hb:1});XA.prototype.$classData=vw;function cA(){this.Hc=null;this.gb=0}cA.prototype=new nA; cA.prototype.constructor=cA;d=cA.prototype;d.Lj=function(a,b,c){if(b===this.gb&&T(U(),a,this.Hc))return this;if(b!==this.gb)return Vw(ax(),this.gb,this,b,bA(new cA,a,b),c);c=ex();return fB(new gB,b,Pz(new Qz,c,this.Hc).Zh(a))};d.K=function(a){a.l(this.Hc)};function bA(a,b,c){a.Hc=b;a.gb=c;return a}d.s=function(){return 1};d.ba=function(){ek();var a=(new L).xa([this.Hc]);return Q(new R,a,0,a.o.length|0)};d.xj=function(a,b){return b===this.gb&&T(U(),a,this.Hc)?null:this}; d.vi=function(a,b){return a.eg(this.Hc,this.gb,b)?this:null};d.gj=function(a,b){return b!==!!a.l(this.Hc)?this:null};d.eg=function(a,b){return b===this.gb&&T(U(),a,this.Hc)};d.Gj=function(a,b){return a.eg(this.Hc,this.gb,b)};d.$classData=y({Vo:0},!1,"scala.collection.immutable.HashSet$HashSet1",{Vo:1,Xo:1,Uh:1,Bf:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Ve:1,ra:1,Se:1,mf:1,pf:1,nf:1,Lb:1,Gf:1,ib:1,lb:1,kb:1,hb:1,k:1,f:1}); -function gB(){this.gb=0;this.Ke=null}gB.prototype=new nA;gB.prototype.constructor=gB;d=gB.prototype;d.Lj=function(a,b,c){return b===this.gb?fB(new gB,b,this.Ke.Zh(a)):Vw(ax(),this.gb,this,b,bA(new cA,a,b),c)};d.K=function(a){var b=Rz(this.Ke);np(ai(b),a)};d.s=function(){return this.Ke.s()};d.ba=function(){var a=Rz(this.Ke);return ai(a)}; -d.xj=function(a,b){if(b===this.gb){a=this.Ke.nm(a);var c=a.s();switch(c){case 0:return null;case 1:return a=Rz(a),bA(new cA,ai(a).M(),b);default:return c===this.Ke.s()?this:fB(new gB,b,a)}}else return this};d.vi=function(a,b){for(var c=this.Ke,e=bg(new cg,ex()),c=Rz(c),c=ai(c);c.U();){var f=c.M();!1!==a.eg(f,this.gb,b)&&dg(e,f)}b=e.sa;e=b.s();return 0===e?null:e===this.Ke.s()?this:e===a.s()?a:1===e?(a=Rz(b),bA(new cA,ai(a).M(),this.gb)):fB(new gB,this.gb,b)}; -function fB(a,b,c){a.gb=b;a.Ke=c;return a}d.gj=function(a,b){a=b?Nv(this.Ke,a,!0):Nv(this.Ke,a,!1);b=a.s();switch(b){case 0:return null;case 1:return a=Rz(a),bA(new cA,ai(a).M(),this.gb);default:return b===this.Ke.s()?this:fB(new gB,this.gb,a)}};d.eg=function(a,b){return b===this.gb&&this.Ke.Y(a)};d.Gj=function(a,b){for(var c=Rz(this.Ke),c=ai(c),e=!0;e&&c.U();)e=c.M(),e=a.eg(e,this.gb,b);return e}; +function gB(){this.gb=0;this.Je=null}gB.prototype=new nA;gB.prototype.constructor=gB;d=gB.prototype;d.Lj=function(a,b,c){return b===this.gb?fB(new gB,b,this.Je.Zh(a)):Vw(ax(),this.gb,this,b,bA(new cA,a,b),c)};d.K=function(a){var b=Rz(this.Je);np(ai(b),a)};d.s=function(){return this.Je.s()};d.ba=function(){var a=Rz(this.Je);return ai(a)}; +d.xj=function(a,b){if(b===this.gb){a=this.Je.nm(a);var c=a.s();switch(c){case 0:return null;case 1:return a=Rz(a),bA(new cA,ai(a).M(),b);default:return c===this.Je.s()?this:fB(new gB,b,a)}}else return this};d.vi=function(a,b){for(var c=this.Je,e=bg(new cg,ex()),c=Rz(c),c=ai(c);c.U();){var f=c.M();!1!==a.eg(f,this.gb,b)&&dg(e,f)}b=e.sa;e=b.s();return 0===e?null:e===this.Je.s()?this:e===a.s()?a:1===e?(a=Rz(b),bA(new cA,ai(a).M(),this.gb)):fB(new gB,this.gb,b)}; +function fB(a,b,c){a.gb=b;a.Je=c;return a}d.gj=function(a,b){a=b?Nv(this.Je,a,!0):Nv(this.Je,a,!1);b=a.s();switch(b){case 0:return null;case 1:return a=Rz(a),bA(new cA,ai(a).M(),this.gb);default:return b===this.Je.s()?this:fB(new gB,this.gb,a)}};d.eg=function(a,b){return b===this.gb&&this.Je.Y(a)};d.Gj=function(a,b){for(var c=Rz(this.Je),c=ai(c),e=!0;e&&c.U();)e=c.M(),e=a.eg(e,this.gb,b);return e}; d.$classData=y({ou:0},!1,"scala.collection.immutable.HashSet$HashSetCollision1",{ou:1,Xo:1,Uh:1,Bf:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Ve:1,ra:1,Se:1,mf:1,pf:1,nf:1,Lb:1,Gf:1,ib:1,lb:1,kb:1,hb:1,k:1,f:1});function hB(){}hB.prototype=new pA;hB.prototype.constructor=hB;hB.prototype.b=function(){return this}; -hB.prototype.$classData=y({vu:0},!1,"scala.collection.immutable.ListMap$EmptyListMap$",{vu:1,uu:1,Tf:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ve:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Ef:1,ib:1,lb:1,kb:1,Ff:1,k:1,f:1});var iB=void 0;function qA(){iB||(iB=(new hB).b());return iB}function uA(){this.pm=this.Kg=this.Hc=null}uA.prototype=new pA;uA.prototype.constructor=uA; -function jB(a,b){var c=I();for(;;){if(b.h())return dz(c);if(T(U(),a,b.Lh())){b=b.fh();for(a=c;!a.h();)c=a.t(),b=tA(new uA,b,c.Lh(),c.Mj()),a=a.z();return b}var e=b.fh(),c=og(new pg,b,c);b=e}}d=uA.prototype;d.l=function(a){a:{var b=this;for(;;){if(b.h())throw(new V).e("key not found: "+a);if(T(U(),a,b.Lh())){a=b.Mj();break a}b=b.fh()}}return a};d.Mj=function(){return this.Kg};d.h=function(){return!1};d.kd=function(a){return this.th(a)};d.ud=function(a){return jB(a,this)}; +hB.prototype.$classData=y({vu:0},!1,"scala.collection.immutable.ListMap$EmptyListMap$",{vu:1,uu:1,Tf:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ue:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Ef:1,ib:1,lb:1,kb:1,Ff:1,k:1,f:1});var iB=void 0;function qA(){iB||(iB=(new hB).b());return iB}function uA(){this.pm=this.Kg=this.Hc=null}uA.prototype=new pA;uA.prototype.constructor=uA; +function jB(a,b){var c=I();for(;;){if(b.h())return dz(c);if(T(U(),a,b.Lh())){b=b.fh();for(a=c;!a.h();)c=a.t(),b=tA(new uA,b,c.Lh(),c.Mj()),a=a.z();return b}var e=b.fh(),c=og(new pg,b,c);b=e}}d=uA.prototype;d.l=function(a){a:{var b=this;for(;;){if(b.h())throw(new V).e("key not found: "+a);if(T(U(),a,b.Lh())){a=b.Mj();break a}b=b.fh()}}return a};d.Mj=function(){return this.Kg};d.h=function(){return!1};d.kd=function(a){return this.th(a)};d.td=function(a){return jB(a,this)}; d.s=function(){a:{var a=this,b=0;for(;;){if(a.h())break a;a=a.fh();b=1+b|0}}return b};d.Lh=function(){return this.Hc};d.th=function(a){var b=jB(a.N(),this);return tA(new uA,b,a.N(),a.ea())};d.lm=function(a,b){var c=jB(a,this);return tA(new uA,c,a,b)};d.Ik=function(a){return jB(a,this)};d.Xc=function(a){a:{var b=this;for(;;){if(b.h()){a=F();break a}if(T(U(),a,b.Lh())){a=(new J).g(b.Mj());break a}b=b.fh()}}return a};d.nb=function(){return(new K).j(this.Hc,this.Kg)}; function tA(a,b,c,e){a.Hc=c;a.Kg=e;if(null===b)throw Rj(Sj(),null);a.pm=b;return a}d.Y=function(a){a:{var b=this;for(;;){if(b.h()){a=!1;break a}if(T(U(),a,b.Lh())){a=!0;break a}b=b.fh()}}return a};d.fh=function(){return this.pm};d.Xf=function(a){return this.th(a)}; -d.$classData=y({wu:0},!1,"scala.collection.immutable.ListMap$Node",{wu:1,uu:1,Tf:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ve:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Ef:1,ib:1,lb:1,kb:1,Ff:1,k:1,f:1});function bB(){YA.call(this);this.sj=null}bB.prototype=new ZA;bB.prototype.constructor=bB;bB.prototype.ij=function(a,b,c,e){this.sj=e;YA.prototype.Pn.call(this,a,b,c,!1,e);return this};bB.prototype.cn=function(a,b,c){Yf();return(new bB).ij(a,b,c,this.sj)}; +d.$classData=y({wu:0},!1,"scala.collection.immutable.ListMap$Node",{wu:1,uu:1,Tf:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ue:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Ef:1,ib:1,lb:1,kb:1,Ff:1,k:1,f:1});function bB(){YA.call(this);this.sj=null}bB.prototype=new ZA;bB.prototype.constructor=bB;bB.prototype.ij=function(a,b,c,e){this.sj=e;YA.prototype.Pn.call(this,a,b,c,!1,e);return this};bB.prototype.cn=function(a,b,c){Yf();return(new bB).ij(a,b,c,this.sj)}; bB.prototype.$classData=y({Lu:0},!1,"scala.collection.immutable.NumericRange$Exclusive",{Lu:1,Zo:1,wc:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,xc:1,Va:1,ra:1,jc:1,pb:1,qb:1,Cj:1,kg:1,ib:1,lb:1,kb:1,cd:1,Fb:1,k:1,f:1});function $f(){YA.call(this);this.sj=null}$f.prototype=new ZA;$f.prototype.constructor=$f;$f.prototype.ij=function(a,b,c,e){this.sj=e;YA.prototype.Pn.call(this,a,b,c,!0,e);return this}; -$f.prototype.cn=function(a,b,c){Yf();return(new $f).ij(a,b,c,this.sj)};$f.prototype.$classData=y({Mu:0},!1,"scala.collection.immutable.NumericRange$Inclusive",{Mu:1,Zo:1,wc:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,xc:1,Va:1,ra:1,jc:1,pb:1,qb:1,Cj:1,kg:1,ib:1,lb:1,kb:1,cd:1,Fb:1,k:1,f:1});function Di(){this.Ha=this.gf=this.Sa=0;this.bc=!1;this.we=this.Sf=0}Di.prototype=new Az;Di.prototype.constructor=Di;function kB(){}d=kB.prototype=Di.prototype; +$f.prototype.cn=function(a,b,c){Yf();return(new $f).ij(a,b,c,this.sj)};$f.prototype.$classData=y({Mu:0},!1,"scala.collection.immutable.NumericRange$Inclusive",{Mu:1,Zo:1,wc:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,xc:1,Va:1,ra:1,jc:1,pb:1,qb:1,Cj:1,kg:1,ib:1,lb:1,kb:1,cd:1,Fb:1,k:1,f:1});function Di(){this.Ha=this.gf=this.Sa=0;this.bc=!1;this.ve=this.Sf=0}Di.prototype=new Az;Di.prototype.constructor=Di;function kB(){}d=kB.prototype=Di.prototype; d.Ga=function(){return this};d.yg=function(){return!1};d.t=function(){return this.bc?I().ri():this.Sa};d.i=function(a){return this.Ri(a)};d.tf=function(){return this};d.l=function(a){return this.Ri(a|0)};d.h=function(){return this.bc};d.qc=function(){return this};d.cb=function(){return this};d.A=function(a){if(a&&a.$classData&&a.$classData.q.Ql){if(this.bc)return a.bc;if(!a.h()&&this.Sa===a.Sa){var b=lB(this);return b===lB(a)&&(this.Sa===b||this.Ha===a.Ha)}return!1}return Cu(this,a)}; d.Ri=function(a){0>this.Sf&&ne(oe(),this.Sa,this.gf,this.Ha,this.yg());if(0>a||a>=this.Sf)throw(new gp).e(""+a);return this.Sa+r(this.Ha,a)|0}; d.Ib=function(a,b,c){this.Sa=a;this.gf=b;this.Ha=c;this.bc=a>b&&0 c||a===b&&!this.yg();if(0===c)throw(new tb).e("step cannot be 0.");if(this.bc)a=0;else{var e;e=mB(this);a=e.va;var f=e.Oa,g=this.Ha,h=g>>31;e=Sa();a=Nm(e,a,f,g,h);e=e.Db;g=this.yg()||!nB(this)?1:0;f=g>>31;g=a+g|0;e=(new Mf).r(g,(-2147483648^g)<(-2147483648^a)?1+(e+f|0)|0:e+f|0);a=e.va;e=e.Oa;a=(0===e?-1<(-2147483648^a):0 >31,a=Ts(Sa(),a,e,c,f),b=0!==a?b-a|0:this.yg()?b:b-c|0}this.we=b;return this};d.Ub=function(){return Xd()};d.w=function(){var a=this.yg()?"to":"until",b=1===this.Ha?"":" by "+this.Ha;return(this.bc?"empty ":nB(this)?"":"inexact ")+"Range "+this.Sa+" "+a+" "+this.gf+b};d.K=function(a){if(!this.bc)for(var b=this.Sa;;){a.l(b);if(b===this.we)break;b=b+this.Ha|0}}; +mB(this),a=e.va,e=e.Oa,f=c>>31,a=Ts(Sa(),a,e,c,f),b=0!==a?b-a|0:this.yg()?b:b-c|0}this.ve=b;return this};d.Ub=function(){return Xd()};d.w=function(){var a=this.yg()?"to":"until",b=1===this.Ha?"":" by "+this.Ha;return(this.bc?"empty ":nB(this)?"":"inexact ")+"Range "+this.Sa+" "+a+" "+this.gf+b};d.K=function(a){if(!this.bc)for(var b=this.Sa;;){a.l(b);if(b===this.ve)break;b=b+this.Ha|0}}; d.rc=function(a,b){if(0>=a)a=oB(this,b);else if(b>=this.Sf&&0<=this.Sf)a=pB(this,a);else{var c=this.Sa+r(this.Ha,a)|0;a=a>=b?(new Di).Ib(c,c,this.Ha):(new qB).Ib(c,this.Sa+r(this.Ha,-1+b|0)|0,this.Ha)}return a};d.bn=function(a,b,c){return(new Di).Ib(a,b,c)};d.Rf=function(){return ii(this)};d.s=function(){return this.m()};d.lc=function(){return My(this)};d.ba=function(){return Q(new R,this,0,this.m())};d.m=function(){return 0>this.Sf?ne(oe(),this.Sa,this.gf,this.Ha,this.yg()):this.Sf};d.sf=function(){return this}; d.Lc=function(){return this.m()};function pB(a,b){return 0>=b||a.bc?a:b>=a.Sf&&0<=a.Sf?(b=a.gf,(new Di).Ib(b,b,a.Ha)):a.bn(a.Sa+r(a.Ha,b)|0,a.gf,a.Ha)}function yr(a,b){return(new K).j(oB(a,b),pB(a,b))}d.ee=function(a){return a===td()?0 >31;a=Sa();c=Ts(a,c,b,e,f);b=a.Db;return 0===c&&0===b}d.nb=function(){return lB(this)}; -d.Dc=function(a){return pB(this,a)};d.z=function(){this.bc&&rB(I());return pB(this,1)};d.sc=function(){return this};d.dc=function(){return this};d.de=function(a){return a===td()?0 =b||a.bc?(b=a.Sa,(new Di).Ib(b,b,a.Ha)):b>=a.Sf&&0<=a.Sf?a:(new qB).Ib(a.Sa,a.Sa+r(a.Ha,-1+b|0)|0,a.Ha)}function lB(a){return a.bc?(a=I(),dz(a)|0):a.we}d.yd=function(a){return Du(this,a|0)};d.L=function(){return mp(ll(),this)}; +d.Dc=function(a){return pB(this,a)};d.z=function(){this.bc&&rB(I());return pB(this,1)};d.sc=function(){return this};d.dc=function(){return this};d.de=function(a){return a===td()?0 =b||a.bc?(b=a.Sa,(new Di).Ib(b,b,a.Ha)):b>=a.Sf&&0<=a.Sf?a:(new qB).Ib(a.Sa,a.Sa+r(a.Ha,-1+b|0)|0,a.Ha)}function lB(a){return a.bc?(a=I(),dz(a)|0):a.ve}d.xd=function(a){return Du(this,a|0)};d.L=function(){return mp(ll(),this)}; function mB(a){var b=a.gf,c=b>>31,e=a.Sa;a=e>>31;e=b-e|0;return(new Mf).r(e,(-2147483648^e)>(-2147483648^b)?-1+(c-a|0)|0:c-a|0)}d.$classData=y({Ql:0},!1,"scala.collection.immutable.Range",{Ql:1,wc:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,xc:1,Va:1,ra:1,jc:1,pb:1,qb:1,Cj:1,kg:1,ib:1,lb:1,kb:1,cd:1,Fb:1,hb:1,k:1,f:1});function sB(){}sB.prototype=new Az;sB.prototype.constructor=sB;function tB(){}d=tB.prototype=sB.prototype;d.Ga=function(){return this}; function uB(a){for(var b=pp(),b=(new Ri).g(b),c=a;!c.h();){lk();var e=Xl(Wl(new Vl,O(function(a,b){return function(){return b.H}}(a,b))),c.t());e.z();b.H=e;c=c.z()}return b.H}d.i=function(a){return rg(this,a)};d.tf=function(){return this};d.Ra=function(a){return 0>a?1:qg(this,a)};d.l=function(a){return rg(this,a|0)};d.Rc=function(a){return $y(this,a)};d.Oc=function(a){return Zy(this,a)};d.qc=function(){return this};d.cb=function(){return this}; d.oc=function(a,b){if(bw(b.ld(this))){if(this.h())a=pp();else{b=(new Ri).g(this);for(var c=a.l(b.H.t()).Tb();!b.H.h()&&c.h();)b.H=b.H.z(),b.H.h()||(c=a.l(b.H.t()).Tb());a=b.H.h()?(lk(),pp()):vB(c,O(function(a,b,c){return function(){return c.H.z().oc(b,(lk(),(new Xs).b()))}}(this,a,b)))}return a}return Zg(this,a,b)};d.A=function(a){return this===a||Cu(this,a)};function Kp(a,b,c){for(;!a.h()&&!!b.l(a.t())===c;)a=a.z();return a.h()?pp():ky(lk(),a,b,c)}d.il=function(a){return wB(this,a)}; @@ -835,38 +835,38 @@ d.Of=function(a,b){var c=this;for(;;){if(c.h())return a;var e=c.z();a=Wi(b,a,c.t d.ke=function(){return xB(this,Rc(Uh(),I()),this)};d.ba=function(){return Uu(this)};d.ac=function(a){return cz(this,a)};d.ub=function(a,b){return bw(b.ld(this))?(this.h()?a=a.Tb():(b=this.t(),a=Yl(new Zl,b,O(function(a,b){return function(){return a.z().ub(b,(lk(),(new Xs).b()))}}(this,a)))),a):zr(this,a,b)};d.m=function(){for(var a=0,b=this;!b.h();)a=1+a|0,b=b.z();return a};d.Tc=function(a){var b=lk();return this.Kf(jy(b,0,1),a)};d.ad=function(){return this.Ic("","","")};d.sf=function(){return this}; d.Up=function(a){return yB(this,a)};d.Tb=function(){return this};d.nb=function(){return dz(this)};d.Dc=function(a){return wB(this,a)};function wB(a,b){for(;;){if(0>=b||a.h())return a;a=a.z();b=-1+b|0}}d.sc=function(){return this};d.Y=function(a){return ez(this,a)}; d.Vd=function(a,b,c,e){Jd(a,b);if(!this.h()){Kd(a,this.t());b=this;if(b.Jg()){var f=this.z();if(f.h())return Jd(a,e),a;if(b!==f&&(b=f,f.Jg()))for(f=f.z();b!==f&&f.Jg();)Kd(Jd(a,c),b.t()),b=b.z(),f=f.z(),f.Jg()&&(f=f.z());if(f.Jg()){for(var g=this,h=0;g!==f;)g=g.z(),f=f.z(),h=1+h|0;b===f&&0 =b||a.h())return lk(),pp();if(1===b)return b=a.t(),Yl(new Zl,b,O(function(){return function(){lk();return pp()}}(a)));var c=a.t();return Yl(new Zl,c,O(function(a,b){return function(){return yB(a.z(),-1+b|0)}}(a,b)))}d.Jc=function(a){if(this.h())throw(new Jl).e("empty.reduceLeft");for(var b=this.t(),c=this.z();!c.h();)b=Wi(a,b,c.t()),c=c.z();return b}; function vB(a,b){if(a.h())return cm(b).Tb();var c=a.t();return Yl(new Zl,c,O(function(a,b){return function(){return vB(a.z(),b)}}(a,b)))}d.Mc=function(){return"Stream"};d.Kf=function(a,b){return bw(b.ld(this))?(this.h()||a.h()?a=pp():(b=(new K).j(this.t(),a.t()),a=Yl(new Zl,b,O(function(a,b){return function(){return a.z().Kf(b.z(),(lk(),(new Xs).b()))}}(this,a)))),a):fy(this,a,b)};function zB(a,b){if(b>=a.Rb)throw(new gp).e(""+b);return a.o.a[b]} function AB(a,b){var c=a.o.a.length,e=c>>31,f=b>>31;if(f===e?(-2147483648^b)>(-2147483648^c):f>e){f=c<<1;for(c=c>>>31|0|e<<1;;){var e=b>>31,g=f,h=c;if(e===h?(-2147483648^b)>(-2147483648^g):e>h)c=f>>>31|0|c<<1,f<<=1;else break}b=c;if(0===b?-1<(-2147483648^f):0>>c|0)),k=Gm(Bg(),this.Dd&(-1+h|0));if(0!==(this.Dd&h)){h=this.Ob.a[k];a=h.Li(a,b,5+c|0,e,f,g);if(a===h)return this;b=u(B(vw),[this.Ob.a.length]);zf(P(),this.Ob,0,b,0,this.Ob.a.length);b.a[k]=a;return ww(new xw,this.Dd,b,this.Rb+(a.s()-h.s()|0)|0)}c=u(B(vw),[1+this.Ob.a.length|0]);zf(P(),this.Ob,0,c,0,k);c.a[k]=dB(a,b,e,f);zf(P(),this.Ob,k,c,1+k|0,this.Ob.a.length-k|0);return ww(new xw,this.Dd|h,c,1+this.Rb|0)}; d.qi=function(a,b,c){var e=31&(b>>>c|0);if(-1===this.Dd)return this.Ob.a[e].qi(a,b,5+c|0);e=1< >>c|0)),f=Gm(Bg(),this.Dd&(-1+e|0));if(0!==(this.Dd&e)){var g=this.Ob.a[f];a=g.Ci(a,b,5+c|0);if(a===g)return this;if(0===a.s()){e^=this.Dd;if(0!==e)return a=u(B(vw),[-1+this.Ob.a.length|0]),zf(P(),this.Ob,0,a,0,f),zf(P(),this.Ob,1+f|0,a,f,-1+(this.Ob.a.length-f|0)|0),f=this.Rb-g.s()|0,1!==a.a.length||Zu(a.a[0])?ww(new xw,e,a,f):a.a[0];od();return Rg()}return 1!==this.Ob.a.length||Zu(a)?(e=u(B(vw),[this.Ob.a.length]),zf(P(),this.Ob,0,e,0,this.Ob.a.length),e.a[f]= a,f=this.Rb+(a.s()-g.s()|0)|0,ww(new xw,this.Dd,e,f)):a}return this};d.pi=function(a,b,c,e,f){for(var g=f,h=0,k=0,l=0;l >>1|0;k=e}return ww(new xw,k,a,h)}return e.a[f]}; d.ba=function(){var a=new Vv;Xu.prototype.On.call(a,this.Ob);return a};d.s=function(){return this.Rb};function ww(a,b,c,e){a.Dd=b;a.Ob=c;a.Rb=e;return a}d.hi=function(a,b,c){var e=31&(b>>>c|0);if(-1===this.Dd)return this.Ob.a[e].hi(a,b,5+c|0);e=1< a?1:qg(this,a)}; +d.$classData=y({Uo:0},!1,"scala.collection.immutable.HashMap$HashTrieMap",{Uo:1,Bj:1,Tf:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ue:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Ef:1,ib:1,lb:1,kb:1,Ff:1,k:1,f:1,hb:1});function GB(){}GB.prototype=new Az;GB.prototype.constructor=GB;function HB(){}d=HB.prototype=GB.prototype;d.Ga=function(){return this};d.i=function(a){return rg(this,a)};d.tf=function(){return this};d.Ra=function(a){return 0>a?1:qg(this,a)}; d.Rc=function(a){return $y(this,a)};d.l=function(a){return rg(this,a|0)};d.Oc=function(a){return Zy(this,a)};d.cc=function(){return this};d.qc=function(){return this};d.cb=function(){return this}; d.oc=function(a,b){if(b===mg().p){if(this===I())return I();b=this;for(var c=Qi(!1),e=(new Ri).g(null),f=(new Ri).g(null);b!==I();)a.l(b.t()).Ga().K(G(function(a,b,c,e){return function(a){b.H?(a=og(new pg,a,I()),e.H.Jf=a,e.H=a):(c.H=og(new pg,a,I()),e.H=c.H,b.H=!0)}}(this,c,e,f))),b=b.z();return c.H?e.H:I()}return Zg(this,a,b)};d.il=function(a){return IB(this,a)}; function JB(a,b){if(a.h()||0>=b)return I();for(var c=og(new pg,a.t(),I()),e=c,f=a.z(),g=1;;){if(f.h())return a;if(ge)a.$a(rb(a.Wb()));else if(1024>e)a.Ka(rb(a.$())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.$a(yb(a.$(),31&(c>>>5|0)));else if(32768>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ka(yb(a.pa(),31&(c>>>10|0))),a.$a(yb(a.$(),31&(c>>>5|0)));else if(1048576>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.Xb(rb(a.Ia())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ia().a[31&(b>>>15|0)]=a.pa(),a.db(yb(a.Ia(),31&(c>>>15|0))),a.Ka(yb(a.pa(), -31&(c>>>10|0))),a.$a(yb(a.$(),31&(c>>>5|0)));else if(33554432>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.Xb(rb(a.Ia())),a.xd(rb(a.vb())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ia().a[31&(b>>>15|0)]=a.pa(),a.vb().a[31&(b>>>20|0)]=a.Ia(),a.Xb(yb(a.vb(),31&(c>>>20|0))),a.db(yb(a.Ia(),31&(c>>>15|0))),a.Ka(yb(a.pa(),31&(c>>>10|0))),a.$a(yb(a.$(),31&(c>>>5|0)));else if(1073741824>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.Xb(rb(a.Ia())),a.xd(rb(a.vb())),a.Vg(rb(a.Fd())),a.$().a[31&(b>>>5|0)]= -a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ia().a[31&(b>>>15|0)]=a.pa(),a.vb().a[31&(b>>>20|0)]=a.Ia(),a.Fd().a[31&(b>>>25|0)]=a.vb(),a.xd(yb(a.Fd(),31&(c>>>25|0))),a.Xb(yb(a.vb(),31&(c>>>20|0))),a.db(yb(a.Ia(),31&(c>>>15|0))),a.Ka(yb(a.pa(),31&(c>>>10|0))),a.$a(yb(a.$(),31&(c>>>5|0)));else throw(new tb).b();else{b=-1+a.uc()|0;switch(b){case 5:a.Vg(rb(a.Fd()));a.xd(yb(a.Fd(),31&(c>>>25|0)));a.Xb(yb(a.vb(),31&(c>>>20|0)));a.db(yb(a.Ia(),31&(c>>>15|0)));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.$a(yb(a.$(),31&(c>>> -5|0)));break;case 4:a.xd(rb(a.vb()));a.Xb(yb(a.vb(),31&(c>>>20|0)));a.db(yb(a.Ia(),31&(c>>>15|0)));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.$a(yb(a.$(),31&(c>>>5|0)));break;case 3:a.Xb(rb(a.Ia()));a.db(yb(a.Ia(),31&(c>>>15|0)));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.$a(yb(a.$(),31&(c>>>5|0)));break;case 2:a.db(rb(a.pa()));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.$a(yb(a.$(),31&(c>>>5|0)));break;case 1:a.Ka(rb(a.$()));a.$a(yb(a.$(),31&(c>>>5|0)));break;case 0:a.$a(rb(a.Wb()));break;default:throw(new C).g(b);}a.Vb=!0}} +function QB(a,b,c,e){if(a.Vb)if(32>e)a.Za(rb(a.Wb()));else if(1024>e)a.Ka(rb(a.$())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.Za(yb(a.$(),31&(c>>>5|0)));else if(32768>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ka(yb(a.pa(),31&(c>>>10|0))),a.Za(yb(a.$(),31&(c>>>5|0)));else if(1048576>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.Xb(rb(a.Ia())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ia().a[31&(b>>>15|0)]=a.pa(),a.db(yb(a.Ia(),31&(c>>>15|0))),a.Ka(yb(a.pa(), +31&(c>>>10|0))),a.Za(yb(a.$(),31&(c>>>5|0)));else if(33554432>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.Xb(rb(a.Ia())),a.wd(rb(a.vb())),a.$().a[31&(b>>>5|0)]=a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ia().a[31&(b>>>15|0)]=a.pa(),a.vb().a[31&(b>>>20|0)]=a.Ia(),a.Xb(yb(a.vb(),31&(c>>>20|0))),a.db(yb(a.Ia(),31&(c>>>15|0))),a.Ka(yb(a.pa(),31&(c>>>10|0))),a.Za(yb(a.$(),31&(c>>>5|0)));else if(1073741824>e)a.Ka(rb(a.$())),a.db(rb(a.pa())),a.Xb(rb(a.Ia())),a.wd(rb(a.vb())),a.Vg(rb(a.Fd())),a.$().a[31&(b>>>5|0)]= +a.Wb(),a.pa().a[31&(b>>>10|0)]=a.$(),a.Ia().a[31&(b>>>15|0)]=a.pa(),a.vb().a[31&(b>>>20|0)]=a.Ia(),a.Fd().a[31&(b>>>25|0)]=a.vb(),a.wd(yb(a.Fd(),31&(c>>>25|0))),a.Xb(yb(a.vb(),31&(c>>>20|0))),a.db(yb(a.Ia(),31&(c>>>15|0))),a.Ka(yb(a.pa(),31&(c>>>10|0))),a.Za(yb(a.$(),31&(c>>>5|0)));else throw(new tb).b();else{b=-1+a.uc()|0;switch(b){case 5:a.Vg(rb(a.Fd()));a.wd(yb(a.Fd(),31&(c>>>25|0)));a.Xb(yb(a.vb(),31&(c>>>20|0)));a.db(yb(a.Ia(),31&(c>>>15|0)));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.Za(yb(a.$(),31&(c>>> +5|0)));break;case 4:a.wd(rb(a.vb()));a.Xb(yb(a.vb(),31&(c>>>20|0)));a.db(yb(a.Ia(),31&(c>>>15|0)));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.Za(yb(a.$(),31&(c>>>5|0)));break;case 3:a.Xb(rb(a.Ia()));a.db(yb(a.Ia(),31&(c>>>15|0)));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.Za(yb(a.$(),31&(c>>>5|0)));break;case 2:a.db(rb(a.pa()));a.Ka(yb(a.pa(),31&(c>>>10|0)));a.Za(yb(a.$(),31&(c>>>5|0)));break;case 1:a.Ka(rb(a.$()));a.Za(yb(a.$(),31&(c>>>5|0)));break;case 0:a.Za(rb(a.Wb()));break;default:throw(new C).g(b);}a.Vb=!0}} d.t=function(){if(0===this.Ra(0))throw(new Jl).e("empty.head");return this.i(0)};d.i=function(a){var b=a+this.Sb|0;if(0<=a&&b =b)b=Zd().zh;else if(this.Sb<(this.Ec-b|0)){var c=this.Sb+b|0,e=-32&(-1+c|0),f=TB(this.Sb^(-1+c|0)),g=this.Sb&~(-1+(1< =c)VB(b.$b,c);else if(1024>=c)VB(b.$b,1+(31&(-1+c|0))|0),b.mc=WB(b.mc,c>>>5|0);else if(32768>=c)VB(b.$b,1+(31&(-1+c|0))|0),b.mc=WB(b.mc,1+(31&((-1+c|0)>>>5|0))|0),b.Nc=WB(b.Nc,c>>>10|0);else if(1048576>=c)VB(b.$b,1+(31&(-1+c|0))| @@ -876,9 +876,9 @@ function RB(a,b){if(a.Ec!==a.Sb){var c=-32&a.Ec,e=31&a.Ec;if(a.Ec!==c){var f=(ne g|0]=b;return h}f=a.pd;g=(new cw).Ib(a.Sb,1+a.Ec|0,c);zb(g,a,a.Zb);g.Vb=a.Vb;YB(g,f,c,f^c);g.$b.a[e]=b;return g}a=u(B(A),[32]);a.a[0]=b;b=(new cw).Ib(0,1,0);b.Zb=1;b.$b=a;return b}d.lc=function(){return My(this)}; function UB(a,b){a.Zb=b;b=-1+b|0;switch(b){case 0:a.mc=null;a.Nc=null;a.nd=null;a.Xd=null;a.ef=null;break;case 1:a.Nc=null;a.nd=null;a.Xd=null;a.ef=null;break;case 2:a.nd=null;a.Xd=null;a.ef=null;break;case 3:a.Xd=null;a.ef=null;break;case 4:a.ef=null;break;case 5:break;default:throw(new C).g(b);}}function ZB(a,b){var c=(Zd(),Yd().Eb);c===(Xd(),Yd().Eb)||c===Dc().p||c===H().p?a=$B(a,b):(c=c.ld(a.Kb()),c.da(b),c.eb(a.sc()),a=c.X());return a}d.ba=function(){return te(this)}; d.Ka=function(a){this.mc=a};function VB(a,b){for(;b =c||c<(this.m()>>>5|0))return b=(new Ri).g(this),a.K(G(function(a,b){return function(a){b.H=b.H.Pi(a,(Zd(),Yd().Eb))}}(this,b))),b.H;if(this.m()<(c>>>5|0)&&a&&a.$classData&&a.$classData.q.dp){b=a;for(a=dv(this);a.U();)c=a.M(),b=ZB(b,c);return b}return zr(this,a,b)}return zr(this,a.Ga(),b)};d.xd=function(a){this.Xd=a};d.sf=function(){return this}; +d.ub=function(a,b){if(b===(Xd(),Yd().Eb)||b===Dc().p||b===H().p){if(a.h())return this;a=a.He()?a.Ga():a.$e();var c=a.s();if(2>=c||c<(this.m()>>>5|0))return b=(new Ri).g(this),a.K(G(function(a,b){return function(a){b.H=b.H.Pi(a,(Zd(),Yd().Eb))}}(this,b))),b.H;if(this.m()<(c>>>5|0)&&a&&a.$classData&&a.$classData.q.dp){b=a;for(a=dv(this);a.U();)c=a.M(),b=ZB(b,c);return b}return zr(this,a,b)}return zr(this,a.Ga(),b)};d.wd=function(a){this.Xd=a};d.sf=function(){return this}; function YB(a,b,c,e){a.Vb?(xb(a,b),ub(a,b,c,e)):(ub(a,b,c,e),a.Vb=!0)}d.Lc=function(){return this.m()};d.$=function(){return this.mc};d.nb=function(){if(0===this.Ra(0))throw(new Jl).e("empty.last");return this.i(-1+this.m()|0)};d.Fd=function(){return this.ef};d.Dc=function(a){return XB(this,a)};d.sc=function(){return this};d.z=function(){if(0===this.Ra(0))throw(new Jl).e("empty.tail");return XB(this,1)};d.dc=function(){return this}; -function te(a){var b=(new dw).r(a.Sb,a.Ec);zb(b,a,a.Zb);a.Vb&&xb(b,a.pd);1 a)return 1;if(1024>a)return 2;if(32768>a)return 3;if(1048576>a)return 4;if(33554432>a)return 5;if(1073741824>a)return 6;throw(new tb).b();}d.yd=function(a){return Du(this,a|0)};function aC(a,b){for(var c=0;ca)return 1;if(1024>a)return 2;if(32768>a)return 3;if(1048576>a)return 4;if(33554432>a)return 5;if(1073741824>a)return 6;throw(new tb).b();}d.xd=function(a){return Du(this,a|0)};function aC(a,b){for(var c=0;c=b))if(a.Sb<(a.Ec-b|0)){var c=a.Sb+b|0,e=-32&c,f=TB(c^(-1+a.Ec|0)),g=c&~(-1+(1< a)aC(b.$b,a);else if(1024>a)aC(b.$b,31&a),b.mc=bC(b.mc,a>>>5|0);else if(32768>a)aC(b.$b,31&a),b.mc=bC(b.mc,31&(a>>>5|0)),b.Nc=bC(b.Nc,a>>>10|0);else if(1048576>a)aC(b.$b,31&a),b.mc=bC(b.mc,31&(a>>>5|0)),b.Nc=bC(b.Nc,31&(a>>>10|0)),b.nd=bC(b.nd,a>>>15|0);else if(33554432>a)aC(b.$b,31&a), b.mc=bC(b.mc,31&(a>>>5|0)),b.Nc=bC(b.Nc,31&(a>>>10|0)),b.nd=bC(b.nd,31&(a>>>15|0)),b.Xd=bC(b.Xd,a>>>20|0);else if(1073741824>a)aC(b.$b,31&a),b.mc=bC(b.mc,31&(a>>>5|0)),b.Nc=bC(b.Nc,31&(a>>>10|0)),b.nd=bC(b.nd,31&(a>>>15|0)),b.Xd=bC(b.Xd,31&(a>>>20|0)),b.ef=bC(b.ef,a>>>25|0);else throw(new tb).b();a=b}else a=Zd().zh;return a} function $B(a,b){if(a.Ec!==a.Sb){var c=-32&(-1+a.Sb|0),e=31&(-1+a.Sb|0);if(a.Sb!==(32+c|0)){var f=(new cw).Ib(-1+a.Sb|0,a.Ec,c);zb(f,a,a.Zb);f.Vb=a.Vb;QB(f,a.pd,c,a.pd^c);f.$b.a[e]=b;return f}var g=(1< >>r(5,-1+a.Zb|0)|0;if(0!==f){if(1 c)return f=(1< b?0:b;if(c<=b||b>=(a.he.length|0))return(new Md).e("");c=c>(a.he.length|0)?a.he.length|0:c;dc();return(new Md).e((null!==a?a.he:null).substring(b,c))}d.jd=function(){return pn(w(),this.he)};d.Jc=function(a){return Yy(this,a)};d.fa=function(){km||(km=(new hm).b());return km.fa()};d.Kf=function(a,b){return Nd(this,a,b)}; d.$classData=y({mv:0},!1,"scala.collection.immutable.WrappedString",{mv:1,wc:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,xc:1,Va:1,ra:1,jc:1,pb:1,qb:1,Cj:1,kg:1,ib:1,lb:1,kb:1,cd:1,Fb:1,bp:1,pc:1,Il:1,jf:1});function pg(){this.Jf=this.dk=null}pg.prototype=new HB;pg.prototype.constructor=pg;d=pg.prototype;d.yb=function(){return"::"};d.t=function(){return this.dk};d.wb=function(){return 2};d.h=function(){return!1}; d.xb=function(a){switch(a){case 0:return this.dk;case 1:return this.Jf;default:throw(new gp).e(""+a);}};d.z=function(){return this.Jf};function og(a,b,c){a.dk=b;a.Jf=c;return a}d.Cb=function(){return Qt(this)};d.$classData=y({du:0},!1,"scala.collection.immutable.$colon$colon",{du:1,Yo:1,wc:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,xc:1,Va:1,ra:1,jc:1,pb:1,qb:1,Pl:1,kg:1,ib:1,lb:1,kb:1,zj:1,Jl:1,ob:1,Kl:1,k:1,f:1});function dC(){}dC.prototype=new HB; @@ -895,64 +895,64 @@ d.$classData=y({Ju:0},!1,"scala.collection.immutable.Nil$",{Ju:1,Yo:1,wc:1,Da:1, d.ie=function(a,b){Np(this,a,b)};d.dc=function(){return xz(this)};d.rb=function(){};d.fa=function(){return this.mi()};d.eb=function(a){return fe(this,a)};function hC(){}hC.prototype=new wz;hC.prototype.constructor=hC;function iC(){}d=iC.prototype=hC.prototype;d.h=function(){return 0===this.s()};d.qc=function(){return this};d.A=function(a){return Lv(this,a)};d.w=function(){return Mv(this)};d.zk=function(a){var b=fv(this);return Th(b,a)};d.lc=function(){return hz(this)}; d.ie=function(a,b){Np(this,a,b)};d.dc=function(){return yz(this)};d.rb=function(){};d.L=function(){var a=ll();return nl(a,this,a.$l)};d.ia=function(a,b){return Qd(this,a,b)};d.eb=function(a){return fe(this,a)};d.fa=function(){return this.Ub().Wg()};d.Mc=function(){return"Set"};function jC(){}jC.prototype=new jA;jC.prototype.constructor=jC;function kC(){}kC.prototype=jC.prototype;jC.prototype.eb=function(a){return fe(this,a)};function lC(){}lC.prototype=new jA;lC.prototype.constructor=lC; function mC(){}d=mC.prototype=lC.prototype;d.Ga=function(){return this};d.t=function(){return Vd(this)};d.tf=function(){return this};d.Ra=function(a){return Py(this,a)};d.Rc=function(a){return Dr(this,a)};d.Oc=function(a){return Qy(this,a)};d.qc=function(){return this};d.h=function(){return Oy(this)};d.cb=function(){return this};d.Ub=function(){return Ew()};d.K=function(a){Ry(this,a)};d.Of=function(a,b){var c=this.m();return Wy(this,0,c,a,b)};d.Zc=function(a,b){return Sy(this,a,b)}; -d.rc=function(a,b){return Ty(this,a,b)};d.Rf=function(){return Pd(this)};d.lc=function(){return My(this)};d.Vh=function(){return this};d.ba=function(){return Q(new R,this,0,this.m())};d.ac=function(a){return Uy(this,a)};d.sf=function(){return this};d.Tc=function(a){return Vy(this,a)};d.Lc=function(){return this.m()};d.nb=function(){return fj(this)};d.Dc=function(a){var b=this.m();return Ty(this,a,b)};d.sc=function(){return this};d.z=function(){return Pg(this)};d.yd=function(a){return Du(this,a|0)}; +d.rc=function(a,b){return Ty(this,a,b)};d.Rf=function(){return Pd(this)};d.lc=function(){return My(this)};d.Vh=function(){return this};d.ba=function(){return Q(new R,this,0,this.m())};d.ac=function(a){return Uy(this,a)};d.sf=function(){return this};d.Tc=function(a){return Vy(this,a)};d.Lc=function(){return this.m()};d.nb=function(){return fj(this)};d.Dc=function(a){var b=this.m();return Ty(this,a,b)};d.sc=function(){return this};d.z=function(){return Pg(this)};d.xd=function(a){return Du(this,a|0)}; d.Vc=function(a,b,c){Xy(this,a,b,c)};d.jd=function(a){var b=a.bd();return yf(na(this.o))===b?this.o:Ml(this,a)};d.Jc=function(a){return Yy(this,a)};d.fa=function(){return(new sv).ae(this.dg())};d.Mc=function(){return"WrappedArray"};d.Kf=function(a,b){return Nd(this,a,b)};function py(){this.Bg=0;this.Si=null}py.prototype=new jA;py.prototype.constructor=py;d=py.prototype;d.Ga=function(){return this};d.t=function(){return Vd(this)};d.i=function(a){if(a>=this.Bg)throw(new gp).e(""+a);return this.Si.a[a]}; d.tf=function(){return this};d.Ra=function(a){return Py(this,a)};d.Rc=function(a){return Dr(this,a)};d.l=function(a){return this.i(a|0)};d.Oc=function(a){return Qy(this,a)};d.h=function(){return Oy(this)};d.qc=function(){return this};d.cb=function(){return this};d.Ub=function(){return eu()};d.K=function(a){for(var b=0;b =a.mg?(e=b.Pf,e=ml(S(),e),e=Sm(a,e),Wm(a,b,e)):(b.Ld=a.Na.a[e],a.Na.a[e]=b,a.fd=1+a.fd|0,Ym(a,e));return b.ca}d.Xc=function(a){a=Xm(this,a);return null===a?F():(new J).g(a.ca)};d.Y=function(a){return null!==Xm(this,a)};d.da=function(a){return oC(this,a)}; -d.Xf=function(a){var b=(new Qv).b(),b=fe(b,this);return oC(b,a)};d.$classData=y({Dp:0},!1,"scala.collection.mutable.HashMap",{Dp:1,ov:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ve:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Xv:1,Rd:1,Td:1,Nd:1,Zv:1,Ac:1,zc:1,yc:1,Aj:1,Qd:1,Md:1,zd:1,Pv:1,Sv:1,hb:1,k:1,f:1});function qC(){Qv.call(this)}qC.prototype=new nC;qC.prototype.constructor=qC;qC.prototype.Qk=function(){return 0}; -function Ly(){var a=new qC;Qv.prototype.Qn.call(a,null);return a}qC.prototype.$classData=y({Ut:0},!1,"scala.collection.SeqLike$$anon$1",{Ut:1,Dp:1,ov:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ve:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Xv:1,Rd:1,Td:1,Nd:1,Zv:1,Ac:1,zc:1,yc:1,Aj:1,Qd:1,Md:1,zd:1,Pv:1,Sv:1,hb:1,k:1,f:1});function Hx(){this.qg=0;this.Na=null;this.mg=this.fd=0;this.rd=null;this.kh=0}Hx.prototype=new iC;Hx.prototype.constructor=Hx;d=Hx.prototype; +d.Xf=function(a){var b=(new Qv).b(),b=fe(b,this);return oC(b,a)};d.$classData=y({Dp:0},!1,"scala.collection.mutable.HashMap",{Dp:1,ov:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ue:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Xv:1,Rd:1,Td:1,Nd:1,Zv:1,Ac:1,zc:1,yc:1,Aj:1,Qd:1,Md:1,yd:1,Pv:1,Sv:1,hb:1,k:1,f:1});function qC(){Qv.call(this)}qC.prototype=new nC;qC.prototype.constructor=qC;qC.prototype.Qk=function(){return 0}; +function Ly(){var a=new qC;Qv.prototype.Qn.call(a,null);return a}qC.prototype.$classData=y({Ut:0},!1,"scala.collection.SeqLike$$anon$1",{Ut:1,Dp:1,ov:1,Qe:1,Da:1,Ea:1,c:1,Aa:1,na:1,oa:1,ga:1,Q:1,P:1,ka:1,ma:1,ya:1,Ba:1,za:1,wa:1,ja:1,la:1,u:1,Te:1,ue:1,Re:1,Ue:1,Va:1,ra:1,Lb:1,Xv:1,Rd:1,Td:1,Nd:1,Zv:1,Ac:1,zc:1,yc:1,Aj:1,Qd:1,Md:1,yd:1,Pv:1,Sv:1,hb:1,k:1,f:1});function Hx(){this.qg=0;this.Na=null;this.mg=this.fd=0;this.rd=null;this.kh=0}Hx.prototype=new iC;Hx.prototype.constructor=Hx;d=Hx.prototype; d.Ga=function(){return this};d.b=function(){Hx.prototype.fr.call(this,null);return this};d.l=function(a){a=Ab(a);for(var b=Ca(a),b=Jm(this,b),c=this.Na.a[b];null!==c&&!T(U(),c,a);)b=(1+b|0)%this.Na.a.length|0,c=this.Na.a[b];return null!==c};d.cb=function(){return this};d.Yb=function(a){return rC(this,a)};d.Ub=function(){Ix||(Ix=(new Gx).b());return Ix};d.K=function(a){for(var b=0,c=this.Na.a.length;b a||a>=this.Qf)throw(new gp).e(""+a);return rg(this.Za,a)};d.tf=function(){return this};d.Ra=function(a){return 0>a?1:qg(this.Za,a)};d.Rc=function(a){return $y(this.Za,a)};d.l=function(a){return this.i(a|0)};d.Fc=function(){return be(this.Za)}; -d.Oc=function(a){return Zy(this.Za,a)};d.cc=function(){this.dj=!this.h();return this.Za};d.h=function(){return 0===this.Qf};d.cb=function(){return this};d.A=function(a){return a&&a.$classData&&a.$classData.q.Ep?this.Za.A(a.Za):Cu(this,a)};d.Jb=function(a){return he(this.Za,"",a,"")};d.Ic=function(a,b,c){return he(this.Za,a,b,c)};d.Yb=function(a){return qv(this,a)};d.Ub=function(){sy||(sy=(new ry).b());return sy};d.K=function(a){for(var b=this.Za;!b.h();)a.l(b.t()),b=b.z()}; -d.Of=function(a,b){return az(this.Za,a,b)};d.Zc=function(a,b){return bz(this.Za,a,b)};d.Zd=function(){return Tf(this.Za)};d.Jk=function(a){return qv(this,a)};d.s=function(){return this.Qf};d.lc=function(){var a=this.Za,b=Gt().p;return xt(a,b)};d.X=function(){return this.cc()};d.ba=function(){var a=new rv;a.Zi=this.h()?I():this.Za;return a};d.ie=function(a,b){Np(this,a,b)};d.ac=function(a){return cz(this.Za,a)};d.ad=function(){return he(this.Za,"","","")};d.m=function(){return this.Qf};d.sf=function(){return this}; -d.ee=function(a){return Il(this.Za,a)};d.Tb=function(){return this.Za.Tb()};d.nb=function(){if(null===this.hg)throw(new V).e("last of empty ListBuffer");return this.hg.dk};d.Y=function(a){return ez(this.Za,a)};d.Vd=function(a,b,c,e){return Kl(this.Za,a,b,c,e)};function qv(a,b){a.dj&&KB(a);if(a.h())a.hg=og(new pg,b,I()),a.Za=a.hg;else{var c=a.hg;a.hg=og(new pg,b,I());c.Jf=a.hg}a.Qf=1+a.Qf|0;return a}d.dc=function(){return this.Za};d.de=function(a){return Ll(this.Za,a)}; -d.yd=function(a){return fz(this.Za,a|0)};d.Bc=function(){var a=this.Za,b=Uh(),b=Vh(b);return xt(a,b)};d.Cd=function(a,b){return az(this.Za,a,b)};d.da=function(a){return qv(this,a)};d.Hd=function(a){return Bu(this.Za,a,0)};d.rb=function(){};d.Vc=function(a,b,c){ey(this.Za,a,b,c)};d.hd=function(){for(var a=this.Za,b=Fc(new Gc,Hc());!a.h();){var c=a.t();Ic(b,c);a=a.z()}return b.sa};d.jd=function(a){return Ml(this.Za,a)};d.uo=function(){return 0 =b)){c.ie(b,e);for(var f=0,e=e.ba();fa||a>=this.Qf)throw(new gp).e(""+a);return rg(this.Ya,a)};d.tf=function(){return this};d.Ra=function(a){return 0>a?1:qg(this.Ya,a)};d.Rc=function(a){return $y(this.Ya,a)};d.l=function(a){return this.i(a|0)};d.Fc=function(){return be(this.Ya)}; +d.Oc=function(a){return Zy(this.Ya,a)};d.cc=function(){this.dj=!this.h();return this.Ya};d.h=function(){return 0===this.Qf};d.cb=function(){return this};d.A=function(a){return a&&a.$classData&&a.$classData.q.Ep?this.Ya.A(a.Ya):Cu(this,a)};d.Jb=function(a){return he(this.Ya,"",a,"")};d.Ic=function(a,b,c){return he(this.Ya,a,b,c)};d.Yb=function(a){return qv(this,a)};d.Ub=function(){sy||(sy=(new ry).b());return sy};d.K=function(a){for(var b=this.Ya;!b.h();)a.l(b.t()),b=b.z()}; +d.Of=function(a,b){return az(this.Ya,a,b)};d.Zc=function(a,b){return bz(this.Ya,a,b)};d.Zd=function(){return Tf(this.Ya)};d.Jk=function(a){return qv(this,a)};d.s=function(){return this.Qf};d.lc=function(){var a=this.Ya,b=Gt().p;return xt(a,b)};d.X=function(){return this.cc()};d.ba=function(){var a=new rv;a.Zi=this.h()?I():this.Ya;return a};d.ie=function(a,b){Np(this,a,b)};d.ac=function(a){return cz(this.Ya,a)};d.ad=function(){return he(this.Ya,"","","")};d.m=function(){return this.Qf};d.sf=function(){return this}; +d.ee=function(a){return Il(this.Ya,a)};d.Tb=function(){return this.Ya.Tb()};d.nb=function(){if(null===this.hg)throw(new V).e("last of empty ListBuffer");return this.hg.dk};d.Y=function(a){return ez(this.Ya,a)};d.Vd=function(a,b,c,e){return Kl(this.Ya,a,b,c,e)};function qv(a,b){a.dj&&KB(a);if(a.h())a.hg=og(new pg,b,I()),a.Ya=a.hg;else{var c=a.hg;a.hg=og(new pg,b,I());c.Jf=a.hg}a.Qf=1+a.Qf|0;return a}d.dc=function(){return this.Ya};d.de=function(a){return Ll(this.Ya,a)}; +d.xd=function(a){return fz(this.Ya,a|0)};d.Bc=function(){var a=this.Ya,b=Uh(),b=Vh(b);return xt(a,b)};d.Cd=function(a,b){return az(this.Ya,a,b)};d.da=function(a){return qv(this,a)};d.Hd=function(a){return Bu(this.Ya,a,0)};d.rb=function(){};d.Vc=function(a,b,c){ey(this.Ya,a,b,c)};d.hd=function(){for(var a=this.Ya,b=Fc(new Gc,Hc());!a.h();){var c=a.t();Ic(b,c);a=a.z()}return b.sa};d.jd=function(a){return Ml(this.Ya,a)};d.uo=function(){return 0 =b)){c.ie(b,e);for(var f=0,e=e.ba();fthis.Rb&&1<=a&&(a=u(B(A),[a]),Na(this.o,0,a,0,this.Rb),this.o=a)};d.Vc=function(a,b,c){var e=wl(xl(),a)-b|0;c=c this.Rb&&1<=a&&(a=u(B(A),[a]),Na(this.o,0,a,0,this.Rb),this.o=a)};d.Vc=function(a,b,c){var e=wl(xl(),a)-b|0;c=c /^((twist=)|(cross=))?[^=]+$/.test(line)); - const keys = Object.keys(invertedMap).sort(); - for (const key of keys) { - const values = invertedMap[key].sort(); - outputLines.push(values.join('=') + '=' + key) - } - document.getElementById(id).value = outputLines.join('\n') - setLinks(2) -} \ No newline at end of file diff --git a/docs/js/hybrid.js b/docs/js/hybrid.js new file mode 100644 index 000000000..2e19ed635 --- /dev/null +++ b/docs/js/hybrid.js @@ -0,0 +1,862 @@ +/** + * GroundForge page generator. + * + * The surrounding page should take care of the house style like headers footers and menu's with help pages.. + * + * Requires: + * - d3.v4.min.js for nudgeDiagram + * - GroundForge-opt.js to render diagrams and color code + * - nudgeDiagram of nudgePairs.js + * - panel.js + * - GF_Random of stitch-gallery.js + * @namespace + */ +const GF_hybrid = { + content_home: '.', + dirtyBackGround: "#f0f0f0", + getRandomStitch() { + return GF_Random.genRandomStitch(3, 2, 1, 1); + }, + recipes: { + snow4: [ + // screenshots taken at 50% zoom level + // ndb: patterns from "naar de bron" by Nora Andries + ['ndb-9Z.png', 'RCLRCR', 'X0=CL,X1=LLCLCR,X2=LLCLCRCLCLL,X3=CRCLCRCL,X4=CLCRLL,X5=C', 'X00=X70=C,X80=X81=X90=X91=LRT '], + ['ndb-10N.png', 'CLCLRCRCLR', 'X0=X7=C,X1=RCLCR,X2=CRC,X3=RCTC,X4=CTCL,X5=CLCR,X6=CRCL,X8=X9=TT', 'X00=,X70=C,X80=X81=X90=X91=TT '], + ['spider-1-ring.png', 'CLRCLR', 'X1=X2=CTCTC,X4=X5=TT'], + ['spider-2-rings.png', 'CLRCLR', 'X1=CTCRCTC,X2=CTCLCTC,X4=X5=TT'], + ['spider-3-rings.png', 'CLRCCLRCLR', 'X3=CTCCTC,X8=X9=TT', 'X33=CTCCTC,X80=X81=X90=X91=TT'] + ], + snow3: [ + ['123-a.png', 'RCRCRC', 'CRC,CRCLCTC,CTCRC,RCL,C,C'], + ['123-b.png', 'LCLCLC', 'RCL,CTC,CRCLLC,CRRCLCR,CTC,CL'], + ['132-a.png', 'CRCRC', 'CTC,CTC,CTC,CTC,CTC'], + ['312-a.png', 'LCLC', 'TCTC,RCTCL,CTCL,CTCT'], + ['321-a.png', 'LCLC', 'TC,RCLCRC,CLCRCL,CT'], + ['321-b.png', 'RCRC', 'TCR,LCTC,CTCR,LCT'], + ['321-c.png', 'RCRC', 'TCL,LCTC,CTCR,RCT'], + ['321-d.png', 'RCRC', 'T,LCTC,CTCR,CTCT'], + ['126453-a.png', 'CLCLC', 'C,CTCTC,CTCTC,CTCTC,C'], + ['153426-a.png', 'LCLCLC', 'T,RC,CTC,RCLCR,CTCL,CT'], + ['154326-a.png', 'LCLC', 'T,RCTC,CTCTCL,CTCT'], + ['156423-a.png', 'CRCRC', 'CR,CRCL,CLCRCLCR,RCRCL,C'], + ['234561-a.png', 'LCLCLC', 'CR,CRCL,CLCR,CRCL,CLCR,C'], + ['263451-a.png', 'CRCRC', 'CR,CRCL,CLCR,CRCL,CL'], + ['321546-a.png', 'CLCLC', 'CL,CTCL,CRCRCR,RCR,C'], + ['321654-a.png', 'CLCLCLC', 'LC,CRC,CLCRC,CLCR,C,CRC,CL'], + ['321654-b.png', 'CRCRC', 'CR,CTCR,CLCLC,LCL,C'], + ['354612-a.png', 'RCRCRC', 'CTCT,CT,CT,CT,CL,CTC'], + ['426153-a.png', 'RCRC', 'LC,CRCLCLC,CRCRCLC,CR'], + ['426153-b.png', 'RCRCRC', 'CR,CTCL,CTCR,CTCL,CTC,C'], + ['456123-a.png', 'RCRC', 'R,LRC,CTCR,LCT'], + ['456123-b.png', 'RCRCRCRC', 'C,CTC,RCLC,CTC,RC,RCL,CTC,C'], + ['462513-a.png', 'LCLC', 'RC,CLCRC,CLCTC,RCL'], + ['564312-a.png', 'RCRC', 'LCRC,CLCRC,CLCRC,CLCR'], + ['563412-a.png', 'CRCRC', 'C,CTCTC,CLCR,RCTC,C'], + ['623451-a.png', 'LCLCLCLC', 'R,C,CRC,CTC,LCRCL,CTC,CRC,CL'], + ['623541-a.png', 'CLCLC', 'CTC,CT,CRC,CTC,CTC'], + ['623541-b.png', 'CRCRC', 'CL,CTCTCR,CT,CTC,C'] + ], + stitches: [ + "cllcrrcllcrrc", + "ctctctc", + "ct", + "ctct", + "clcrclc", + "ctctc", + "ctclctc", + "crclct", + "ctclcrctc", + "ctcttctc", + "crcllrrrc", + "tctctllctctr", + ], + createSnowGallery(recipes, containerId, imgPath) { + // TODO make imgPath member of object + const container = document.getElementById(containerId); + for (let [img, basicStitch, droste1, droste2] of recipes) { + container.insertAdjacentHTML('beforeend', ` + + `); + } + }, + createStitchGallery(containerId) { + const element = document.querySelector("#" + containerId); + // random + element.innerHTML += ` + `; + // set of predefined stitches + for (let stitch of GF_hybrid.recipes.stitches) { + element.innerHTML += ` + ` + } + }, + }, + tweak: { + getHtmlString() { return ` + + ${this.basicStitch.getHtmlString()}
+ ${this.flip.getHtmlString()} + `; + }, + basicStitch: { + id: 'basicStitchInput', + lastValid: '', + getHtmlString() { + const other = `document.getElementById('${GF_hybrid.tweak.drosteOnBasicStitch.id}`; + return ` + ` + }, + getMsg() { // TODO adjust to page and droste level + return ` + Basic stitch only allows the characters T, C, L, R. + Select examples from a stitches or snow gallery. + When "Droste applied to basic stitch" has content, + T is replaced with LR for proper flipping. + Without droste, just a "-" is also allowed to drop stitches. + ` + }, + setColorCode() { + document.querySelector('#colorCode').innerHTML = ` + ` + }, + fixInput(basicStitchEl, drostOnBasicEl) { + let value = basicStitchEl.value.toLowerCase().trim(); + const hasDroste = drostOnBasicEl && drostOnBasicEl.value.trim() !== ''; + const regexp = hasDroste ? /^[tclr]*$/ : /^(-|([tclr])*)$/; + if (!regexp.test(value)) { + basicStitchEl.value = this.lastValid; + const pos1 = basicStitchEl.selectionStart - 1; + const pos2 = basicStitchEl.selectionEnd - 1; + basicStitchEl.setSelectionRange(pos1, pos2); + GF_hybrid.showToast(this.getMsg()); + return; + } + if (hasDroste) { + value = value.replace(/[tT]/g, 'LR'); + } + basicStitchEl.value = value.toUpperCase() + this.lastValid = value; + }, + }, + drosteOnBasicStitch: { + id: 'drosteStitches', + lastValid: '', + getHtmlString() { + const other = `document.getElementById('${GF_hybrid.tweak.basicStitch.id}`; + return ` + ` + }, + msg: ` + "Droste applied to basic stitch" needs either numbered stitches, + or as many stitches as characters in "Basic stitch". + Allowed separators between stitches: ";.," + Example of a numbered stitch: "X12=CTCT". + Default for not specified stitches is "CTC". + `, + fixInput(basicStitchEl, drosteOnBasicEl) { + function isValid(str) { + if(str === '') return true + const validChars = /[^x0-9=ctlr,.;]/i + const repeatedSeparator = /[,.;][,.;]/; + const groupRegex = /^(x(([0-9]+)=?)?)?[ctlr]*$/i; + if (validChars.test(str)) return false; + if (repeatedSeparator.test(str)) return false; + const stitches = str.split(/[,.;]/); + if (stitches.length > basicStitchEl.value.length) return false; + return stitches.every(g => groupRegex.test(g)); + } + const value = drosteOnBasicEl.value.trim().toUpperCase(); + if (isValid(value)) { + this.lastValid = value; + drosteOnBasicEl.value = value; + } else { + drosteOnBasicEl.value = this.lastValid; + const pos1 = drosteOnBasicEl.selectionStart - 1; + const pos2 = drosteOnBasicEl.selectionEnd - 1; + drosteOnBasicEl.setSelectionRange(pos1, pos2); + GF_hybrid.showToast(this.msg); + } + }, + }, + flip: { + getHtmlString() { return ` +
+ ${this.drosteOnBasicStitch.getHtmlString()} +Flip: + + + +
+ `; + }, + apply(direction) { + function flip2(value) { + switch (direction) { + case 'b2d': return value + .replace(/l/g, "R") + .replace(/r/g, "L") + .toLowerCase(); + case 'b2p': return value + .split("").reverse().join(""); + } + } + const basicEl = document.getElementById(GF_hybrid.tweak.basicStitch.id); + const drosteEl = document.getElementById(GF_hybrid.tweak.drosteOnBasicStitch.id); + const basicValue = basicEl.value.toLowerCase() + .replaceAll(/[^crlt]/g, '') + if (drosteEl && drosteEl.value.trim() !== '') { + if (drosteEl.value.includes('=')) { + const tLessBasicValue = basicValue.replace(/[t]/g, 'lr'); + const arr = Array(tLessBasicValue.length).fill('ctc'); + const keyValuePairs = drosteEl.value.toLowerCase() + .replaceAll(/[^crltx0-9=;,.]/g, '') + .split(/[;,.]/) + for (const kv of keyValuePairs) { + const value = kv.replace(/.*=/, '') + const keys = kv.replace(/=[^=]*$/, '').split(/=/) + for (const key of keys) { + arr[parseInt(key.replace(/x/i, ''))] = value; + } + } + const flipped = flip2(arr.join(';')) + .split(';'); + for (let i = 0; i < flipped.length; i++) { + flipped[i] = `x${i}=${flipped[i]}`; + } + GF_hybrid.tweak.setRecipe( + flip2(tLessBasicValue), + flipped.join(';') + .replace(/x[0-9]+=ctc(;|$)/gi,'') + .replace(/;$/,'') + ); + } else { + GF_hybrid.tweak.setRecipe(flip2(basicValue), flip2(drosteEl.value)); + } + } else { + GF_hybrid.tweak.setRecipe(flip2(basicValue)); + } + }, + }, + setRecipe(basicStitch, droste1Stitches, droste2Stitches) { + // TODO move to separate object (tweak?) with basicStitch, basicOnDroste and flip + const basicEl = document.getElementById(this.basicStitch.id); + if (basicEl) { + basicEl.value = basicStitch ?? ''; + this.basicStitch.lastValid = basicStitch ?? ''; + this.basicStitch.setColorCode(); + } + const drosteOnBasicEl = document.getElementById(this.drosteOnBasicStitch.id); + if (drosteOnBasicEl) { + drosteOnBasicEl.value = droste1Stitches ?? ''; + this.drosteOnBasicStitch.lastValid = droste1Stitches ?? ''; + } + // TODO: second step of droste stitches, requires more intelligence in resetting previously assigned stitches + } + }, + galleryPanels: { + specs: { + 'pattern': {caption: 'Pattern gallery', height: '150px', load(){GF_tiles.loadGallery({jsAction: 'GF_hybrid.setPattern(this);return false;', containerId: 'pattern'});} }, + 'snow3': {caption: '3/6 pair snow gallery', height: '50px', load(){GF_hybrid.recipes.createSnowGallery(GF_hybrid.recipes.snow3, 'snow3', `mix4snow`);}}, + 'snow4': {caption: '4/8 pair snow gallery', height: '65px', load(){GF_hybrid.recipes.createSnowGallery(GF_hybrid.recipes.snow4, 'snow4', `images/4-8-legs`);}}, + 'stitches': {caption: 'Stitches gallery', height: '100px', load(){GF_hybrid.recipes.createStitchGallery('stitches');}} + }, + createHTML(container) { + const galleryKeys = Object.keys(this.specs); + for(let i = 0; i${caption}`; + } else { + options += ``; + } + }); + const chooser = ``; + const sizeOptions = {width:'100%', height: this.specs[key1].height}; + GF_panel.load({caption: chooser, id: key1, controls: ["resize"], size: sizeOptions, parent: container}); + document.getElementById(key1).parentNode.style.display = 'none'; + } + // allways needed + this.specs.stitches.load(); + this.specs.stitches.loaded = true; + }, + switchVisibleGallery(chooser, initialIndex){ + chooser.parentNode.parentNode.style.display = 'none'; + this.initVisibleGallery(chooser.value); + chooser.options[initialIndex].disabled = false; + chooser.selectedIndex = initialIndex; + chooser.options[initialIndex].disabled = true; + }, + initVisibleGallery(galleryId){ + if (!this.specs[galleryId].loaded) { + this.specs[galleryId].load() + this.specs[galleryId].loaded = true; + } + document.getElementById(galleryId).parentNode.style.display = 'block'; + }, + onlyStitches(){ + // show panel containing the gallery + const stitchesEl = document.getElementById('stitches').parentNode; + stitchesEl.style.display = 'block'; + // no choice for other galleries in panel caption: + stitchesEl.getElementsByTagName('select')[0].outerHTML = 'select stitch example'; + } + }, + swatchSize: { + getHtmlString() { return ` + Swatch size: + + +
+ + + `;}, + valueChanged() { + // TODO validate input, update first specs field and mark diagrams dirty + GF_hybrid.showToast('Swatch size is not yet implemented. Workaround: patchWidth=NN&patchHeight=NN in first specifications field, then click wand.'); + } + }, + patternInfo: { // TODO also the specs fields for droste + getLinkHtmlString(q) {return ``}, + getSpecsHtmlString(q) {return ``}, + setValue(value) { + const specsField = document.getElementById('droste0'); + if(specsField) { + specsField.value = value; + } + const patternLink = document.getElementById('selfRef'); + if(patternLink) { + patternLink.href = '?' + value; + patternLink.style.display = 'inline'; + } + console.log("---------" + value); + }, + getValue() { + const specsField = document.getElementById('droste0'); + if(specsField) { + return specsField.value; + } + const patternLink = document.getElementById('selfRef'); + if(patternLink) { + return patternLink.href.split('?')[1]; + } + } + }, + steps:{ + getHtmlString(type){ return ` + + `; + }, + init(type) { + const specs = document.getElementById('droste0'); + const params = new URLSearchParams(specs ? specs.value : ''); + const pairStep = document.getElementById('pairStep'); + const threadStep = document.getElementById('threadStep'); + let hide = []; + switch(type) { + case 'drosteMixer': + pairStep.value = params.get('pairStep') || 0; + threadStep.value = params.get('threadStep') || 1; + GF_hybrid.hideParents(['drosteStep']); + break; + case 'droste': + pairStep.value = params.get('pairStep') || 1; + threadStep.value = params.get('pairStep') || 1; + GF_hybrid.hideParents(['pairStep','threadStep']); + break; + default: // in practice: stitches + pairStep.value = 0; + threadStep.value = 0; + GF_hybrid.hideParents(['pairStep','threadStep', 'drosteStep']); + } + }, + setListeners() { + function markDirty(id) { + const panelIds = id === 'drosteStep' + ? ['pair_panel', 'thread_panel'] + : [id.replace('Step', '') + '_panel']; + + panelIds.forEach(pid => { + const panelEl = document.getElementById(pid); + if (panelEl.getElementsByTagName('svg').length > 0) { + panelEl.style.backgroundColor = GF_hybrid.dirtyBackGround; + } + }); + } + function isVisible(id) { + const el = document.getElementById(id); + if (!el) return false; + const cs = window.getComputedStyle(el); + if (cs.display === 'none' || cs.visibility === 'hidden' || cs.opacity === '0') return false; + const rect = el.getBoundingClientRect(); + return rect.width > 0 && rect.height > 0; + } + function fixStepNr(e) { + const val = parseInt(e.target.value, 10); + const snowVisible = isVisible(("snow3")) || isVisible(("snow4")); + const max = snowVisible && e.target.id === 'pairStep' ? 2 : 3; + const step = isNaN(val) ? 0 : Math.min(max, Math.max(0, val)); + if (val !== step) { + if (isVisible('drosteStep')) { + GF_hybrid.showToast("Steps: min=0, max=3."); + } + else { + GF_hybrid.showToast("Steps: min=0, max=3, max for pairs is 2 when a snow gallery is visible."); + } + } + e.target.value = step; + markDirty(e.target.id); + return step; + } + function setDisplayValues(step) { + document.getElementById('ignored').style.display = step === 0 ? 'inline-block' : 'none'; + if (step > 0) { + const specsStyle = document.getElementById('specs').style; + if (specsStyle.display === 'none') + specsStyle.height = '0'; + specsStyle.display = 'block'; + } + } + document.getElementById('threadStep').addEventListener('input', fixStepNr); + document.getElementById('pairStep').addEventListener('input', e => { + const step = fixStepNr(e); + setDisplayValues(step); + document.getElementById('drosteStep').value = step; + }); + document.getElementById('drosteStep').addEventListener('input', e => { + const step = fixStepNr(e); + setDisplayValues(step); + document.getElementById('threadStep').value = step; + document.getElementById('pairStep').value = step; + }); + } + }, + generateSelectedDiagram(diagramType) { + const drosteIndex = parseInt(document.getElementById(`${diagramType}Step`).value, 10); + const steps = []; + for (let i = 1; i <= drosteIndex; i++) { + const textarea = document.getElementById(`droste${i}`); + const txt = textarea && textarea.value.trim() ? textarea.value.trim() : "ctc"; + steps.push(txt); + } + const q = this.patternInfo.getValue(); + GF_panel.diagramSVG({id: diagramType+ '_panel', query: q, type: diagramType, steps: steps}); + document.getElementById(diagramType+ '_panel').style.backgroundColor = ""; + if(diagramType==='pair') + this.generateLegend(); + }, + setStitchEvents() { + function stitchHandler(event) { + const drosteValue = document.getElementById(GF_hybrid.tweak.drosteOnBasicStitch.id).value; + const newStitchInput = document.getElementById(GF_hybrid.tweak.basicStitch.id).value; + const newStitchValue = newStitchInput + ? newStitchInput + : this.getRandomStitch(); + + const selectedText = event.currentTarget.textContent; + const selectedStitchId = selectedText.replace(/.* /, ""); + + const pairPanel = document.getElementById('pair_panel'); + for (let title of pairPanel.getElementsByTagName('title')) { + if (title.innerHTML === selectedText) { + title.parentNode.insertAdjacentHTML( + 'beforeend', + '' + ); + } + } + const threadPanel = document.getElementById('thread_panel'); + for (let path of threadPanel.getElementsByTagName('path')) { + if (path.textContent.includes(' - ' + selectedStitchId)) { + path.style.opacity = 0.5; + } + } + const drosteIndex = parseInt(document.getElementById("pairStep").value); + const drosteInput = document.getElementById('droste' + drosteIndex); + if (drosteIndex === 0) { + for (let kv of drosteInput.value.split(/&/)) { + let [key, value] = kv.split('='); + if (key === selectedStitchId) { + drosteInput.value = drosteInput.value.replace(kv, `${selectedStitchId}=${newStitchValue}`); + break; + } + } + } else { + drosteInput.value += `\n${selectedStitchId}=${newStitchValue}`; + } + if (drosteValue.trim() === '') { + return; + } + let extraSteps = '\n' + if (drosteValue.includes('=')) { + const count = newStitchValue.replaceAll(/t/g, 'lr').length; + for (let i = 0; i < count; i++) { + // make sure not to inherit previous definitions + // TODO more complicated for a second droste step + extraSteps += `${selectedStitchId}${i}=`; + } + extraSteps += 'ctc\n'; + extraSteps += drosteValue.replaceAll(/x/gi, selectedStitchId); + } else { + const newDrosteStitches = drosteValue.split(/[,.]/); + for (let i = 0; i < newDrosteStitches.length; i++) { + extraSteps += `\n${selectedStitchId}${i}=${newDrosteStitches[i]}`; + } + } + const drosteId = 'droste' + (drosteIndex + 1); + const params = new URLSearchParams(GF_hybrid.patternInfo.getValue()); + params.set(selectedStitchId, newStitchValue); + params.set("pairStep", document.getElementById('pairStep').value); + params.set("threadStep", document.getElementById('threadStep').value); + params.set(drosteId, extraSteps.replaceAll('\n', ',').trim()); + GF_hybrid.patternInfo.setValue(decodeURIComponent(params.toString())); + // last as it may fail when stepLevel is too high for the droste applied to basic stitch + document.getElementById(drosteId).value += extraSteps + '\n'; + } + + Array.from(document + .getElementById('pair_panel') + .querySelectorAll('title') + ).forEach(function (title) { + if (!title.textContent.startsWith('Pair')) + title.parentNode.addEventListener('click', stitchHandler) + }); + }, + scrollIfTooLittleIsVisible(elementId) { + const threadPanel = document.getElementById(elementId); + const rect = threadPanel.getBoundingClientRect(); + const vh = window.innerHeight || document.documentElement.clientHeight; + const visibleHeight = Math.max(0, Math.min(rect.bottom, vh) - Math.max(rect.top, 0)); + if (visibleHeight / rect.height < 0.3) { + threadPanel.scrollIntoView({behavior: 'smooth', block: 'center'}); + } + }, + setPattern(element) { + let q = element.getAttribute('xlink:href').split('?')[1]; + this.patternInfo.setValue(q); + document.getElementById('pairStep').value = 0; + document.getElementById('droste1').value = ''; + document.getElementById('droste2').value = ''; + document.getElementById('droste3').value = ''; + this.generateSelectedDiagram('pair'); + GF_hybrid.setStitchEvents(); + document.getElementById('thread_panel').innerHTML = ''; + GF_panel.scrollIfTooLittleIsVisible(document.getElementById('pair_panel')); + }, + generateLegend(){ + const dict = {}; + Array.from(document.getElementById('pair_panel') + .querySelectorAll('.node')) + .forEach(node => { + const text = node.textContent.toLowerCase(); + if (!text.startsWith('pair')) { + const minorKey = text.split(' ')[0]; + const majorKey = minorKey + .replace(/^[tlr]+/g, '') + .replace(/[tlr]+$/g, ''); + const value = text.substring(text.lastIndexOf(' ') + 1); + if (!dict[majorKey]) dict[majorKey] = {}; + if (!dict[majorKey][minorKey]) { + dict[majorKey][minorKey] = new Set(); + } + dict[majorKey][minorKey].add(value); + } + }); + const target = document.getElementById('legend_panel'); + target.innerHTML = ''; + Object.keys(dict).sort().forEach(key => { + target.insertAdjacentHTML('beforeend',` +
+ ${Object.entries(dict[key]).sort() + .map(([k, v]) => `${k}: ${Array.from(v).join(', ')}`) + .join('
') + } +
`) + }); + }, + showToast(message) { + const toast = document.getElementById('toast'); + toast.textContent = message; + toast.style.display = 'block'; + + function hideToast() { + toast.style.display = 'none'; + window.removeEventListener('mousedown', hideToast); + window.removeEventListener('keydown', hideToast); + window.removeEventListener('focus', hideToast, true); + } + + window.addEventListener('mousedown', hideToast); + window.addEventListener('keydown', hideToast); + window.addEventListener('focus', hideToast, true); + }, + /** + * Loads all components required for the droste mixer. + * @memberof GF_hybrid + * @param {!HTMLElement} container receives the generated components + */ + load(container) { + console.log('================ Loading panels ================'); + const pairWandHref = "javascript:GF_hybrid.generateSelectedDiagram('pair');GF_hybrid.setStitchEvents()"; + const threadWandHref = "javascript:GF_hybrid.generateSelectedDiagram('thread')"; + let q = new URL(document.documentURI).search.slice(1) + .replaceAll(/[^a-zA-Z0-9=,.&-]/g,''); + if (q === "" || !q.includes('shiftRows')) { + q = "patchWidth=7&patchHeight=7&footside=---x,---4,---x,---4&tile=5-,-5,5-,-5&headside=-,c,-,c,&shiftColsSW=0&shiftRowsSW=4&shiftColsSE=2&shiftRowsSE=2&e1=lclc&l2=llctt&f2=rcrc&d2=rrctt&e3=rcrc&l4=llctt&f4=lclc&d4=rrctt&droste2=e12=clcrcl,e13=ct,f42=ctcl,e32=f22=ctcr,e33=f43=lct,e31=f21=lctc,e11=rclcrc,f23=rct,f41=rctc,e10=tc,f20=tcl,e30=f40=tcr" + } + this.galleryPanels.createHTML(container); + GF_panel.load({caption: "tweak selected stitch", id: "tweak", size:{width:'98%', height: 'auto'}, parent: container}); + container.insertAdjacentHTML('beforeend',` ++ Assign tweaked stitch + + or click a stich in the pair diagram. + ${this.patternInfo.getLinkHtmlString(q)} +
++ ${this.steps.getHtmlString("droste")} + ${GF_hybrid.swatchSize.getHtmlString()} +
+ + `); + GF_panel.load({caption: this.steps.getHtmlString("pair"), id: "pair_panel", wandHref: pairWandHref, controls: ["resize"], parent: container}); + GF_panel.load({caption: this.steps.getHtmlString("thread"), id: "thread_panel", wandHref: threadWandHref, controls: ["resize", "color"], parent: container}); + GF_panel.load({caption: 'stitch enumeration', id: "legend_panel", controls: ["resize"], parent: container}); + GF_panel.load({caption: "specifications", id: "specs", controls: ["resize"], size:{width: '100%', height: '300px'}, parent: container}); + this.steps.setListeners(); + document.getElementById('tweak').insertAdjacentHTML('beforeend', GF_hybrid.tweak.getHtmlString()); + const params = new URLSearchParams(q); + document.getElementById('tweak').parentNode.style = `width: calc(100% - 7px)`; + const specsPanelContent = document.getElementById('specs'); + function drosteTextField(level) { + const paramValue = (params.get('droste'+(level+1)) || '').replaceAll(',','\n') + '\n' || ''; + return `` + } + specsPanelContent.innerHTML = ` ++ Specs collected from URL and clicks: + ${this.patternInfo.getSpecsHtmlString(q)} + ${drosteTextField(1)} + ${drosteTextField(2)} + ${drosteTextField(3)} + `; + specsPanelContent.parentNode.style.display = "block"; + specsPanelContent.style.width = "100%"; + specsPanelContent.style.height = "0"; + for (let type of ["pair", "thread"]) { + const panelEl = document.getElementById(type + '_panel'); + panelEl.innerHTML = "Click/tap the wand to (re)generate the diagram. Large diagrams may take several seconds."; + panelEl.style.color = "#bbbbbb"; + } + + console.log('================ Loaded panels ================'); + }, + deferredLoadingHandle: null, + + deferredLoading() { + if (this.deferredLoadingHandle && this.deferredLoadingHandle.cancel) { + this.deferredLoadingHandle.cancel(); + } + + let canceled = false; + let timer = null; + const cancel = () => { + canceled = true; + if (timer) clearTimeout(timer); + }; + + const scheduleIdle = (fn) => { + if ("requestIdleCallback" in window) { + requestIdleCallback(() => { + if (!canceled) fn(); + }); // no timeout: wait for real idle + } else { + setTimeout(() => { + if (!canceled) fn(); + }, 0); + } + }; + + this.deferredLoadingHandle = { cancel }; + + // Give images/layout a head start + timer = setTimeout(() => { + scheduleIdle(() => { + this.generateSelectedDiagram("pair"); + this.setStitchEvents(); + + scheduleIdle(() => { + this.generateSelectedDiagram("thread"); + if (this.deferredLoadingHandle?.cancel === cancel) { + this.deferredLoadingHandle = null; + } + }); + }); + }, 30); // tune 80-200ms + }, + hideParents(hiddenElements) { + for (let id of hiddenElements) { + document.getElementById(id).parentNode.style.display = 'none'; + } + }, + /** + * Wrapper for load. Initial step is 1 and specs panel is shown immediately + * + * @param {!HTMLElement} container receives the generated components + */ + loadDroste(container){ + this.load(container); + GF_hybrid.galleryPanels.onlyStitches(); + this.hideParents([GF_hybrid.tweak.drosteOnBasicStitch.id]); + this.steps.init('droste'); + GF_hybrid.deferredLoading(); + }, + /** + * Wrapper for load. Initial step is 0 and specs panel is initially hidden, shown when step becomes larger. + * + * @param {!HTMLElement} container receives the generated components + * */ + loadStitches(container){ + this.load(container); + GF_hybrid.galleryPanels.onlyStitches(); + this.hideParents([GF_hybrid.tweak.drosteOnBasicStitch.id, 'specs']); + this.steps.init('stitches'); + GF_hybrid.deferredLoading(); + }, + /** + * Wrapper for load. Hides the third step field + * + * @param {!HTMLElement} container receives the generated components + * */ + loadDrosteMixer(container){ + this.load(container); + this.galleryPanels.initVisibleGallery('snow4'); + this.steps.init('drosteMixer'); + GF_hybrid.deferredLoading(); + }, + assignToIgnored() { + const stepValue = document.getElementById('pairStep').value * 1; + const stitchValue = document.getElementById(GF_hybrid.tweak.basicStitch.id).value; + let query = this.patternInfo.getValue(); + + // key=- where key is letters+digits (e.g. e1=-, f42=-) + // this also matches droste1=- but not expecting just a dash as content for the droste specs + const regexp = /(^|&)([a-z]+[0-9]+=)-(&|$)/gi + + if (document.getElementById(GF_hybrid.tweak.drosteOnBasicStitch.id).value.trim() !== '') { + this.showToast("Assign to ignored is not implemented for droste applied to basic stitch") + } else if (stepValue !== 0 && stitchValue) { + this.showToast("Assign to ignored is only implemented for step 1") + } else if (!regexp.test(query)) { + this.showToast("No ignored stitches.") + } else { + if (stitchValue) { + query = query.replace(regexp, `$1$2${stitchValue}$3`); + } else { + query = query.replace(regexp, (match, sep, keyEq, tail) => { + const rnd = this.getRandomStitch(); + return `${sep}${keyEq}${rnd}${tail}`; + }); + } + document.getElementById('pair_panel').style.backgroundColor = GF_hybrid.dirtyBackGround; + this.patternInfo.setValue(query); + } + }, + assignToAll() { + const stepValue = document.getElementById('pairStep').value * 1; + const stitchValue = document.getElementById(GF_hybrid.tweak.basicStitch.id).value; + const stitchTitles = Array.from(document.getElementById('pair_panel') + .getElementsByTagName('title') + ); + if (document.getElementById(GF_hybrid.tweak.drosteOnBasicStitch.id).value.trim() !== '') { + this.showToast("Assign to all is not implemented for droste applied to basic stitch") + } else if (stepValue !== 0 && stitchValue) { + document.getElementById('droste' + stepValue).value = + stitchValue; // default for this droste level + } else if (!stitchTitles || stitchTitles.length === 0) { + this.showToast("No stitches found in the pair diagram.") + } else { + document.getElementById('pair_panel').style.backgroundColor = GF_hybrid.dirtyBackGround; + const params = new URLSearchParams(this.patternInfo.getValue()); + const regex = /^[a-zA-Z]{1,2}\d+$/; + // remove predefined stitches + for (const key of Array.from(params.keys())) { + if (regex.test(key)) { + params.delete(key); + } + } + // add stitches with ID-s from diagram + stitchTitles.forEach(el => { + const [stitch,tag = ''] = el.textContent.toLowerCase().split(/ - /); + if (tag !== '') { + const newValue = stitchValue + ? stitchValue + : this.getRandomStitch(); + params.set(tag, newValue); + } + }); + this.patternInfo.setValue(Array.from(params).map(([k, v]) => `${k}=${v}`).join('&')); + } + } +} \ No newline at end of file diff --git a/docs/js/nudgePairs.js b/docs/js/nudgePairs.js index b351f557e..1f9c40315 100644 --- a/docs/js/nudgePairs.js +++ b/docs/js/nudgePairs.js @@ -1,8 +1,3 @@ - -/** - * container: d3.selection of element containing an SVG generated with PairSvg.create - * in other words: the primary pair diagram - */ function nudgePairs(containerId) { var svg = d3.select(containerId+" svg") @@ -12,20 +7,22 @@ function nudgePairs(containerId) { } /** - * @param svg has - * - elements with - * - class node - * - an id attribute - * - an attribute transform="translate(x,y)" - * - elements with - * - class link - * - an id attribute containing the IDs of their nodes separated with '-' - * - an attribute d defining a path with or without a midpoint - * See also - * https://devdocs.io/d3~4/d3-force - * https://devdocs.io/d3~4/d3-selection + * Spreads nodes in a pair diagram to reduce overlaps. + * + * **SVG requirements:** + * - Elements with class `node` and an `id` attribute + * - Must have attribute `transform="translate(x,y)"` + * - Elements with class `link` and an `id` attribute containing node IDs separated by `-` + * - Must have attribute `d` defining a path + * + * Uses d3-force to apply forces to the nodes and links of the diagram. + * Requires d3.js and DiagramSvg.linkPath function of GroundForge-opt.js. See also + * - https://devdocs.io/d3~4/d3-force + * - https://devdocs.io/d3~4/d3-selection + * @param svg SVG element selected with d3.select + * @param diagramType 'pair' or 'thread' (default: 'thread') */ -function nudgeDiagram(svg) { +function nudgeDiagram(svg, diagramType='thread') { // collect data of the SVG elements with class node @@ -109,12 +106,13 @@ function nudgeDiagram(svg) { } // define forces with the collected data - d3.forceSimulation(nodeData) + const forceDistance = diagramType === 'thread' ? 11.5 : 18; + d3.forceSimulation(nodeData) .force("charge", d3.forceManyBody().strength(-1000)) .force("link", d3 .forceLink(linkData) .strength(50) - .distance(11.5) + .distance(forceDistance) .iterations(30)) .force("center", d3.forceCenter(100, 100)) .alpha(0.0035) diff --git a/docs/js/stitch-gallery.js b/docs/js/stitch-gallery.js index 09a891309..bf4ccbc87 100644 --- a/docs/js/stitch-gallery.js +++ b/docs/js/stitch-gallery.js @@ -43,9 +43,9 @@ const GF_stitches = { }, - loadStitchExamples() { + loadStitchExamples(gallryID = "#gallery") { for (let stitch of GF_stitches.stitches) { - document.querySelector("#gallery").innerHTML += ` + document.querySelector(gallryID).innerHTML += `