diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..93f61695 --- /dev/null +++ b/404.html @@ -0,0 +1,1503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ +

404 - Not found

+ +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..0275f08d --- /dev/null +++ b/CNAME @@ -0,0 +1,2 @@ +tart.run +www.tart.run diff --git a/assets/TartLicenseSubscription.pdf b/assets/TartLicenseSubscription.pdf new file mode 100644 index 00000000..ed89196f Binary files /dev/null and b/assets/TartLicenseSubscription.pdf differ diff --git a/assets/animations/Orchard.lottie b/assets/animations/Orchard.lottie new file mode 100644 index 00000000..153598ba Binary files /dev/null and b/assets/animations/Orchard.lottie differ diff --git a/assets/animations/TartLogo.lottie b/assets/animations/TartLogo.lottie new file mode 100644 index 00000000..f22a1153 Binary files /dev/null and b/assets/animations/TartLogo.lottie differ diff --git a/assets/external/fonts.googleapis.com/css.49ea35f2.css b/assets/external/fonts.googleapis.com/css.49ea35f2.css new file mode 100644 index 00000000..68986a16 --- /dev/null +++ b/assets/external/fonts.googleapis.com/css.49ea35f2.css @@ -0,0 +1,594 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xIIzI.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: italic; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 400; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2) format('woff2'); + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto Mono'; + font-style: normal; + font-weight: 700; + font-display: fallback; + src: url(../fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 new file mode 100644 index 00000000..d88dd2b8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 new file mode 100644 index 00000000..0f8ca12a Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 new file mode 100644 index 00000000..317f651e Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 new file mode 100644 index 00000000..0e37f987 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 new file mode 100644 index 00000000..e0934d94 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 new file mode 100644 index 00000000..d95067a4 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 new file mode 100644 index 00000000..83874b7b Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 new file mode 100644 index 00000000..50a28059 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 new file mode 100644 index 00000000..efbe79a2 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 new file mode 100644 index 00000000..ea329ab8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 new file mode 100644 index 00000000..993b327c Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 new file mode 100644 index 00000000..d3cb894a Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 new file mode 100644 index 00000000..1283c45d Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 new file mode 100644 index 00000000..851fedb9 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 new file mode 100644 index 00000000..8f20a2cc Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 new file mode 100644 index 00000000..bed87080 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 new file mode 100644 index 00000000..e1f558cd Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 new file mode 100644 index 00000000..688c713d Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xIIzI.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xIIzI.woff2 new file mode 100644 index 00000000..9dc0be83 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xIIzI.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 new file mode 100644 index 00000000..3e5facb8 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 new file mode 100644 index 00000000..1125cc01 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 new file mode 100644 index 00000000..a57fbdc2 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 new file mode 100644 index 00000000..72226f5d Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 new file mode 100644 index 00000000..b61eed30 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 new file mode 100644 index 00000000..a26ba157 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 new file mode 100644 index 00000000..a69131b3 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 new file mode 100644 index 00000000..14af54ae Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 new file mode 100644 index 00000000..a7026d4c Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 new file mode 100644 index 00000000..41637e58 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 new file mode 100644 index 00000000..22f6f53c Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 new file mode 100644 index 00000000..19fc4b1b Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 new file mode 100644 index 00000000..98f53f74 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 new file mode 100644 index 00000000..660850ee Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 new file mode 100644 index 00000000..327eb664 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 new file mode 100644 index 00000000..c1754533 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 new file mode 100644 index 00000000..a7f32b6f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxK.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxK.woff2 new file mode 100644 index 00000000..2d7b2151 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxK.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 new file mode 100644 index 00000000..a4962e9b Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu72xKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu72xKOzY.woff2 new file mode 100644 index 00000000..e3d708f3 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu72xKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 new file mode 100644 index 00000000..20c87e67 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 new file mode 100644 index 00000000..cfd043db Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 new file mode 100644 index 00000000..47ce460f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 new file mode 100644 index 00000000..022274d4 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 new file mode 100644 index 00000000..48edd1b0 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 new file mode 100644 index 00000000..cb41535e Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 new file mode 100644 index 00000000..1d988a3f Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 new file mode 100644 index 00000000..11e6a46a Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 new file mode 100644 index 00000000..50fb8e71 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 new file mode 100644 index 00000000..1f1c97fe Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 new file mode 100644 index 00000000..16230051 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 new file mode 100644 index 00000000..6f232c38 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 new file mode 100644 index 00000000..a3e5aef7 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 new file mode 100644 index 00000000..f73f27d6 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 differ diff --git a/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 new file mode 100644 index 00000000..135d06e0 Binary files /dev/null and b/assets/external/fonts.gstatic.com/s/robotomono/v23/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/TartScreenshot.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/TartScreenshot.png new file mode 100644 index 00000000..f8db12e5 Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/TartScreenshot.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/TartSocial.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/TartSocial.png new file mode 100644 index 00000000..6ee0a564 Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/TartSocial.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Krisp.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Krisp.png new file mode 100644 index 00000000..aedc7bd3 Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Krisp.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Mullvad.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Mullvad.png new file mode 100644 index 00000000..25c68398 Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Mullvad.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/PITSGlobalDataRecoveryServices.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/PITSGlobalDataRecoveryServices.png new file mode 100644 index 00000000..5d7d087c Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/PITSGlobalDataRecoveryServices.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Suran.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Suran.png new file mode 100644 index 00000000..b7799f7a Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Suran.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Symflower.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Symflower.png new file mode 100644 index 00000000..a12bbf7c Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Symflower.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Transloadit.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Transloadit.png new file mode 100644 index 00000000..a5d271d3 Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Transloadit.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Uphold.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Uphold.png new file mode 100644 index 00000000..ea577137 Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/Uphold.png differ diff --git a/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/ahrefs.png b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/ahrefs.png new file mode 100644 index 00000000..8bd4ca79 Binary files /dev/null and b/assets/external/github.com/cirruslabs/tart/raw/main/Resources/Users/ahrefs.png differ diff --git a/assets/external/github.com/edigaryev.png.jpg b/assets/external/github.com/edigaryev.png.jpg new file mode 100644 index 00000000..6659820d Binary files /dev/null and b/assets/external/github.com/edigaryev.png.jpg differ diff --git a/assets/external/github.com/fkorotkov.png.jpg b/assets/external/github.com/fkorotkov.png.jpg new file mode 100644 index 00000000..65c004af Binary files /dev/null and b/assets/external/github.com/fkorotkov.png.jpg differ diff --git a/assets/external/platform.twitter.com/widgets.js b/assets/external/platform.twitter.com/widgets.js new file mode 100644 index 00000000..5314f2ab --- /dev/null +++ b/assets/external/platform.twitter.com/widgets.js @@ -0,0 +1,8 @@ +Function&&Function.prototype&&Function.prototype.bind&&(/(MSIE ([6789]|10|11))|Trident/.test(navigator.userAgent)||(window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.loaded&&window.twttr.widgets.load&&window.twttr.widgets.load(),window.__twttr&&window.__twttr.widgets&&window.__twttr.widgets.init||function(t){function e(e){for(var n,i,o=e[0],s=e[1],a=0,c=[];a-1},forIn:i,isObject:s,isEmptyObject:a,toType:o,isType:function(t,e){return t==o(e)},toRealArray:u}},function(t,e){t.exports=window},function(t,e,n){var r=n(16),i=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,o=/(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,s=/^http(s?):\/\/(\w+\.)*twitter\.com([:/]|$)/i,a=/^http(s?):\/\/(ton|pbs)\.twimg\.com/,u=/^#?([^.,<>!\s/#\-()'"]+)$/,c=/twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,d=/^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,f=/^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,l=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,h=/^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-%]+)/i,p=/^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,m=/^https?:\/\/syndication\.twitter\.com\/settings/i,v=/^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i,g=/^https?:\/\/(?:www\.)?twitter\.com\/search\?q=(\w+)/i;function w(t){return"string"==typeof t&&i.test(t)&&RegExp.$1.length<=20}function y(t){if(w(t))return RegExp.$1}function b(t,e){var n=r.decodeURL(t);if(e=e||!1,n.screen_name=y(t),n.screen_name)return r.url("https://twitter.com/intent/"+(e?"follow":"user"),n)}function _(t){return"string"==typeof t&&u.test(t)}function E(t){return"string"==typeof t&&o.test(t)}t.exports={isHashTag:_,hashTag:function(t,e){if(e=void 0===e||e,_(t))return(e?"#":"")+RegExp.$1},isScreenName:w,screenName:y,isStatus:E,status:function(t){return E(t)&&RegExp.$1},intentForProfileURL:b,intentForFollowURL:function(t){return b(t,!0)},isTwitterURL:function(t){return s.test(t)},isTwimgURL:function(t){return a.test(t)},isIntentURL:function(t){return c.test(t)},isSettingsURL:function(t){return m.test(t)},isWidgetIframeURL:function(t){return v.test(t)},isSearchUrl:function(t){return g.test(t)},regexen:{profile:i},momentId:function(t){return f.test(t)&&RegExp.$1},collectionId:function(t){return d.test(t)&&RegExp.$1},intentType:function(t){return c.test(t)&&RegExp.$1},likesScreenName:function(t){return l.test(t)&&RegExp.$1},listScreenNameAndSlug:function(t){var e,n,r;if(h.test(t)){e=RegExp.$1,n=RegExp.$2;try{r=decodeURIComponent(n)}catch(t){}return{ownerScreenName:e,slug:r||n}}return!1},eventId:function(t){return p.test(t)&&RegExp.$1}}},function(t,e,n){var r=n(6);t.exports=function(){var t=this;this.promise=new r(function(e,n){t.resolve=e,t.reject=n})}},function(t,e){t.exports=document},function(t,e,n){var r=n(0),i=[!0,1,"1","on","ON","true","TRUE","yes","YES"],o=[!1,0,"0","off","OFF","false","FALSE","no","NO"];function s(t){return void 0!==t&&null!==t&&""!==t}function a(t){return c(t)&&t%1==0}function u(t){return c(t)&&!a(t)}function c(t){return s(t)&&!isNaN(t)}function d(t){return r.contains(o,t)}function f(t){return r.contains(i,t)}t.exports={hasValue:s,isInt:a,isFloat:u,isNumber:c,isString:function(t){return"string"===r.toType(t)},isArray:function(t){return s(t)&&"array"==r.toType(t)},isTruthValue:f,isFalseValue:d,asInt:function(t){if(a(t))return parseInt(t,10)},asFloat:function(t){if(u(t))return t},asNumber:function(t){if(c(t))return t},asBoolean:function(t){return!(!s(t)||!f(t)&&(d(t)||!t))}}},function(t,e,n){var r=n(1),i=n(20),o=n(45);i.hasPromiseSupport()||(r.Promise=o),t.exports=r.Promise},function(t,e,n){var r=n(0);t.exports=function(t,e){var n=Array.prototype.slice.call(arguments,2);return function(){var i=r.toRealArray(arguments);return t.apply(e,n.concat(i))}}},function(t,e){t.exports=location},function(t,e,n){var r=n(47);t.exports=new r("__twttr")},function(t,e,n){var r=n(0),i=/\b([\w-_]+)\b/g;function o(t){return new RegExp("\\b"+t+"\\b","g")}function s(t,e){t.classList?t.classList.add(e):o(e).test(t.className)||(t.className+=" "+e)}function a(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(o(e)," ")}function u(t,e){return t.classList?t.classList.contains(e):r.contains(c(t),e)}function c(t){return r.toRealArray(t.classList?t.classList:t.className.match(i))}t.exports={add:s,remove:a,replace:function(t,e,n){if(t.classList&&u(t,e))return a(t,e),void s(t,n);t.className=t.className.replace(o(e),n)},toggle:function(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.classList.toggle(e,n):(n?s(t,e):a(t,e),n)},present:u,list:c}},function(t,e,n){var r=n(19),i=n(5),o=n(16),s=n(0),a=n(108);t.exports=function(t){var e=t.href&&t.href.split("?")[1],n=e?o.decode(e):{},u={lang:a(t),width:t.getAttribute("data-width")||t.getAttribute("width"),height:t.getAttribute("data-height")||t.getAttribute("height"),related:t.getAttribute("data-related"),partner:t.getAttribute("data-partner")};return i.asBoolean(t.getAttribute("data-dnt"))&&r.setOn(),s.forIn(u,function(t,e){var r=n[t];n[t]=i.hasValue(r)?r:e}),s.compact(n)}},function(t,e,n){var r=n(109),i=n(21);t.exports=function(){var t="data-twitter-extracted-"+i.generate();return function(e,n){return r(e,n).filter(function(e){return!e.hasAttribute(t)}).map(function(e){return e.setAttribute(t,"true"),e})}}},function(t,e){function n(t,e,n,r,i,o,s){this.factory=t,this.Sandbox=e,this.srcEl=o,this.targetEl=i,this.parameters=r,this.className=n,this.options=s}n.prototype.destroy=function(){this.srcEl=this.targetEl=null},t.exports=n},function(t,e){t.exports={DM_BUTTON:"twitter-dm-button",FOLLOW_BUTTON:"twitter-follow-button",HASHTAG_BUTTON:"twitter-hashtag-button",MENTION_BUTTON:"twitter-mention-button",MOMENT:"twitter-moment",PERISCOPE:"periscope-on-air",SHARE_BUTTON:"twitter-share-button",TIMELINE:"twitter-timeline",TWEET:"twitter-tweet"}},function(t,e,n){var r=n(6),i=n(19),o=n(50),s=n(34),a=n(5),u=n(0);t.exports=function(t,e,n){var c;return t=t||[],e=e||{},c="ƒ("+t.join(", ")+", target, [options]);",function(){var d,f,l,h,p=Array.prototype.slice.apply(arguments,[0,t.length]),m=Array.prototype.slice.apply(arguments,[t.length]);return m.forEach(function(t){t&&(t.nodeType!==Node.ELEMENT_NODE?u.isType("function",t)?d=t:u.isType("object",t)&&(f=t):l=t)}),p.length!==t.length||0===m.length?(d&&u.async(function(){d(!1)}),r.reject(new Error("Not enough parameters. Expected: "+c))):l?(f=u.aug({},f||{},e),t.forEach(function(t){f[t]=p.shift()}),a.asBoolean(f.dnt)&&i.setOn(),h=s.getExperiments().then(function(t){return o.addWidget(n(f,l,void 0,t))}),d&&h.then(d,function(){d(!1)}),h):(d&&u.async(function(){d(!1)}),r.reject(new Error("No target element specified. Expected: "+c)))}}},function(t,e,n){var r=n(5),i=n(0);function o(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(/'/g,"%27")}function s(t){return decodeURIComponent(t)}function a(t){var e=[];return i.forIn(t,function(t,n){var s=o(t);i.isType("array",n)||(n=[n]),n.forEach(function(t){r.hasValue(t)&&e.push(s+"="+o(t))})}),e.sort().join("&")}function u(t){var e={};return t?(t.split("&").forEach(function(t){var n=t.split("="),r=s(n[0]),o=s(n[1]);if(2==n.length){if(!i.isType("array",e[r]))return r in e?(e[r]=[e[r]],void e[r].push(o)):void(e[r]=o);e[r].push(o)}}),e):{}}t.exports={url:function(t,e){return a(e).length>0?i.contains(t,"?")?t+"&"+a(e):t+"?"+a(e):t},decodeURL:function(t){var e=t&&t.split("?");return 2==e.length?u(e[1]):{}},decode:u,encode:a,encodePart:o,decodePart:s}},function(t,e,n){var r=n(90),i=n(3),o=n(0);function s(t,e){return function(){try{e.resolve(t.call(this))}catch(t){e.reject(t)}}}t.exports={sync:function(t,e){t.call(e)},read:function(t,e){var n=new i;return r.read(s(t,n),e),n.promise},write:function(t,e){var n=new i;return r.write(s(t,n),e),n.promise},defer:function(t,e,n){var a=new i;return o.isType("function",t)&&(n=e,e=t,t=1),r.defer(t,s(e,a),n),a.promise}}},function(t,e,n){var r=n(8),i=n(1),o=n(0),s={},a=o.contains(r.href,"tw_debug=true");function u(){}function c(){}function d(){return i.performance&&+i.performance.now()||+new Date}function f(t,e){if(i.console&&i.console[t])switch(e.length){case 1:i.console[t](e[0]);break;case 2:i.console[t](e[0],e[1]);break;case 3:i.console[t](e[0],e[1],e[2]);break;case 4:i.console[t](e[0],e[1],e[2],e[3]);break;case 5:i.console[t](e[0],e[1],e[2],e[3],e[4]);break;default:0!==e.length&&i.console.warn&&i.console.warn("too many params passed to logger."+t)}}t.exports={devError:u,devInfo:c,devObject:function(t,e){},publicError:function(){f("error",o.toRealArray(arguments))},publicLog:function(){f("info",o.toRealArray(arguments))},publicWarn:function(){f("warn",o.toRealArray(arguments))},time:function(t){a&&(s[t]=d())},timeEnd:function(t){a&&s[t]&&(d(),s[t])}}},function(t,e,n){var r=n(4),i=n(8),o=n(38),s=n(94),a=n(5),u=n(33),c=!1,d=/https?:\/\/([^/]+).*/i;t.exports={setOn:function(){c=!0},enabled:function(t,e){return!!(c||a.asBoolean(u.val("dnt"))||s.isUrlSensitive(e||i.host)||o.isFramed()&&s.isUrlSensitive(o.rootDocumentLocation())||(t=d.test(t||r.referrer)&&RegExp.$1)&&s.isUrlSensitive(t))}}},function(t,e,n){var r=n(4),i=n(83),o=n(1),s=n(0),a=i.userAgent;function u(t){return/(Trident|MSIE|Edge[/ ]?\d)/.test(t=t||a)}t.exports={retina:function(t){return(t=t||o).devicePixelRatio?t.devicePixelRatio>=1.5:!!t.matchMedia&&t.matchMedia("only screen and (min-resolution: 144dpi)").matches},anyIE:u,ie9:function(t){return/MSIE 9/.test(t=t||a)},ie10:function(t){return/MSIE 10/.test(t=t||a)},ios:function(t){return/(iPad|iPhone|iPod)/.test(t=t||a)},android:function(t){return/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t=t||a)},canPostMessage:function(t,e){return t=t||o,e=e||a,t.postMessage&&!(u(e)&&t.opener)},touch:function(t,e,n){return t=t||o,e=e||i,n=n||a,"ontouchstart"in t||/Opera Mini/.test(n)||e.msMaxTouchPoints>0},cssTransitions:function(){var t=r.body.style;return void 0!==t.transition||void 0!==t.webkitTransition||void 0!==t.mozTransition||void 0!==t.oTransition||void 0!==t.msTransition},hasPromiseSupport:function(){return!!(o.Promise&&o.Promise.resolve&&o.Promise.reject&&o.Promise.all&&o.Promise.race&&(new o.Promise(function(e){t=e}),s.isType("function",t)));var t},hasIntersectionObserverSupport:function(){return!!o.IntersectionObserver},hasPerformanceInformation:function(){return o.performance&&o.performance.getEntriesByType}}},function(t,e){var n="i",r=0,i=0;t.exports={generate:function(){return n+String(+new Date)+Math.floor(1e5*Math.random())+r++},deterministic:function(){return n+String(i++)}}},function(t,e,n){var r=n(46),i=n(49),o=n(0);t.exports=o.aug(r.get("events")||{},i.Emitter)},function(t,e,n){var r=n(6),i=n(3);function o(t,e){return t.then(e,e)}function s(t){return t instanceof r}t.exports={always:o,allResolved:function(t){var e;return void 0===t?r.reject(new Error("undefined is not an object")):Array.isArray(t)?(e=t.length)?new r(function(n,r){var i=0,o=[];function a(){(i+=1)===e&&(0===o.length?r():n(o))}function u(t){o.push(t),a()}t.forEach(function(t){s(t)?t.then(u,a):u(t)})}):r.resolve([]):r.reject(new Error("Type error"))},some:function(t){var e;return e=(t=t||[]).length,t=t.filter(s),e?e!==t.length?r.reject("non-Promise passed to .some"):new r(function(e,n){var r=0;function i(){(r+=1)===t.length&&n()}t.forEach(function(t){t.then(e,i)})}):r.reject("no promises passed to .some")},isPromise:s,allSettled:function(t){function e(){}return r.all((t||[]).map(function(t){return o(t,e)}))},timeout:function(t,e){var n=new i;return setTimeout(function(){n.reject(new Error("Promise timed out"))},e),t.then(function(t){n.resolve(t)},function(t){n.reject(t)}),n.promise}}},function(t,e,n){var r=n(1).JSON;t.exports={stringify:r.stringify||r.encode,parse:r.parse||r.decode}},function(t,e,n){var r=n(39),i=n(97),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(49).makeEmitter();t.exports={emitter:r,START:"start",ALL_WIDGETS_RENDER_START:"all_widgets_render_start",ALL_WIDGETS_RENDER_END:"all_widgets_render_end",ALL_WIDGETS_AND_IMAGES_LOADED:"all_widgets_and_images_loaded"}},function(t,e,n){var r=n(9),i=n(102),o="https://syndication.twitter.com",s="https://platform.twitter.com",a=["https://syndication.twitter.com","https://cdn.syndication.twimg.com","https://localhost.twitter.com:8444"],u=["https://syndication.twitter.com","https://localhost.twitter.com:8445"],c=["https://platform.twitter.com","https://localhost.twitter.com",/^https:\/\/ton\.local\.twitter\.com\/syndication-internal\/embed-iframe\/[0-9A-Za-z_-]+\/app/],d=function(t,e){return t.some(function(t){return t instanceof RegExp?t.test(e):t===e})},f=function(){var t=r.get("backendHost");return t&&d(a,t)?t:"https://cdn.syndication.twimg.com"},l=function(){var t=r.get("settingsSvcHost");return t&&d(u,t)?t:o};function h(t,e){var n=[t];return e.forEach(function(t){n.push(function(t){var e=(t||"").toString(),n="/"===e.slice(0,1)?1:0,r=function(t){return"/"===t.slice(-1)}(e)?-1:void 0;return e.slice(n,r)}(t))}),n.join("/")}t.exports={cookieConsent:function(t){var e=t||[];return e.unshift("cookie/consent"),h(l(),e)},embedIframe:function(t,e){var n=t||[],o=s,a=r.get("embedIframeURL");return a&&d(c,a)?h(a,n)+".html":(n.unshift(i.getBaseURLPath(e)),h(o,n)+".html")},embedService:function(t){var e=t||[],n=o;return e.unshift("srv"),h(n,e)},eventVideo:function(t){var e=t||[];return e.unshift("video/event"),h(f(),e)},grid:function(t){var e=t||[];return e.unshift("grid/collection"),h(f(),e)},moment:function(t){var e=t||[];return e.unshift("moments"),h(f(),e)},settings:function(t){var e=t||[];return e.unshift("settings"),h(l(),e)},settingsScribe:function(t){var e=t||[];return e.unshift("i/jot/embeds"),h(l(),e)},timeline:function(t){var e=t||[];return e.unshift("timeline"),h(f(),e)},tweetBatch:function(t){var e=t||[];return e.unshift("tweets.json"),h(f(),e)},video:function(t){var e=t||[];return e.unshift("widgets/video"),h(f(),e)}}},function(t,e,n){var r=n(4),i=n(0);t.exports=function(t,e,n){var o;if(n=n||r,t=t||{},e=e||{},t.name){try{o=n.createElement('')}catch(e){(o=n.createElement("iframe")).name=t.name}delete t.name}else o=n.createElement("iframe");return t.id&&(o.id=t.id,delete t.id),o.allowtransparency="true",o.scrolling="no",o.setAttribute("frameBorder",0),o.setAttribute("allowTransparency",!0),i.forIn(t,function(t,e){o.setAttribute(t,e)}),i.forIn(e,function(t,e){o.style[t]=e}),o}},function(t,e,n){var r=n(25),i=n(100);t.exports=r.build([i])},function(t,e,n){var r=n(25),i=n(116);t.exports=r.build([i])},function(t,e,n){var r=n(39),i=n(40),o=n(7);(r=Object.create(r)).build=o(r.build,null,i),t.exports=r},function(t,e,n){var r=n(70),i=n(19),o=n(5),s=n(21),a=n(0);t.exports=function(t){t.params({chrome:{},height:{transform:o.asInt},instanceId:{required:!0,fallback:s.deterministic},isPreconfigured:{},lang:{required:!0,transform:r.matchLanguage,fallback:"en"},theme:{},tweetLimit:{transform:o.asInt}}),t.defineProperty("endpoint",{get:function(){throw new Error("endpoint not specified")}}),t.define("queryParams",function(){return a.compact({dnt:i.enabled(),limit:this.params.tweetLimit,lang:this.params.lang})})}},function(t,e,n){var r,i=n(4);function o(t){var e,n,o,s=0;for(r={},e=(t=t||i).getElementsByTagName("meta");e[s];s++){if(n=e[s],/^twitter:/.test(n.getAttribute("name")))o=n.getAttribute("name").replace(/^twitter:/,"");else{if(!/^twitter:/.test(n.getAttribute("property")))continue;o=n.getAttribute("property").replace(/^twitter:/,"")}r[o]=n.getAttribute("content")||n.getAttribute("value")}}o(),t.exports={init:o,val:function(t){return r[t]}}},function(t,e,n){var r=n(104),i=n(24),o=n(1);function s(t){var e="";if(!t)return"";try{return e=i.stringify(t),o.btoa(e)}catch(t){return""}}function a(t){return r.settingsLoaded().then(function(e){return e[t]})}function u(){return a("features")}t.exports={encodeFeatures:s,shouldObtainCookieConsent:function(){return a("shouldObtainCookieConsent")},getExperiments:u,getExperiment:function(t){return u().then(function(e){if(!e[t])throw new Error("Experiment not found");return e[t]})},getHorizonSettings:function(){return r.settingsLoaded().then(function(t){return{features:t.features,sessionId:t.sessionId}})},getActiveExperimentDataString:function(){return u().then(function(t){return s(t)})},getExperimentKeys:function(){return u().then(function(t){return Object.keys(t)})},load:function(){r.load()}}},function(t,e,n){var r=n(10),i={},o=-1,s={};function a(t){var e=t.getAttribute("data-twitter-event-id");return e||(t.setAttribute("data-twitter-event-id",++o),o)}function u(t,e,n){var r=0,i=t&&t.length||0;for(r=0;r1?(e=Math.floor(t.item_ids.length/2),n=t.item_ids.slice(0,e),r={},i=t.item_ids.slice(e),o={},n.forEach(function(e){r[e]=t.item_details[e]}),i.forEach(function(e){o[e]=t.item_details[e]}),[f.aug({},t,{item_ids:n,item_details:r}),f.aug({},t,{item_ids:i,item_details:o})]):[t]},stringify:function(t){var e,n=Array.prototype.toJSON;return delete Array.prototype.toJSON,e=u.stringify(t),n&&(Array.prototype.toJSON=n),e},CLIENT_EVENT_ENDPOINT:p,RUFOUS_REDIRECT:"https://platform.twitter.com/jot.html"}},function(t,e,n){var r=n(8),i=n(73),o=n(0),s=i.getCanonicalURL()||r.href,a=s;t.exports={isFramed:function(){return s!==a},rootDocumentLocation:function(t){return t&&o.isType("string",t)&&(s=t),s},currentDocumentLocation:function(){return a}}},function(t,e,n){var r=n(95),i=n(96),o=n(0);t.exports={couple:function(){return o.toRealArray(arguments)},build:function(t,e,n){var o=new t;return(e=i(r(e||[]))).forEach(function(t){t.call(null,o)}),o.build(n)}}},function(t,e,n){var r=n(98),i=n(0),o=n(41);function s(){this.Component=this.factory(),this._adviceArgs=[],this._lastArgs=[]}i.aug(s.prototype,{factory:o,build:function(t){var e=this;return this.Component,i.aug(this.Component.prototype.boundParams,t),this._adviceArgs.concat(this._lastArgs).forEach(function(t){(function(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist");this[e]=t(r,n)}).apply(e.Component.prototype,t)}),delete this._lastArgs,delete this._adviceArgs,this.Component},params:function(t){var e=this.Component.prototype.paramConfigs;t=t||{},this.Component.prototype.paramConfigs=i.aug({},t,e)},define:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.override(t,e)},defineStatic:function(t,e){this.Component[t]=e},override:function(t,e){this.Component.prototype[t]=e},defineProperty:function(t,e){if(t in this.Component.prototype)throw new Error(t+" has previously been defined");this.overrideProperty(t,e)},overrideProperty:function(t,e){var n=i.aug({configurable:!0},e);Object.defineProperty(this.Component.prototype,t,n)},before:function(t,e){this._adviceArgs.push([r.before,t,e])},after:function(t,e){this._adviceArgs.push([r.after,t,e])},around:function(t,e){this._adviceArgs.push([r.around,t,e])},last:function(t,e){this._lastArgs.push([r.after,t,e])}}),t.exports=s},function(t,e,n){var r=n(0);function i(){return!0}function o(t){return t}t.exports=function(){function t(t){var e=this;t=t||{},this.params=Object.keys(this.paramConfigs).reduce(function(n,s){var a=[],u=e.boundParams,c=e.paramConfigs[s],d=c.validate||i,f=c.transform||o;if(s in u&&a.push(u[s]),s in t&&a.push(t[s]),a="fallback"in c?a.concat(c.fallback):a,n[s]=function(t,e,n){var i=null;return t.some(function(t){if(t=r.isType("function",t)?t():t,e(t))return i=n(t),!0}),i}(a,d,f),c.required&&null==n[s])throw new Error(s+" is a required parameter");return n},{}),this.initialize()}return r.aug(t.prototype,{paramConfigs:{},boundParams:{},initialize:function(){}}),t}},function(t){t.exports={version:"2615f7e52b7e0:1702314776716"}},function(t,e,n){var r=n(1);t.exports=function(t,e,n){var i,o=0;return n=n||null,function s(){var a=n||this,u=arguments,c=+new Date;if(r.clearTimeout(i),c-o>e)return o=c,void t.apply(a,u);i=r.setTimeout(function(){s.apply(a,u)},e)}}},function(t,e,n){var r=n(18);t.exports=function(){r.publicError("Error: This Timeline type is no longer supported (Likes, Collections, & Moments). \n\t","* Twitter still supports Profile and List Timelines \n\t","* You can learn more about this change in our announcement: \n\t","https://twittercommunity.com/t/removing-support-for-embedded-like-collection-and-moment-timelines/150313 \n\t","* In order to create a new Embedded Timeline, visit: https://publish.twitter.com")}},function(t,e,n){ +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.5+7f2b526d + */var r;r=function(){"use strict";function t(t){return"function"==typeof t}var e=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},n=0,r=void 0,i=void 0,o=function(t,e){l[n]=t,l[n+1]=e,2===(n+=2)&&(i?i(h):w())},s="undefined"!=typeof window?window:void 0,a=s||{},u=a.MutationObserver||a.WebKitMutationObserver,c="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function f(){var t=setTimeout;return function(){return t(h,1)}}var l=new Array(1e3);function h(){for(var t=0;t=0&&this._handlers[t].splice(n,1):this._handlers[t]=[])},trigger:function(t,e){var n=this._handlers&&this._handlers[t];(e=e||{}).type=t,n&&n.forEach(function(t){r.async(i(t,this,e))})}};t.exports={Emitter:o,makeEmitter:function(){return r.aug(function(){},o)}}},function(t,e,n){var r=n(89),i=n(91),o=n(6),s=n(23),a=n(7),u=n(0),c=new i(function(t){var e=function(t){return t.reduce(function(t,e){return t[e._className]=t[e._className]||[],t[e._className].push(e),t},{})}(t.map(r.fromRawTask));u.forIn(e,function(t,e){s.allSettled(e.map(function(t){return t.initialize()})).then(function(){e.forEach(function(t){o.all([t.hydrate(),t.insertIntoDom()]).then(a(t.render,t)).then(a(t.success,t),a(t.fail,t))})})})});t.exports={addWidget:function(t){return c.add(t)}}},function(t,e,n){var r=n(17);t.exports=function(t){return r.write(function(){t&&t.parentNode&&t.parentNode.removeChild(t)})}},function(t,e,n){var r=n(93),i=n(71),o=new(n(103))(function(t){(!function(t){return 1===t.length&&i.canFlushOneItem(t[0])}(t)?function(t){r.init(),t.forEach(function(t){var e=t.input.namespace,n=t.input.data,i=t.input.offsite,o=t.input.version;r.clientEvent(e,n,i,o)}),r.flush().then(function(){t.forEach(function(t){t.taskDoneDeferred.resolve()})},function(){t.forEach(function(t){t.taskDoneDeferred.reject()})})}:function(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.data,r=t.input.offsite,o=t.input.version;i.clientEvent(e,n,r,o),t.taskDoneDeferred.resolve()})})(t)});t.exports={scribe:function(t,e,n,r){return o.add({namespace:t,data:e,offsite:n,version:r})},pause:function(){o.pause()},resume:function(){o.resume()}}},function(t,e,n){n(18),t.exports={log:function(t,e){}}},function(t,e,n){var r=n(1);function i(t){return(t=t||r).getSelection&&t.getSelection()}t.exports={getSelection:i,getSelectedText:function(t){var e=i(t);return e?e.toString():""}}},function(t,e,n){var r=n(4),i=n(1),o=n(3),s=2e4;t.exports=function(t){var e=new o,n=r.createElement("img");return n.onload=n.onerror=function(){i.setTimeout(e.resolve,50)},n.src=t,i.setTimeout(e.reject,s),e.promise}},function(t,e,n){var r,i=n(10),o=n(4),s=n(1),a=n(33),u=n(51),c=n(5),d=n(21),f="csptest";t.exports={inlineStyle:function(){var t=f+d.generate(),e=o.createElement("div"),n=o.createElement("style"),l="."+t+" { visibility: hidden; }";return!!o.body&&(c.asBoolean(a.val("widgets:csp"))&&(r=!1),void 0!==r?r:(e.style.display="none",i.add(e,t),n.type="text/css",n.appendChild(o.createTextNode(l)),o.body.appendChild(n),o.body.appendChild(e),r="hidden"===s.getComputedStyle(e).visibility,u(e),u(n),r))}}},function(t,e){t.exports=function(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height}}},function(t,e,n){var r=n(101);t.exports=function(t){t.define("createElement",r),t.define("createFragment",r),t.define("htmlToElement",r),t.define("hasSelectedText",r),t.define("addRootClass",r),t.define("removeRootClass",r),t.define("hasRootClass",r),t.define("prependStyleSheet",r),t.define("appendStyleSheet",r),t.define("prependCss",r),t.define("appendCss",r),t.define("makeVisible",r),t.define("injectWidgetEl",r),t.define("matchHeightToContent",r),t.define("matchWidthToContent",r)}},function(t,e){t.exports=function(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(this,arguments))}}},function(t,e,n){var r=n(13),i=n(110),o=n(111),s=n(14);t.exports=function(t,e,n){return new r(i,o,s.DM_BUTTON,t,e,n)}},function(t,e,n){var r=n(25),i=n(112);t.exports=r.build([i])},function(t,e,n){var r=n(13),i=n(115),o=n(30),s=n(14);t.exports=function(t,e,n){return new r(i,o,s.FOLLOW_BUTTON,t,e,n)}},function(t,e,n){var r=n(13),i=n(123),o=n(29),s=n(14);t.exports=function(t,e,n){return new r(i,o,s.MOMENT,t,e,n)}},function(t,e,n){var r=n(13),i=n(125),o=n(29),s=n(14);t.exports=function(t,e,n){return new r(i,o,s.PERISCOPE,t,e,n)}},function(t,e,n){var r=n(127),i=n(128),o=n(132),s=n(134),a=n(136),u={collection:i,likes:o,list:s,profile:a,url:d},c=[a,o,i,s];function d(t){return r(c,function(e){try{return new e(t)}catch(t){}})}t.exports=function(t){return t?function(t){var e,n;return e=(t.sourceType+"").toLowerCase(),(n=u[e])?new n(t):null}(t)||d(t):null}},function(t,e,n){var r=n(4),i=n(13),o=n(30),s=n(138),a=n(14);t.exports=function(t,e,n){var u=r.createElement("div");return new i(s,o,a.TIMELINE,t,e,n,{sandboxWrapperEl:u})}},function(t,e,n){var r=n(4),i=n(13),o=n(30),s=n(140),a=n(14);t.exports=function(t,e,n){return new i(s,o,a.TWEET,t,e,n,{sandboxWrapperEl:r.createElement("div")})}},function(t,e,n){var r=n(13),i=n(142),o=n(30),s=n(14);t.exports=function(t,e,n){var a=t&&t.type||"share",u="hashtag"==a?s.HASHTAG_BUTTON:"mention"==a?s.MENTION_BUTTON:s.SHARE_BUTTON;return new r(i,o,u,t,e,n)}},function(t,e,n){var r=n(52),i=n(38),o=n(0);t.exports=function(t){var e={widget_origin:i.rootDocumentLocation(),widget_frame:i.isFramed()?i.currentDocumentLocation():null,duration_ms:t.duration,item_ids:t.widgetIds||[]},n=o.aug(t.namespace,{page:"page",component:"performance"});r.scribe(n,e)}},function(t,e,n){var r=n(0),i=n(129),o=["ar","fa","he","ur"];t.exports={isRtlLang:function(t){return t=String(t).toLowerCase(),r.contains(o,t)},matchLanguage:function(t){return t=(t=(t||"").toLowerCase()).replace("_","-"),i(t)?t:(t=t.replace(/-.*/,""),i(t)?t:"en")}}},function(t,e,n){var r=n(53),i=n(16),o=n(37),s=n(27),a=n(0),u=n(9),c=n(6),d=u.get("scribeCallback"),f=2083,l=[],h=i.url(o.CLIENT_EVENT_ENDPOINT,{dnt:0,l:""}),p=encodeURIComponent(h).length;function m(t,e,n,r,i){var u=!a.isObject(t),f=!!e&&!a.isObject(e);if(!u&&!f)return d&&d(arguments),e=e||{},c.resolve(v(o.formatClientEventNamespace(t),o.formatClientEventData(e,n,r),s.settingsScribe(),i))}function v(t,e,n,s){var u;n&&a.isObject(t)&&a.isObject(e)&&(r.log(t,e),u=o.flattenClientEventPayload(t,e),s=a.aug({},s,{l:o.stringify(u)}),u.dnt&&(s.dnt=1),w(i.url(n,s)))}function g(t){return l.push(t),l}function w(t){return(new Image).src=t}t.exports={canFlushOneItem:function(t){var e=o.stringify(t),n=encodeURIComponent(e).length+3;return p+n")}).then(function(){t.close(),a.resolve(c)})}),c.src=["javascript:",'document.write("");',"try { window.parent.document; }",'catch (e) { document.domain="'+r.domain+'"; }',"window.parent."+g.fullPath(["sandbox",u])+"();"].join(""),c.addEventListener("error",a.reject,!1),o.write(function(){i.parentNode.replaceChild(c,i)}),a.promise}t.exports=a.couple(n(58),function(t){t.overrideProperty("id",{get:function(){return this.sandboxEl&&this.sandboxEl.id}}),t.overrideProperty("initialized",{get:function(){return!!this.win}}),t.overrideProperty("width",{get:function(){return this._width}}),t.overrideProperty("height",{get:function(){return this._height}}),t.overrideProperty("sandboxEl",{get:function(){return this.iframeEl}}),t.defineProperty("iframeEl",{get:function(){return this._iframe}}),t.defineProperty("rootEl",{get:function(){return this.doc&&this.doc.documentElement}}),t.defineProperty("widgetEl",{get:function(){return this.doc&&this.doc.body.firstElementChild}}),t.defineProperty("win",{get:function(){return this.iframeEl&&this.iframeEl.contentWindow}}),t.defineProperty("doc",{get:function(){return this.win&&this.win.document}}),t.define("_updateCachedDimensions",function(){var t=this;return o.read(function(){var e,n=h(t.sandboxEl);"visible"==t.sandboxEl.style.visibility?t._width=n.width:(e=h(t.sandboxEl.parentElement).width,t._width=Math.min(n.width,e)),t._height=n.height})}),t.define("_setTargetToBlank",function(){var t=this.createElement("base");t.target="_blank",this.doc.head.appendChild(t)}),t.define("_didResize",function(){var t=this,e=this._resizeHandlers.slice(0);return this._updateCachedDimensions().then(function(){e.forEach(function(e){e(t)})})}),t.define("setTitle",function(t){this.iframeEl.title=t}),t.override("createElement",function(t){return this.doc.createElement(t)}),t.override("createFragment",function(){return this.doc.createDocumentFragment()}),t.override("htmlToElement",function(t){var e;return(e=this.createElement("div")).innerHTML=t,e.firstElementChild}),t.override("hasSelectedText",function(){return!!s.getSelectedText(this.win)}),t.override("addRootClass",function(t){var e=this.rootEl;return t=Array.isArray(t)?t:[t],this.initialized?o.write(function(){t.forEach(function(t){i.add(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("removeRootClass",function(t){var e=this.rootEl;return t=Array.isArray(t)?t:[t],this.initialized?o.write(function(){t.forEach(function(t){i.remove(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("hasRootClass",function(t){return i.present(this.rootEl,t)}),t.define("addStyleSheet",function(t,e){var n,r=new p;return this.initialized?((n=this.createElement("link")).type="text/css",n.rel="stylesheet",n.href=t,n.addEventListener("load",r.resolve,!1),n.addEventListener("error",r.reject,!1),o.write(y(e,null,n)).then(function(){return u(t).then(r.resolve,r.reject),r.promise})):m.reject(new Error("sandbox not initialized"))}),t.override("prependStyleSheet",function(t){var e=this.doc;return this.addStyleSheet(t,function(t){var n=e.head.firstElementChild;return n?e.head.insertBefore(t,n):e.head.appendChild(t)})}),t.override("appendStyleSheet",function(t){var e=this.doc;return this.addStyleSheet(t,function(t){return e.head.appendChild(t)})}),t.define("addCss",function(t,e){var n;return c.inlineStyle()?((n=this.createElement("style")).type="text/css",n.appendChild(this.doc.createTextNode(t)),o.write(y(e,null,n))):(l.devError("CSP enabled; cannot embed inline styles"),m.resolve())}),t.override("prependCss",function(t){var e=this.doc;return this.addCss(t,function(t){var n=e.head.firstElementChild;return n?e.head.insertBefore(t,n):e.head.appendChild(t)})}),t.override("appendCss",function(t){var e=this.doc;return this.addCss(t,function(t){return e.head.appendChild(t)})}),t.override("makeVisible",function(){var t=this;return this.styleSelf(E).then(function(){t._updateCachedDimensions()})}),t.override("injectWidgetEl",function(t){var e=this;return this.initialized?this.widgetEl?m.reject(new Error("widget already injected")):o.write(function(){e.doc.body.appendChild(t)}):m.reject(new Error("sandbox not initialized"))}),t.override("matchHeightToContent",function(){var t,e=this;return o.read(function(){t=e.widgetEl?h(e.widgetEl).height:0}),o.write(function(){e.sandboxEl.style.height=t+"px"}).then(function(){return e._updateCachedDimensions()})}),t.override("matchWidthToContent",function(){var t,e=this;return o.read(function(){t=e.widgetEl?h(e.widgetEl).width:0}),o.write(function(){e.sandboxEl.style.width=t+"px"}).then(function(){return e._updateCachedDimensions()})}),t.after("initialize",function(){this._iframe=null,this._width=this._height=0,this._resizeHandlers=[]}),t.override("insert",function(t,e,n,r){var i=this,s=new p,a=this.targetGlobal.document,u=S(t,e,n,a);return o.write(y(r,null,u)),u.addEventListener("load",function(){(function(t){try{t.contentWindow.document}catch(t){return m.reject(t)}return m.resolve(t)})(u).then(null,y(R,null,t,e,n,u,a)).then(s.resolve,s.reject)},!1),u.addEventListener("error",s.reject,!1),s.promise.then(function(t){var e=d(i._didResize,A,i);return i._iframe=t,i.win.addEventListener("resize",e,!1),m.all([i._setTargetToBlank(),i.addRootClass(x),i.prependCss(T)])})}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("styleSelf",function(){return this._updateCachedDimensions()})})},function(t,e){t.exports=function(){throw new Error("unimplemented method")}},function(t,e){t.exports={getBaseURLPath:function(t){switch(t&&t.tfw_team_holdback_11929&&t.tfw_team_holdback_11929.bucket){case"control":return"embed-holdback";case"holdback_prod":return"embed-holdback-prod";default:return"embed"}}}},function(t,e,n){var r=n(3),i=n(7),o=100,s=3e3;function a(t,e){this._inputsQueue=[],this._task=t,this._isPaused=!1,this._flushDelay=e&&e.flushDelay||o,this._pauseLength=e&&e.pauseLength||s,this._flushTimeout=void 0}a.prototype.add=function(t){var e=new r;return this._inputsQueue.push({input:t,taskDoneDeferred:e}),this._scheduleFlush(),e.promise},a.prototype._scheduleFlush=function(){this._isPaused||(clearTimeout(this._flushTimeout),this._flushTimeout=setTimeout(i(this._flush,this),this._flushDelay))},a.prototype._flush=function(){try{this._task.call(null,this._inputsQueue)}catch(t){this._inputsQueue.forEach(function(e){e.taskDoneDeferred.reject(t)})}this._inputsQueue=[],this._flushTimeout=void 0},a.prototype.pause=function(t){clearTimeout(this._flushTimeout),this._isPaused=!0,!t&&this._pauseLength&&setTimeout(i(this.resume,this),this._pauseLength)},a.prototype.resume=function(){this._isPaused=!1,this._scheduleFlush()},t.exports=a},function(t,e,n){var r=n(72),i=n(28),o=n(3),s=n(4),a=n(27),u=n(20),c=n(24),d=n(8),f=n(18),l=n(105),h=n(59),p=n(9),m=n(16),v=n(2),g=n(0),w=n(1),y=h(function(){return new o}),b={shouldObtainCookieConsent:!1,features:{}};t.exports={load:function(){var t,e,n,o;if(u.ie9()||u.ie10()||"http:"!==d.protocol&&"https:"!==d.protocol)return f.devError("Using default settings due to unsupported browser or protocol."),void y().resolve();t={origin:d.origin},a.settings().indexOf("localhost")>-1&&(t.localSettings=!0),e=m.url(r.resourceBaseUrl+r.widgetIframeHtmlPath,t),n=function(t){var n,r,i,o;if(r=v.isTwitterURL(t.origin),i=e.substr(0,t.origin.length)===t.origin,o=v.isTwimgURL(t.origin),i&&r||o)try{(n="string"==typeof t.data?c.parse(t.data):t.data).namespace===l.settings&&(b=g.aug(b,{features:n.settings.features,sessionId:n.sessionId}),y().resolve())}catch(t){f.devError(t)}},w.addEventListener("message",n),o=i({src:e,title:"Twitter settings iframe"},{display:"none"}),s.body.appendChild(o)},settingsLoaded:function(){var t,e;return t=p.get("experimentOverride"),y().promise.then(function(){return t&&t.name&&t.assignment&&((e={})[t.name]={bucket:t.assignment},b.features=g.aug(b.features,e)),b})}}},function(t,e){t.exports={settings:"twttr.settings"}},function(t,e,n){t.exports=[n(107),n(114),n(122),n(124),n(126),n(139),n(141)]},function(t,e,n){var r=n(16),i=n(5),o=n(0),s=n(11),a=n(12)(),u=n(60),c="a.twitter-dm-button";t.exports=function(t){return a(t,c).map(function(t){return u(function(t){var e=t.getAttribute("data-show-screen-name"),n=s(t),a=t.getAttribute("href"),u=t.getAttribute("data-screen-name"),c=e?i.asBoolean(e):null,d=t.getAttribute("data-size"),f=r.decodeURL(a),l=f.recipient_id,h=t.getAttribute("data-text")||f.text,p=t.getAttribute("data-welcome-message-id")||f.welcomeMessageId;return o.aug(n,{screenName:u,showScreenName:c,size:d,text:h,userId:l,welcomeMessageId:p})}(t),t.parentNode,t)})}},function(t,e,n){var r=n(0);t.exports=function t(e){var n;if(e)return n=e.lang||e.getAttribute("data-lang"),r.isType("string",n)?n:t(e.parentElement)}},function(t,e,n){var r=n(0),i=n(48);t.exports=function(t,e){return i(t,e)?[t]:r.toRealArray(t.querySelectorAll(e))}},function(t,e,n){var r=n(3);t.exports=function(t,e){var i=new r;return n.e(1).then(function(r){var o;try{o=n(75),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(61),i=n(29);t.exports=r.isSupported()?r:i},function(t,e,n){var r=n(113),i=n(1),o=n(10),s=n(35),a=n(17),u=n(54),c=n(25),d=n(55),f=n(56),l=n(57),h=n(7),p=n(43),m=n(6),v=n(0),g=50,w={position:"absolute",visibility:"hidden",display:"block",transform:"rotate(0deg)"},y={position:"static",visibility:"visible"},b="twitter-widget",_="open",E="SandboxRoot",x=".SandboxRoot { display: none; max-height: 10000px; }";t.exports=c.couple(n(58),function(t){t.defineStatic("isSupported",function(){return!!i.HTMLElement.prototype.attachShadow&&f.inlineStyle()}),t.overrideProperty("id",{get:function(){return this.sandboxEl&&this.sandboxEl.id}}),t.overrideProperty("initialized",{get:function(){return!!this._shadowHost}}),t.overrideProperty("width",{get:function(){return this._width}}),t.overrideProperty("height",{get:function(){return this._height}}),t.overrideProperty("sandboxEl",{get:function(){return this._shadowHost}}),t.define("_updateCachedDimensions",function(){var t=this;return a.read(function(){var e,n=l(t.sandboxEl);"visible"==t.sandboxEl.style.visibility?t._width=n.width:(e=l(t.sandboxEl.parentElement).width,t._width=Math.min(n.width,e)),t._height=n.height})}),t.define("_didResize",function(){var t=this,e=this._resizeHandlers.slice(0);return this._updateCachedDimensions().then(function(){e.forEach(function(e){e(t)})})}),t.override("createElement",function(t){return this.targetGlobal.document.createElement(t)}),t.override("createFragment",function(){return this.targetGlobal.document.createDocumentFragment()}),t.override("htmlToElement",function(t){var e;return(e=this.createElement("div")).innerHTML=t,e.firstElementChild}),t.override("hasSelectedText",function(){return!!u.getSelectedText(this.targetGlobal)}),t.override("addRootClass",function(t){var e=this._shadowRootBody;return t=Array.isArray(t)?t:[t],this.initialized?a.write(function(){t.forEach(function(t){o.add(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("removeRootClass",function(t){var e=this._shadowRootBody;return t=Array.isArray(t)?t:[t],this.initialized?a.write(function(){t.forEach(function(t){o.remove(e,t)})}):m.reject(new Error("sandbox not initialized"))}),t.override("hasRootClass",function(t){return o.present(this._shadowRootBody,t)}),t.override("addStyleSheet",function(t,e){return this.addCss('@import url("'+t+'");',e).then(function(){return d(t)})}),t.override("prependStyleSheet",function(t){var e=this._shadowRoot;return this.addStyleSheet(t,function(t){var n=e.firstElementChild;return n?e.insertBefore(t,n):e.appendChild(t)})}),t.override("appendStyleSheet",function(t){var e=this._shadowRoot;return this.addStyleSheet(t,function(t){return e.appendChild(t)})}),t.override("addCss",function(t,e){var n;return this.initialized?f.inlineStyle()?((n=this.createElement("style")).type="text/css",n.appendChild(this.targetGlobal.document.createTextNode(t)),a.write(h(e,null,n))):m.resolve():m.reject(new Error("sandbox not initialized"))}),t.override("prependCss",function(t){var e=this._shadowRoot;return this.addCss(t,function(t){var n=e.firstElementChild;return n?e.insertBefore(t,n):e.appendChild(t)})}),t.override("appendCss",function(t){var e=this._shadowRoot;return this.addCss(t,function(t){return e.appendChild(t)})}),t.override("makeVisible",function(){return this.styleSelf(y)}),t.override("injectWidgetEl",function(t){var e=this;return this.initialized?this._shadowRootBody.firstElementChild?m.reject(new Error("widget already injected")):a.write(function(){e._shadowRootBody.appendChild(t)}).then(function(){return e._updateCachedDimensions()}).then(function(){var t=p(e._didResize,g,e);new r(e._shadowRootBody,t)}):m.reject(new Error("sandbox not initialized"))}),t.override("matchHeightToContent",function(){return m.resolve()}),t.override("matchWidthToContent",function(){return m.resolve()}),t.override("insert",function(t,e,n,r){var i=this.targetGlobal.document,o=this._shadowHost=i.createElement(b),u=this._shadowRoot=o.attachShadow({mode:_}),c=this._shadowRootBody=i.createElement("div");return v.forIn(e||{},function(t,e){o.setAttribute(t,e)}),o.id=t,u.appendChild(c),s.delegate(c,"click","A",function(t,e){e.hasAttribute("target")||e.setAttribute("target","_blank")}),m.all([this.styleSelf(w),this.addRootClass(E),this.prependCss(x),a.write(r.bind(null,o))])}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("initialize",function(){this._shadowHost=this._shadowRoot=this._shadowRootBody=null,this._width=this._height=0,this._resizeHandlers=[]}),t.after("styleSelf",function(){return this._updateCachedDimensions()})})},function(t,e){var n;(n=function(t,e){function r(t,e){if(t.resizedAttached){if(t.resizedAttached)return void t.resizedAttached.add(e)}else t.resizedAttached=new function(){var t,e;this.q=[],this.add=function(t){this.q.push(t)},this.call=function(){for(t=0,e=this.q.length;t
',t.appendChild(t.resizeSensor),{fixed:1,absolute:1}[function(t,e){return t.currentStyle?t.currentStyle[e]:window.getComputedStyle?window.getComputedStyle(t,null).getPropertyValue(e):t.style[e]}(t,"position")]||(t.style.position="relative");var i,o,s=t.resizeSensor.childNodes[0],a=s.childNodes[0],u=t.resizeSensor.childNodes[1],c=(u.childNodes[0],function(){a.style.width=s.offsetWidth+10+"px",a.style.height=s.offsetHeight+10+"px",s.scrollLeft=s.scrollWidth,s.scrollTop=s.scrollHeight,u.scrollLeft=u.scrollWidth,u.scrollTop=u.scrollHeight,i=t.offsetWidth,o=t.offsetHeight});c();var d=function(t,e,n){t.attachEvent?t.attachEvent("on"+e,n):t.addEventListener(e,n)},f=function(){t.offsetWidth==i&&t.offsetHeight==o||t.resizedAttached&&t.resizedAttached.call(),c()};d(s,"scroll",f),d(u,"scroll",f)}var i=Object.prototype.toString.call(t),o="[object Array]"===i||"[object NodeList]"===i||"[object HTMLCollection]"===i||"undefined"!=typeof jQuery&&t instanceof jQuery||"undefined"!=typeof Elements&&t instanceof Elements;if(o)for(var s=0,a=t.length;s0;return this.updateCachedDimensions().then(function(){e&&t._resizeHandlers.forEach(function(e){e(t)})})}),t.define("loadDocument",function(t){var e=new a;return this.initialized?this.iframeEl.src?u.reject(new Error("widget already loaded")):(this.iframeEl.addEventListener("load",e.resolve,!1),this.iframeEl.addEventListener("error",e.reject,!1),this.iframeEl.src=t,e.promise):u.reject(new Error("sandbox not initialized"))}),t.after("initialize",function(){var t=new a,e=new a;this._iframe=null,this._iframeVersion=null,this._width=this._height=0,this._resizeHandlers=[],this._rendered=t,this._results=e,this._waitToSwapUntilRendered=!1}),t.override("insert",function(t,e,n,i){var a=this;return e=d.aug({id:t},f,e),n=d.aug({},l,n),this._iframe=s(e,n),p[t]=this,a._waitToSwapUntilRendered||this.onResize(o(function(){a.makeVisible()})),r.write(c(i,null,this._iframe))}),t.override("onResize",function(t){this._resizeHandlers.push(t)}),t.after("styleSelf",function(){return this.updateCachedDimensions()})}},function(t,e,n){var r=n(1),i=n(118),o=n(120),s=n(22),a=n(5),u=n(121);t.exports=function(t,e,n,c,d){function f(t){var e=u(this);s.trigger(t.type,{target:e,region:t.region,type:t.type,data:t.data||{}})}function l(e){var n=u(this),r=n&&n.id,i=a.asInt(e.width),o=a.asInt(e.height);r&&void 0!==i&&void 0!==o&&t(r,i,o)}(new i).attachReceiver(new o.Receiver(r,"twttr.button")).bind("twttr.private.trigger",f).bind("twttr.private.resizeButton",l),(new i).attachReceiver(new o.Receiver(r,"twttr.embed")).bind("twttr.private.initialized",function(t){var e=u(this),n=e&&e.id,r=t.iframe_version;n&&r&&c&&c(n,r)}).bind("twttr.private.trigger",f).bind("twttr.private.results",function(){var t=u(this),n=t&&t.id;n&&e&&e(n)}).bind("twttr.private.rendered",function(){var t=u(this),e=t&&t.id;e&&n&&n(e)}).bind("twttr.private.no_results",function(){var t=u(this),e=t&&t.id;e&&d&&d(e)}).bind("twttr.private.resize",l)}},function(t,e,n){var r=n(24),i=n(119),o=n(0),s=n(6),a=n(23),u="2.0";function c(t){this.registry=t||{}}function d(t){var e,n;return e=o.isType("string",t),n=o.isType("number",t),e||n||null===t}function f(t,e){return{jsonrpc:u,id:d(t)?t:null,error:e}}c.prototype._invoke=function(t,e){var n,r,i;n=this.registry[t.method],r=t.params||[],r=o.isType("array",r)?r:[r];try{i=n.apply(e.source||null,r)}catch(t){i=s.reject(t.message)}return a.isPromise(i)?i:s.resolve(i)},c.prototype._processRequest=function(t,e){var n,r;return function(t){var e,n,r;return!!o.isObject(t)&&(e=t.jsonrpc===u,n=o.isType("string",t.method),r=!("id"in t)||d(t.id),e&&n&&r)}(t)?(n="params"in t&&(r=t.params,!o.isObject(r)||o.isType("function",r))?s.resolve(f(t.id,i.INVALID_PARAMS)):this.registry[t.method]?this._invoke(t,{source:e}).then(function(e){return n=t.id,{jsonrpc:u,id:n,result:e};var n},function(){return f(t.id,i.INTERNAL_ERROR)}):s.resolve(f(t.id,i.METHOD_NOT_FOUND)),null!=t.id?n:s.resolve()):s.resolve(f(t.id,i.INVALID_REQUEST))},c.prototype.attachReceiver=function(t){return t.attachTo(this),this},c.prototype.bind=function(t,e){return this.registry[t]=e,this},c.prototype.receive=function(t,e){var n,a,u,c=this;try{u=t,t=o.isType("string",u)?r.parse(u):u}catch(t){return s.resolve(f(null,i.PARSE_ERROR))}return e=e||null,a=((n=o.isType("array",t))?t:[t]).map(function(t){return c._processRequest(t,e)}),n?function(t){return s.all(t).then(function(t){return(t=t.filter(function(t){return void 0!==t})).length?t:void 0})}(a):a[0]},t.exports=c},function(t){t.exports={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INTERNAL_ERROR:{code:-32603,message:"Internal error"}}},function(t,e,n){var r=n(8),i=n(1),o=n(24),s=n(3),a=n(20),u=n(0),c=n(2),d=n(7),f=a.ie9();function l(t,e,n){var r;t&&t.postMessage&&(f?r=(n||"")+o.stringify(e):n?(r={})[n]=e:r=e,t.postMessage(r,"*"))}function h(t){return u.isType("string",t)?t:"JSONRPC"}function p(t,e){return e?u.isType("string",t)&&0===t.indexOf(e)?t.substring(e.length):t&&t[e]?t[e]:void 0:t}function m(t,e){var n=t.document;this.filter=h(e),this.server=null,this.isTwitterFrame=c.isTwitterURL(n.location.href),t.addEventListener("message",d(this._onMessage,this),!1)}function v(t,e){this.pending={},this.target=t,this.isTwitterHost=c.isTwitterURL(r.href),this.filter=h(e),i.addEventListener("message",d(this._onMessage,this),!1)}u.aug(m.prototype,{_onMessage:function(t){var e,n=this;this.server&&(this.isTwitterFrame&&!c.isTwitterURL(t.origin)||(e=p(t.data,this.filter))&&this.server.receive(e,t.source).then(function(e){e&&l(t.source,e,n.filter)}))},attachTo:function(t){this.server=t},detach:function(){this.server=null}}),u.aug(v.prototype,{_processResponse:function(t){var e=this.pending[t.id];e&&(e.resolve(t),delete this.pending[t.id])},_onMessage:function(t){var e;if((!this.isTwitterHost||c.isTwitterURL(t.origin))&&(e=p(t.data,this.filter))){if(u.isType("string",e))try{e=o.parse(e)}catch(t){return}(e=u.isType("array",e)?e:[e]).forEach(d(this._processResponse,this))}},send:function(t){var e=new s;return t.id?this.pending[t.id]=e:e.resolve(),l(this.target,t,this.filter),e.promise}}),t.exports={Receiver:m,Dispatcher:v,_stringifyPayload:function(t){return arguments.length>0&&(f=!!t),f}}},function(t,e,n){var r=n(4);t.exports=function(t){for(var e,n=r.getElementsByTagName("iframe"),i=0;n[i];i++)if((e=n[i]).contentWindow===t)return e}},function(t,e,n){var r=n(5),i=n(0),o=n(2),s=n(11),a=n(12)(),u=n(63),c="a.twitter-moment";t.exports=function(t){return a(t,c).map(function(t){return u(function(t){var e=s(t),n={momentId:o.momentId(t.href),chrome:t.getAttribute("data-chrome"),limit:t.getAttribute("data-limit")};return i.forIn(n,function(t,n){var i=e[t];e[t]=r.hasValue(i)?i:n}),e}(t),t.parentNode,t)})}},function(t,e,n){var r=n(3);t.exports=function(t,e){var i=new r;return n.e(3).then(function(r){var o;try{o=n(77),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(0),i=n(11),o=n(12)(),s=n(64),a="a.periscope-on-air",u=/^https?:\/\/(?:www\.)?(?:periscope|pscp)\.tv\/@?([a-zA-Z0-9_]+)\/?$/i;t.exports=function(t){return o(t,a).map(function(t){return s(function(t){var e=i(t),n=t.getAttribute("href"),o=t.getAttribute("data-size"),s=u.exec(n)[1];return r.aug(e,{username:s,size:o})}(t),t.parentNode,t)})}},function(t,e,n){var r=n(3);t.exports=function(t,e){var i=new r;return n.e(4).then(function(r){var o;try{o=n(78),i.resolve(new o(t,e))}catch(t){i.reject(t)}}.bind(null,n)).catch(function(t){i.reject(t)}),i.promise}},function(t,e,n){var r=n(5),i=n(0),o=n(65),s=n(11),a=n(12)(),u=n(66),c=n(2),d=n(18),f="a.twitter-timeline,div.twitter-timeline,a.twitter-grid",l="Embedded Search timelines have been deprecated. See https://twittercommunity.com/t/deprecating-widget-settings/102295.",h="You may have been affected by an update to settings in embedded timelines. See https://twittercommunity.com/t/deprecating-widget-settings/102295.",p="Embedded grids have been deprecated and will now render as timelines. Please update your embed code to use the twitter-timeline class. More info: https://twittercommunity.com/t/update-on-the-embedded-grid-display-type/119564.";t.exports=function(t,e){return a(t,f).map(function(t){return u(function(t){var e=s(t),n=t.getAttribute("data-show-replies"),a={isPreconfigured:!!t.getAttribute("data-widget-id"),chrome:t.getAttribute("data-chrome"),tweetLimit:t.getAttribute("data-tweet-limit")||t.getAttribute("data-limit"),ariaLive:t.getAttribute("data-aria-polite"),theme:t.getAttribute("data-theme"),borderColor:t.getAttribute("data-border-color"),showReplies:n?r.asBoolean(n):null,profileScreenName:t.getAttribute("data-screen-name"),profileUserId:t.getAttribute("data-user-id"),favoritesScreenName:t.getAttribute("data-favorites-screen-name"),favoritesUserId:t.getAttribute("data-favorites-user-id"),likesScreenName:t.getAttribute("data-likes-screen-name"),likesUserId:t.getAttribute("data-likes-user-id"),listOwnerScreenName:t.getAttribute("data-list-owner-screen-name"),listOwnerUserId:t.getAttribute("data-list-owner-id"),listId:t.getAttribute("data-list-id"),listSlug:t.getAttribute("data-list-slug"),customTimelineId:t.getAttribute("data-custom-timeline-id"),staticContent:t.getAttribute("data-static-content"),url:t.href};return a.isPreconfigured&&(c.isSearchUrl(a.url)?d.publicError(l,t):d.publicLog(h,t)),"twitter-grid"===t.className&&d.publicLog(p,t),(a=i.aug(a,e)).dataSource=o(a),a.id=a.dataSource&&a.dataSource.id,a}(t),t.parentNode,t,e)})}},function(t,e){t.exports=function(t,e,n){for(var r,i=0;i=0;y--){var g;void 0!==(f=old_memberDec(m[y],i,h,o,l,n,s,a,c))&&(old_assertValidReturnValue(n,f),0===n?g=f:1===n?(g=old_getInit(f),u=f.get||c.get,d=f.set||c.set,c={get:u,set:d}):c=f,void 0!==g&&(void 0===p?p=g:"function"==typeof p?p=[p,g]:p.push(g)))}if(0===n||1===n){if(void 0===p)p=function(t,e){return e};else if("function"!=typeof p){var v=p;p=function(t,e){for(var r=e,i=0;i3,g=d>=5;if(g?(c=e,f=i,0!=(d-=5)&&(u=a=a||[])):(c=e.prototype,f=r,0!==d&&(u=s=s||[])),0!==d&&!y){var v=g?l:o,b=v.get(m)||0;if(!0===b||3===b&&4!==d||4===b&&3!==d)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+m);!b&&d>2?v.set(m,d):v.set(m,!0)}old_applyMemberDec(t,c,p,m,d,g,y,f,u)}}old_pushInitializers(t,s),old_pushInitializers(t,a)}function old_pushInitializers(t,e){e&&t.push((function(t){for(var r=0;r0){for(var n=[],s=e,a=e.name,o=i.length-1;o>=0;o--){var l={v:!1};try{var h=Object.assign({kind:"class",name:a,addInitializer:old_createAddInitializerMethod(n,l)},old_createMetadataMethodsForProperty(r,0,a,l)),p=i[o](s,h)}finally{l.v=!0}void 0!==p&&(old_assertValidReturnValue(10,p),s=p)}t.push(s,(function(){for(var t=0;t=0;m--){var y;void 0!==(c=memberDec(d[m],i,l,o,n,s,a,p))&&(assertValidReturnValue(n,c),0===n?y=c:1===n?(y=c.init,f=c.get||p.get,u=c.set||p.set,p={get:f,set:u}):p=c,void 0!==y&&(void 0===h?h=y:"function"==typeof h?h=[h,y]:h.push(y)))}if(0===n||1===n){if(void 0===h)h=function(t,e){return e};else if("function"!=typeof h){var g=h;h=function(t,e){for(var r=e,i=0;i3,d=c>=5;if(d?(h=e,0!=(c-=5)&&(p=n=n||[])):(h=e.prototype,0!==c&&(p=i=i||[])),0!==c&&!u){var m=d?a:s,y=m.get(f)||0;if(!0===y||3===y&&4!==c||4===y&&3!==c)throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+f);!y&&c>2?m.set(f,c):m.set(f,!0)}applyMemberDec(t,h,l,f,c,d,u,p)}}pushInitializers(t,i),pushInitializers(t,n)}function pushInitializers(t,e){e&&t.push((function(t){for(var r=0;r0){for(var i=[],n=e,s=e.name,a=r.length-1;a>=0;a--){var o={v:!1};try{var l=r[a](n,{kind:"class",name:s,addInitializer:createAddInitializerMethod(i,o)})}finally{o.v=!0}void 0!==l&&(assertValidReturnValue(10,l),n=l)}t.push(n,(function(){for(var t=0;t1){for(var a=new Array(s),o=0;o=0;--n){var s=this.tryEntries[n],a=s.completion;if("root"===s.tryLoc)return i("end");if(s.tryLoc<=this.prev){var o=r.call(s,"catchLoc"),l=r.call(s,"finallyLoc");if(o&&l){if(this.prev=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),c}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var i=r.completion;if("throw"===i.type){var n=i.arg;x(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:A(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),c}},t}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _wrapRegExp(){_wrapRegExp=function(t,e){return new r(t,void 0,e)};var t=RegExp.prototype,e=new WeakMap;function r(t,i,n){var s=new RegExp(t,i);return e.set(s,n||e.get(t)),_setPrototypeOf(s,r.prototype)}function i(t,r){var i=e.get(r);return Object.keys(i).reduce((function(e,r){var n=i[r];if("number"==typeof n)e[r]=t[n];else{for(var s=0;void 0===t[n[s]]&&s+1]+)>/g,(function(t,e){var r=s[e];return"$"+(Array.isArray(r)?r.join("$"):r)})))}if("function"==typeof n){var a=this;return t[Symbol.replace].call(this,r,(function(){var t=arguments;return"object"!=typeof t[t.length-1]&&(t=[].slice.call(t)).push(i(t,a)),n.apply(this,t)}))}return t[Symbol.replace].call(this,r,n)},_wrapRegExp.apply(this,arguments)}function _AwaitValue(t){this.wrapped=t}function _wrapAsyncGenerator(t){return function(){return new _AsyncGenerator(t.apply(this,arguments))}}function asyncGeneratorStep(t,e,r,i,n,s,a){try{var o=t[s](a),l=o.value}catch(t){return void r(t)}o.done?e(l):Promise.resolve(l).then(i,n)}function _asyncToGenerator(t){return function(){var e=this,r=arguments;return new Promise((function(i,n){var s=t.apply(e,r);function a(t){asyncGeneratorStep(s,i,n,a,o,"next",t)}function o(t){asyncGeneratorStep(s,i,n,a,o,"throw",t)}a(void 0)}))}}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var r=0;r=0||(n[r]=t[r]);return n}function _objectWithoutProperties(t,e){if(null==t)return{};var r,i,n=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _possibleConstructorReturn(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _createSuper(t){var e=_isNativeReflectConstruct();return function(){var r,i=_getPrototypeOf(t);if(e){var n=_getPrototypeOf(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return _possibleConstructorReturn(this,r)}}function _superPropBase(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=_getPrototypeOf(t)););return t}function _get(){return(_get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,r){var i=_superPropBase(t,e);if(i){var n=Object.getOwnPropertyDescriptor(i,e);return n.get?n.get.call(arguments.length<3?t:r):n.value}}).apply(this,arguments)}function set(t,e,r,i){return(set="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,r,i){var n,s=_superPropBase(t,e);if(s){if((n=Object.getOwnPropertyDescriptor(s,e)).set)return n.set.call(i,r),!0;if(!n.writable)return!1}if(n=Object.getOwnPropertyDescriptor(i,e)){if(!n.writable)return!1;n.value=r,Object.defineProperty(i,e,n)}else _defineProperty(i,e,r);return!0})(t,e,r,i)}function _set(t,e,r,i,n){if(!set(t,e,r,i||t)&&n)throw new Error("failed to set property");return r}function _taggedTemplateLiteral(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function _taggedTemplateLiteralLoose(t,e){return e||(e=t.slice(0)),t.raw=e,t}function _readOnlyError(t){throw new TypeError('"'+t+'" is read-only')}function _writeOnlyError(t){throw new TypeError('"'+t+'" is write-only')}function _classNameTDZError(t){throw new Error('Class "'+t+'" cannot be referenced in computed property keys.')}function _temporalUndefined(){}function _tdz(t){throw new ReferenceError(t+" is not defined - temporal dead zone")}function _temporalRef(t,e){return t===_temporalUndefined?_tdz(e):t}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _slicedToArrayLoose(t,e){return _arrayWithHoles(t)||_iterableToArrayLimitLoose(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _toArray(t){return _arrayWithHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableRest()}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _maybeArrayLike(t,e,r){if(e&&!Array.isArray(e)&&"number"==typeof e.length){var i=e.length;return _arrayLikeToArray(e,void 0!==r&&rt.length)&&(e=t.length);for(var r=0,i=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){o=!0,s=t},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw s}}}}function _createForOfIteratorHelperLoose(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _skipFirstGeneratorNext(t){return function(){var e=t.apply(this,arguments);return e.next(),e}}function _toPrimitive(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function _toPropertyKey(t){var e=_toPrimitive(t,"string");return"symbol"==typeof e?e:String(e)}function _initializerWarningHelper(t,e){throw new Error("Decorating class property failed. Please ensure that proposal-class-properties is enabled and runs after the decorators transform.")}function _initializerDefineProperty(t,e,r,i){r&&Object.defineProperty(t,e,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(i):void 0})}function _applyDecoratedDescriptor(t,e,r,i,n){var s={};return Object.keys(i).forEach((function(t){s[t]=i[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=r.slice().reverse().reduce((function(r,i){return i(t,e,r)||r}),s),n&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(n):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}_AsyncGenerator.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},_AsyncGenerator.prototype.next=function(t){return this._invoke("next",t)},_AsyncGenerator.prototype.throw=function(t){return this._invoke("throw",t)},_AsyncGenerator.prototype.return=function(t){return this._invoke("return",t)};var id=0;function _classPrivateFieldLooseKey(t){return"__private_"+id+++"_"+t}function _classPrivateFieldLooseBase(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}function _classPrivateFieldGet(t,e){return _classApplyDescriptorGet(t,_classExtractFieldDescriptor(t,e,"get"))}function _classPrivateFieldSet(t,e,r){return _classApplyDescriptorSet(t,_classExtractFieldDescriptor(t,e,"set"),r),r}function _classPrivateFieldDestructureSet(t,e){return _classApplyDescriptorDestructureSet(t,_classExtractFieldDescriptor(t,e,"set"))}function _classExtractFieldDescriptor(t,e,r){if(!e.has(t))throw new TypeError("attempted to "+r+" private field on non-instance");return e.get(t)}function _classStaticPrivateFieldSpecGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,"get"),_classApplyDescriptorGet(t,r)}function _classStaticPrivateFieldSpecSet(t,e,r,i){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,"set"),_classApplyDescriptorSet(t,r,i),i}function _classStaticPrivateMethodGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),r}function _classStaticPrivateMethodSet(){throw new TypeError("attempted to set read only static private field")}function _classApplyDescriptorGet(t,e){return e.get?e.get.call(t):e.value}function _classApplyDescriptorSet(t,e,r){if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function _classApplyDescriptorDestructureSet(t,e){if(e.set)return"__destrObj"in e||(e.__destrObj={set value(r){e.set.call(t,r)}}),e.__destrObj;if(!e.writable)throw new TypeError("attempted to set read only private field");return e}function _classStaticPrivateFieldDestructureSet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,"set"),_classApplyDescriptorDestructureSet(t,r)}function _classCheckPrivateStaticAccess(t,e){if(t!==e)throw new TypeError("Private static access of wrong provenance")}function _classCheckPrivateStaticFieldDescriptor(t,e){if(void 0===t)throw new TypeError("attempted to "+e+" private static field before its declaration")}function _decorate(t,e,r,i){var n=_getDecoratorsApi();if(i)for(var s=0;s=0;s--){var a=e[t.placement];a.splice(a.indexOf(t.key),1);var o=this.fromElementDescriptor(t),l=this.toElementFinisherExtras((0,n[s])(o)||o);t=l.element,this.addElementPlacement(t,e),l.finisher&&i.push(l.finisher);var h=l.extras;if(h){for(var p=0;p=0;i--){var n=this.fromClassDescriptor(t),s=this.toClassDescriptor((0,e[i])(n)||n);if(void 0!==s.finisher&&r.push(s.finisher),void 0!==s.elements){t=s.elements;for(var a=0;a=0;o--)(n=t[o])&&(a=(s<3?n(a):s>3?n(e,r,a):n(e,r))||a);return s>3&&a&&Object.defineProperty(e,r,a),a}function __param(t,e){return function(r,i){e(r,i,t)}}function __metadata(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(t,e,r,i){return new(r||(r=Promise))((function(n,s){function a(t){try{l(i.next(t))}catch(t){s(t)}}function o(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,o)}l((i=i.apply(t,e||[])).next())}))}function __generator(t,e){var r,i,n,s,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,s=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=s.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a}function __spread(){for(var t=[],e=0;e1||o(t,e)}))})}function o(t,e){try{!function(t){t.value instanceof __await?Promise.resolve(t.value.v).then(l,h):p(s[0][2],t)}(n[t](e))}catch(t){p(s[0][3],t)}}function l(t){o("next",t)}function h(t){o("throw",t)}function p(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}}function __asyncDelegator(t){var e,r;return e={},i("next"),i("throw",(function(t){throw t})),i("return"),e[Symbol.iterator]=function(){return this},e;function i(i,n){e[i]=t[i]?function(e){return(r=!r)?{value:__await(t[i](e)),done:"return"===i}:n?n(e):e}:n}}function __asyncValues(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(r){e[r]=t[r]&&function(e){return new Promise((function(i,n){(function(t,e,r,i){Promise.resolve(i).then((function(e){t({value:e,done:r})}),e)})(i,n,(e=t[r](e)).done,e.value)}))}}}function __makeTemplateObject(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function __importStar(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function __importDefault(t){return t&&t.__esModule?t:{default:t}}function __classPrivateFieldGet(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function __classPrivateFieldSet(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r} +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const t$3=window,e$9=t$3.ShadowRoot&&(void 0===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$3=Symbol(),n$4=new WeakMap;class o$6{constructor(t,e,r){if(this._$cssResult$=!0,r!==s$3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(e$9&&void 0===t){const r=void 0!==e&&1===e.length;r&&(t=n$4.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&n$4.set(e,t))}return t}toString(){return this.cssText}}const r$3=t=>new o$6("string"==typeof t?t:t+"",void 0,s$3),i$4=(t,...e)=>{const r=1===t.length?t[0]:e.reduce((e,r,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+t[i+1],t[0]);return new o$6(r,t,s$3)},S$1=(t,e)=>{e$9?t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet):e.forEach(e=>{const r=document.createElement("style"),i=t$3.litNonce;void 0!==i&&r.setAttribute("nonce",i),r.textContent=e.cssText,t.appendChild(r)})},c$1=e$9?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return r$3(e)})(t):t +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */;var s$2;const e$8=window,r$2=e$8.trustedTypes,h$2=r$2?r$2.emptyScript:"",o$5=e$8.reactiveElementPolyfillSupport,n$3={toAttribute(t,e){switch(e){case Boolean:t=t?h$2:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=null!==t;break;case Number:r=null===t?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch(t){r=null}}return r}},a$1=(t,e)=>e!==t&&(e==e||t==t),l$3={attribute:!0,type:String,converter:n$3,reflect:!1,hasChanged:a$1};class d$1 extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach((e,r)=>{const i=this._$Ep(r,e);void 0!==i&&(this._$Ev.set(i,r),t.push(i))}),t}static createProperty(t,e=l$3){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const r="symbol"==typeof t?Symbol():"__"+t,i=this.getPropertyDescriptor(t,r,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,e,r){return{get(){return this[e]},set(i){const n=this[t];this[e]=i,this.requestUpdate(t,n,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l$3}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const r of e)this.createProperty(r,t[r])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const t of r)e.unshift(c$1(t))}else void 0!==t&&e.push(c$1(t));return e}static _$Ep(t,e){const r=e.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach(t=>t(this))}addController(t){var e,r;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(r=t.hostConnected)||void 0===r||r.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])})}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return S$1(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)})}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)})}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EO(t,e,r=l$3){var i;const n=this.constructor._$Ep(t,r);if(void 0!==n&&!0===r.reflect){const s=(void 0!==(null===(i=r.converter)||void 0===i?void 0:i.toAttribute)?r.converter:n$3).toAttribute(e,r.type);this._$El=t,null==s?this.removeAttribute(n):this.setAttribute(n,s),this._$El=null}}_$AK(t,e){var r;const i=this.constructor,n=i._$Ev.get(t);if(void 0!==n&&this._$El!==n){const t=i.getPropertyOptions(n),s="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(r=t.converter)||void 0===r?void 0:r.fromAttribute)?t.converter:n$3;this._$El=n,this[n]=s.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,r){let i=!0;void 0!==t&&(((r=r||this.constructor.getPropertyOptions(t)).hasChanged||a$1)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===r.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,r))):i=!1),!this.isUpdatePending&&i&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((t,e)=>this[e]=t),this._$Ei=void 0);let e=!1;const r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)}),this.update(r)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(r)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach(t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach((t,e)=>this._$EO(e,this[e],t)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +var t$2;d$1.finalized=!0,d$1.elementProperties=new Map,d$1.elementStyles=[],d$1.shadowRootOptions={mode:"open"},null==o$5||o$5({ReactiveElement:d$1}),(null!==(s$2=e$8.reactiveElementVersions)&&void 0!==s$2?s$2:e$8.reactiveElementVersions=[]).push("1.5.0");const i$3=window,s$1=i$3.trustedTypes,e$7=s$1?s$1.createPolicy("lit-html",{createHTML:t=>t}):void 0,o$4=`lit$${(Math.random()+"").slice(9)}$`,n$2="?"+o$4,l$2=`<${n$2}>`,h$1=document,r$1=(t="")=>h$1.createComment(t),d=t=>null===t||"object"!=typeof t&&"function"!=typeof t,u=Array.isArray,c=t=>u(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,a=/-->/g,f=/>/g,_=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),m=/'/g,p=/"/g,$=/^(?:script|style|textarea|title)$/i,g=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),y=g(1),w=g(2),x$1=Symbol.for("lit-noChange"),b=Symbol.for("lit-nothing"),T=new WeakMap,A=h$1.createTreeWalker(h$1,129,null,!1),E=(t,e)=>{const r=t.length-1,i=[];let n,s=2===e?"":"",o=v;for(let e=0;e"===h[0]?(o=null!=n?n:v,c=-1):void 0===h[1]?c=-2:(c=o.lastIndex-h[2].length,l=h[1],o=void 0===h[3]?_:'"'===h[3]?p:m):o===p||o===m?o=_:o===a||o===f?o=v:(o=_,n=void 0);const d=o===_&&t[e+1].startsWith("/>")?" ":"";s+=o===v?r+l$2:c>=0?(i.push(l),r.slice(0,c)+"$lit$"+r.slice(c)+o$4+d):r+o$4+(-2===c?(i.push(void 0),e):d)}const l=s+(t[r]||"")+(2===e?"":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==e$7?e$7.createHTML(l):l,i]};class C{constructor({strings:t,_$litType$:e},r){let i;this.parts=[];let n=0,s=0;const a=t.length-1,o=this.parts,[l,h]=E(t,e);if(this.el=C.createElement(l,r),A.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(i=A.nextNode())&&o.length0){i.textContent=s$1?s$1.emptyScript:"";for(let r=0;r2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=b}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,r,i){const n=this.strings;let s=!1;if(void 0===n)t=P(this,t,e,0),s=!d(t)||t!==this._$AH&&t!==x$1,s&&(this._$AH=t);else{const i=t;let a,o;for(t=n[0],a=0;a{var i,n;const s=null!==(i=null==r?void 0:r.renderBefore)&&void 0!==i?i:e;let a=s._$litPart$;if(void 0===a){const t=null!==(n=null==r?void 0:r.renderBefore)&&void 0!==n?n:null;s._$litPart$=a=new N(e.insertBefore(r$1(),t),t,void 0,null!=r?r:{})}return a._$AI(t),a +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */};var l$1,o$3;const r=d$1;class s extends d$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const r=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=r.firstChild),r}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Z(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return x$1}}s.finalized=!0,s._$litElement$=!0,null===(l$1=globalThis.litElementHydrateSupport)||void 0===l$1||l$1.call(globalThis,{LitElement:s});const n$1=globalThis.litElementPolyfillSupport;null==n$1||n$1({LitElement:s});const h={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(null!==(o$3=globalThis.litElementVersions)&&void 0!==o$3?o$3:globalThis.litElementVersions=[]).push("3.2.2"); +/** + * @license + * Copyright 2022 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const o$2=!1,e$6=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:r,elements:i}=e;return{kind:r,elements:i,finisher(e){customElements.define(t,e)}}})(t,e) +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */,i$2=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(r){r.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(r){r.createProperty(e.key,t)}}; +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function e$5(t){return(e,r)=>void 0!==r?((t,e,r)=>{e.constructor.createProperty(r,t)})(t,e,r):i$2(t,e) +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */}function t$1(t){return e$5({...t,state:!0})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const e$4=(t,e,r)=>{Object.defineProperty(e,r,t)},t=(t,e)=>({kind:"method",placement:"prototype",key:e.key,descriptor:t}),o$1=({finisher:t,descriptor:e})=>(r,i)=>{var n;if(void 0===i){const i=null!==(n=r.originalKey)&&void 0!==n?n:r.key,s=null!=e?{kind:"method",placement:"prototype",key:i,descriptor:e(r.key)}:{...r,key:i};return null!=t&&(s.finisher=function(e){t(e,i)}),s}{const n=r.constructor;void 0!==e&&Object.defineProperty(r,i,e(i)),null==t||t(n,i)}} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */;function e$3(t){return o$1({finisher:(e,r)=>{Object.assign(e.prototype[r],t)}})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function i$1(t,e){return o$1({descriptor:r=>{const i={get(){var e,r;return null!==(r=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==r?r:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof r?Symbol():"__"+r;i.get=function(){var r,i;return void 0===this[e]&&(this[e]=null!==(i=null===(r=this.renderRoot)||void 0===r?void 0:r.querySelector(t))&&void 0!==i?i:null),this[e]}}return i}})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function e$2(t){return o$1({descriptor:e=>({get(){var e,r;return null!==(r=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==r?r:[]},enumerable:!0,configurable:!0})})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function e$1(t){return o$1({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})} +/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter(t=>t.nodeType===Node.ELEMENT_NODE);function l(t){const{slot:r,selector:i}=null!=t?t:{};return o$1({descriptor:n=>({get(){var n;const s="slot"+(r?`[name=${r}]`:":not([name])"),a=null===(n=this.renderRoot)||void 0===n?void 0:n.querySelector(s),o=null!=a?e(a,t):[];return i?o.filter(t=>t.matches(i)):o},enumerable:!0,configurable:!0})})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function o(t,e,r){let i,n=t;return"object"==typeof t?(n=t.slot,i=t):i={flatten:e},r?l({slot:n,flatten:e,selector:r}):o$1({descriptor:t=>({get(){var t,e;const r="slot"+(n?`[name=${n}]`:":not([name])"),s=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(r);return null!==(e=null==s?void 0:s.assignedNodes(i))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(t,e,r){return t(r={path:e,exports:{},require:function(t,e){return commonjsRequire(t,null==e?r.path:e)}},r.exports),r.exports}function getCjsExportFromNamespace(t){return t&&t.default||t}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var lottie=createCommonjsModule((function(module,exports){"undefined"!=typeof navigator&&function(t,e){module.exports=e()}(0,(function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var r,i,n=t.length;for(r=0;r1?r[1]=1:r[1]<=0&&(r[1]=0),HSVtoRGB(r[0],r[1],r[2])}function addBrightnessToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[2]+=e,r[2]>1?r[2]=1:r[2]<0&&(r[2]=0),HSVtoRGB(r[0],r[1],r[2])}function addHueToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[0]+=e/360,r[0]>1?r[0]-=1:r[0]<0&&(r[0]+=1),HSVtoRGB(r[0],r[1],r[2])}var rgbToHex=function(){var t,e,r=[];for(t=0;t<256;t+=1)e=t.toString(16),r[t]=1===e.length?"0"+e:e;return function(t,e,i){return t<0&&(t=0),e<0&&(e=0),i<0&&(i=0),"#"+r[t]+r[e]+r[i]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t},getIdPrefix=function(){return idPrefix$1};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){return(_typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var dataManager=function(){var t,e,r=1,i=[],n={onmessage:function(){},postMessage:function(e){t({data:e})}},s={postMessage:function(t){n.onmessage({data:t})}};function a(){e||((e=function(e){if(window.Worker&&window.Blob&&getWebWorker()){var r=new Blob(["var _workerSelf = self; self.onmessage = ",e.toString()],{type:"text/javascript"}),i=URL.createObjectURL(r);return new Worker(i)}return t=e,n}((function(t){if(s.dataManager||(s.dataManager=function(){function t(n,s){var a,o,l,h,p,f,u=n.length;for(o=0;o=0;e-=1)if("sh"===t[e].ty)if(t[e].ks.k.i)i(t[e].ks.k);else for(s=t[e].ks.k.length,n=0;nr[0]||!(r[0]>t[0])&&(t[1]>r[1]||!(r[1]>t[1])&&(t[2]>r[2]||!(r[2]>t[2])&&null))}var s,a=function(){var t=[4,4,14];function e(t){var e,r,i,n=t.length;for(e=0;e=0;r-=1)if("sh"===t[r].ty)if(t[r].ks.k.i)t[r].ks.k.c=t[r].closed;else for(n=t[r].ks.k.length,i=0;i500)&&(this._imageLoaded(),clearInterval(r)),e+=1}.bind(this),50)}function s(t){var e={assetData:t},r=i(t,this.assetsPath,this.path);return dataManager.loadData(r,function(t){e.img=t,this._footageLoaded()}.bind(this),function(){e.img={},this._footageLoaded()}.bind(this)),e}function a(){this._imageLoaded=e.bind(this),this._footageLoaded=r.bind(this),this.testImageLoaded=n.bind(this),this.createFootageData=s.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return a.prototype={loadAssets:function(t,e){var r;this.imagesLoadedCb=e;var i=t.length;for(r=0;rthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e,r,i=this.animationData.layers,n=i.length,s=t.layers,a=s.length;for(r=0;rthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(t){this.triggerRenderFrameError(t)}},AnimationItem.prototype.play=function(t){t&&this.name!==t||!0===this.isPaused&&(this.isPaused=!1,this.trigger("_pause"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(t){t&&this.name!==t||!1===this.isPaused&&(this.isPaused=!0,this.trigger("_play"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(t){for(var e,r=0;r=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(r=!0,e=this.totalFrames-1):e<0?this.checkSegments(e%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(r=!0,e=0):(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(e),r&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(t,e){var r=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(r=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,-1!==r&&this.goToAndStop(r,!0)},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),"object"===_typeof$4(t[0])){var r,i=t.length;for(r=0;r=0;r-=1)e[r].animation.destroy(t)},t.freeze=function(){a=!0},t.unfreeze=function(){a=!1,d()},t.setVolume=function(t,r){var n;for(n=0;n=.001?function(t,e,r,i){for(var n=0;n<4;++n){var s=o(e,r,i);if(0===s)return e;e-=(a(e,r,i)-t)/s}return e}(t,l,e,r):0===h?l:function(t,e,r,i,n){var s,o,l=0;do{(s=a(o=e+(r-e)/2,i,n)-t)>0?r=o:e=o}while(Math.abs(s)>1e-7&&++l<10);return o}(t,n,n+.1,e,r)}},t}(),pooling={double:function(t){return t.concat(createSizedArray(t.length))}},poolFactory=function(t,e,r){var i=0,n=t,s=createSizedArray(n);return{newElement:function(){return i?s[i-=1]:e()},release:function(t){i===n&&(s=pooling.double(s),n*=2),r&&r(t),s[i]=t,i+=1}}},bezierLengthPool=poolFactory(8,(function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})),segmentsLengthPool=poolFactory(8,(function(){return{lengths:[],totalLength:0}}),(function(t){var e,r=t.lengths.length;for(e=0;e-.001&&a<.001}var r=function(t,e,r,i){var n,s,a,o,l,h,p=getDefaultCurveSegments(),c=0,f=[],u=[],d=bezierLengthPool.newElement();for(a=r.length,n=0;na?-1:1,h=!0;h;)if(i[s]<=a&&i[s+1]>a?(o=(a-i[s])/(i[s+1]-i[s]),h=!1):s+=l,s<0||s>=n-1){if(s===n-1)return r[s];h=!1}return r[s]+(r[s+1]-r[s])*o}var l=createTypedArray("float32",8);return{getSegmentsLength:function(t){var e,i=segmentsLengthPool.newElement(),n=t.c,s=t.v,a=t.o,o=t.i,l=t._length,h=i.lengths,p=0;for(e=0;e1&&(s=1);var p,c=o(s,h),f=o(a=a>1?1:a,h),u=e.length,d=1-c,m=1-f,y=d*d*d,g=c*d*d*3,v=c*c*d*3,b=c*c*c,_=d*d*m,P=c*d*m+d*c*m+d*d*f,E=c*c*m+d*c*f+c*d*f,S=c*c*f,x=d*m*m,w=c*m*m+d*f*m+d*m*f,A=c*f*m+d*f*f+c*m*f,C=c*f*f,k=m*m*m,T=f*m*m+m*f*m+m*m*f,M=f*f*m+m*f*f+f*m*f,D=f*f*f;for(p=0;pu?f>d?f-u-d:d-u-f:d>u?d-u-f:u-f-d)>-1e-4&&c<1e-4}}}var bez=bezFunction(),PropertyFactory=function(){var t=initialDefaultFrame,e=Math.abs;function r(t,e){var r,n=this.offsetTime;"multidimensional"===this.propType&&(r=createTypedArray("float32",this.pv.length));for(var s,a,o,l,h,p,c,f,u,d=e.lastIndex,m=d,y=this.keyframes.length-1,g=!0;g;){if(s=this.keyframes[m],a=this.keyframes[m+1],m===y-1&&t>=a.t-n){s.h&&(s=a),d=0;break}if(a.t-n>t){d=m;break}m=b||t<_){var E=t>=b?P.points.length-1:0;for(h=P.points[E].point.length,l=0;l=w&&x=b)r[0]=v[0],r[1]=v[1],r[2]=v[2];else if(t<=_)r[0]=s.s[0],r[1]=s.s[1],r[2]=s.s[2];else{!function(t,e){var r=e[0],i=e[1],n=e[2],s=e[3],a=Math.atan2(2*i*s-2*r*n,1-2*i*i-2*n*n),o=Math.asin(2*r*i+2*n*s),l=Math.atan2(2*r*s-2*i*n,1-2*r*r-2*n*n);t[0]=a/degToRads,t[1]=o/degToRads,t[2]=l/degToRads}(r,function(t,e,r){var i,n,s,a,o,l=[],h=t[0],p=t[1],c=t[2],f=t[3],u=e[0],d=e[1],m=e[2],y=e[3];(n=h*u+p*d+c*m+f*y)<0&&(n=-n,u=-u,d=-d,m=-m,y=-y);1-n>1e-6?(i=Math.acos(n),s=Math.sin(i),a=Math.sin((1-r)*i)/s,o=Math.sin(r*i)/s):(a=1-r,o=r);return l[0]=a*h+o*u,l[1]=a*p+o*d,l[2]=a*c+o*m,l[3]=a*f+o*y,l}(i(s.s),i(v),(t-_)/(b-_)))}else for(m=0;m=b?p=1:t<_?p=0:(s.o.x.constructor===Array?(o.__fnct||(o.__fnct=[]),o.__fnct[m]?u=o.__fnct[m]:(A=void 0===s.o.x[m]?s.o.x[0]:s.o.x[m],C=void 0===s.o.y[m]?s.o.y[0]:s.o.y[m],k=void 0===s.i.x[m]?s.i.x[0]:s.i.x[m],T=void 0===s.i.y[m]?s.i.y[0]:s.i.y[m],u=BezierFactory.getBezierEasing(A,C,k,T).get,o.__fnct[m]=u)):o.__fnct?u=o.__fnct:(A=s.o.x,C=s.o.y,k=s.i.x,T=s.i.y,u=BezierFactory.getBezierEasing(A,C,k,T).get,s.keyframeMetadata=u),p=u((t-_)/(b-_)))),v=a.s||s.e,M=1===s.h?s.s[m]:s.s[m]+(v[m]-s.s[m])*p,"multidimensional"===this.propType?r[m]=M:r=M}return e.lastIndex=d,r}function i(t){var e=t[0]*degToRads,r=t[1]*degToRads,i=t[2]*degToRads,n=Math.cos(e/2),s=Math.cos(r/2),a=Math.cos(i/2),o=Math.sin(e/2),l=Math.sin(r/2),h=Math.sin(i/2);return[o*l*a+n*s*h,o*s*a+n*l*h,n*l*a-o*s*h,n*s*a-o*l*h]}function n(){var e=this.comp.renderedFrame-this.offsetTime,r=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(e===this._caching.lastFrame||this._caching.lastFrame!==t&&(this._caching.lastFrame>=i&&e>=i||this._caching.lastFrame=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var n=this.interpolateValue(e,this._caching);this.pv=n}return this._caching.lastFrame=e,this.pv}function s(t){var r;if("unidimensional"===this.propType)r=t*this.mult,e(this.v-r)>1e-5&&(this.v=r,this._mdf=!0);else for(var i=0,n=this.v.length;i1e-5&&(this.v[i]=r,this._mdf=!0),i+=1}function a(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t;this.lock=!0,this._mdf=this._isFirstFrame;var e=this.effectsSequence.length,r=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),r){case"v":s=this.v;break;case"i":s=this.i;break;case"o":s=this.o;break;default:s=[]}(!s[i]||s[i]&&!n)&&(s[i]=pointPool.newElement()),s[i][0]=t,s[i][1]=e},ShapePath.prototype.setTripleAt=function(t,e,r,i,n,s,a,o){this.setXYAt(t,e,"v",a,o),this.setXYAt(r,i,"o",a,o),this.setXYAt(n,s,"i",a,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,r=this.o,i=this.i,n=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],i[0][0],i[0][1],r[0][0],r[0][1],0,!1),n=1);var s,a=this._length-1,o=this._length;for(s=n;s=u[u.length-1].t-this.offsetTime)i=u[u.length-1].s?u[u.length-1].s[0]:u[u.length-2].e[0],s=!0;else{for(var d,m,y,g=f,v=u.length-1,b=!0;b&&(d=u[g],!((m=u[g+1]).t-this.offsetTime>t));)g=m.t-this.offsetTime)p=1;else if(tr&&t>r)||(this._caching.lastIndex=i0||t>-1e-6&&t<0?i(1e4*t)/1e4:t}function I(){var t=this.props;return"matrix("+D(t[0])+","+D(t[1])+","+D(t[4])+","+D(t[5])+","+D(t[12])+","+D(t[13])+")"}return function(){this.reset=n,this.rotate=s,this.rotateX=a,this.rotateY=o,this.rotateZ=l,this.skew=p,this.skewFromAxis=c,this.shear=h,this.scale=f,this.setTransform=u,this.translate=d,this.transform=m,this.applyToPoint=_,this.applyToX=P,this.applyToY=E,this.applyToZ=S,this.applyToPointArray=k,this.applyToTriplePoints=C,this.applyToPointStringified=T,this.toCSS=M,this.to2dCSS=I,this.clone=v,this.cloneFromProps=b,this.equals=g,this.inversePoints=A,this.inversePoint=w,this.getInverseMatrix=x,this._t=this.transform,this.isIdentity=y,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(t){return(_typeof$3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(t){setLocationHref(t)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(t){setSubframeEnabled(t)}function setPrefix(t){setIdPrefix(t)}function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.parse(animationData)),animationManager.loadAnimation(t)}function setQuality(t){if("string"==typeof t)switch(t){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(t)&&t>1&&setDefaultCurveSegments(t);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return"undefined"!=typeof navigator}function installPlugin(t,e){"expressions"===t&&setExpressionsPlugin(e)}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(t){for(var e=queryString.split("&"),r=0;r=1?s.push({s:t-1,e:e-1}):(s.push({s:t,e:1}),s.push({s:0,e:e-1}));var a,o,l=[],h=s.length;for(a=0;ai+r))p=o.s*n<=i?0:(o.s*n-i)/r,c=o.e*n>=i+r?1:(o.e*n-i)/r,l.push([p,c])}return l.length||l.push([0,0]),l},TrimModifier.prototype.releasePathsData=function(t){var e,r=t.length;for(e=0;e1?1+s:this.s.v<0?0+s:this.s.v+s)>(r=this.e.v>1?1+s:this.e.v<0?0+s:this.e.v+s)){var a=e;e=r,r=a}e=1e-4*Math.round(1e4*e),r=1e-4*Math.round(1e4*r),this.sValue=e,this.eValue=r}else e=this.sValue,r=this.eValue;var o,l,h,p,c,f=this.shapes.length,u=0;if(r===e)for(n=0;n=0;n-=1)if((d=this.shapes[n]).shape._mdf){for((m=d.localShapeCollection).releaseShapes(),2===this.m&&f>1?(g=this.calculateShapeEdges(e,r,d.totalShapeLength,_,u),_+=d.totalShapeLength):g=[[v,b]],l=g.length,o=0;o=1?y.push({s:d.totalShapeLength*(v-1),e:d.totalShapeLength*(b-1)}):(y.push({s:d.totalShapeLength*v,e:d.totalShapeLength}),y.push({s:0,e:d.totalShapeLength*(b-1)}));var P=this.addShapes(d,y[0]);if(y[0].s!==y[0].e){if(y.length>1)if(d.shape.paths.shapes[d.shape.paths._length-1].c){var E=P.pop();this.addPaths(P,m),P=this.addShapes(d,y[1],E)}else this.addPaths(P,m),P=this.addShapes(d,y[1]);this.addPaths(P,m)}}d.shape.paths=m}}},TrimModifier.prototype.addPaths=function(t,e){var r,i=t.length;for(r=0;re.e){r.c=!1;break}e.s<=d&&e.e>=d+a.addedLength?(this.addSegment(f[i].v[n-1],f[i].o[n-1],f[i].i[n],f[i].v[n],r,o,y),y=!1):(h=bez.getNewSegment(f[i].v[n-1],f[i].v[n],f[i].o[n-1],f[i].i[n],(e.s-d)/a.addedLength,(e.e-d)/a.addedLength,l[n-1]),this.addSegmentFromArray(h,r,o,y),y=!1,r.c=!1),d+=a.addedLength,o+=1}if(f[i].c&&l.length){if(a=l[n-1],d<=e.e){var g=l[n-1].addedLength;e.s<=d&&e.e>=d+g?(this.addSegment(f[i].v[n-1],f[i].o[n-1],f[i].i[0],f[i].v[0],r,o,y),y=!1):(h=bez.getNewSegment(f[i].v[n-1],f[i].v[0],f[i].o[n-1],f[i].i[0],(e.s-d)/g,(e.e-d)/g,l[n-1]),this.addSegmentFromArray(h,r,o,y),y=!1,r.c=!1)}else r.c=!1;d+=a.addedLength,o+=1}if(r._length&&(r.setXYAt(r.v[p][0],r.v[p][1],"i",p),r.setXYAt(r.v[r._length-1][0],r.v[r._length-1][1],"o",r._length-1)),d>e.e)break;i=this.p.keyframes[this.p.keyframes.length-1].t?(i=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/r,0),n=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/r,0)):(i=this.p.pv,n=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/r,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){i=[],n=[];var s=this.px,a=this.py;s._caching.lastFrame+s.offsetTime<=s.keyframes[0].t?(i[0]=s.getValueAtTime((s.keyframes[0].t+.01)/r,0),i[1]=a.getValueAtTime((a.keyframes[0].t+.01)/r,0),n[0]=s.getValueAtTime(s.keyframes[0].t/r,0),n[1]=a.getValueAtTime(a.keyframes[0].t/r,0)):s._caching.lastFrame+s.offsetTime>=s.keyframes[s.keyframes.length-1].t?(i[0]=s.getValueAtTime(s.keyframes[s.keyframes.length-1].t/r,0),i[1]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/r,0),n[0]=s.getValueAtTime((s.keyframes[s.keyframes.length-1].t-.01)/r,0),n[1]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/r,0)):(i=[s.pv,a.pv],n[0]=s.getValueAtTime((s._caching.lastFrame+s.offsetTime-.01)/r,s.offsetTime),n[1]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/r,a.offsetTime))}else i=n=t;this.v.rotate(-Math.atan2(i[1]-n[1],i[0]-n[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(!this.a.k&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],e),e.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},e.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,r,i){return new e(t,r,i)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function floatEqual(t,e){return 1e5*Math.abs(t-e)<=Math.min(Math.abs(t),Math.abs(e))}function floatZero(t){return Math.abs(t)<=1e-5}function lerp(t,e,r){return t*(1-r)+e*r}function lerpPoint(t,e,r){return[lerp(t[0],e[0],r),lerp(t[1],e[1],r)]}function quadRoots(t,e,r){if(0===t)return[];var i=e*e-4*t*r;if(i<0)return[];var n=-e/(2*t);if(0===i)return[n];var s=Math.sqrt(i)/(2*t);return[n-s,n+s]}function polynomialCoefficients(t,e,r,i){return[3*e-t-3*r+i,3*t-6*e+3*r,-3*t+3*e,t]}function singlePoint(t){return new PolynomialBezier(t,t,t,t,!1)}function PolynomialBezier(t,e,r,i,n){n&&pointEqual(t,e)&&(e=lerpPoint(t,i,1/3)),n&&pointEqual(r,i)&&(r=lerpPoint(t,i,2/3));var s=polynomialCoefficients(t[0],e[0],r[0],i[0]),a=polynomialCoefficients(t[1],e[1],r[1],i[1]);this.a=[s[0],a[0]],this.b=[s[1],a[1]],this.c=[s[2],a[2]],this.d=[s[3],a[3]],this.points=[t,e,r,i]}function extrema(t,e){var r=t.points[0][e],i=t.points[t.points.length-1][e];if(r>i){var n=i;i=r,r=n}for(var s=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),a=0;a0&&s[a]<1){var o=t.point(s[a])[e];oi&&(i=o)}return{min:r,max:i}}function intersectData(t,e,r){var i=t.boundingBox();return{cx:i.cx,cy:i.cy,width:i.width,height:i.height,bez:t,t:(e+r)/2,t1:e,t2:r}}function splitData(t){var e=t.bez.split(.5);return[intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return 2*Math.abs(t.cx-e.cx)=s||t.width<=i&&t.height<=i&&e.width<=i&&e.height<=i)n.push([t.t,e.t]);else{var a=splitData(t),o=splitData(e);intersectsImpl(a[0],o[0],r+1,i,n,s),intersectsImpl(a[0],o[1],r+1,i,n,s),intersectsImpl(a[1],o[0],r+1,i,n,s),intersectsImpl(a[1],o[1],r+1,i,n,s)}}function crossProduct(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,r,i){var n=[t[0],t[1],1],s=[e[0],e[1],1],a=[r[0],r[1],1],o=[i[0],i[1],1],l=crossProduct(crossProduct(n,s),crossProduct(a,o));return floatZero(l[2])?null:[l[0]/l[2],l[1]/l[2]]}function polarOffset(t,e,r){return[t[0]+Math.cos(e)*r,t[1]-Math.sin(e)*r]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}function setPoint(t,e,r,i,n,s,a){var o=r-Math.PI/2,l=r+Math.PI/2,h=e[0]+Math.cos(r)*i*n,p=e[1]-Math.sin(r)*i*n;t.setTripleAt(h,p,h+Math.cos(o)*s,p-Math.sin(o)*s,h+Math.cos(l)*a,p-Math.sin(l)*a,t.length())}function getPerpendicularVector(t,e){var r=[e[0]-t[0],e[1]-t[1]],i=.5*-Math.PI;return[Math.cos(i)*r[0]-Math.sin(i)*r[1],Math.sin(i)*r[0]+Math.cos(i)*r[1]]}function getProjectingAngle(t,e){var r=0===e?t.length()-1:e-1,i=(e+1)%t.length(),n=getPerpendicularVector(t.v[r],t.v[i]);return Math.atan2(0,1)-Math.atan2(n[1],n[0])}function zigZagCorner(t,e,r,i,n,s,a){var o=getProjectingAngle(e,r),l=e.v[r%e._length],h=e.v[0===r?e._length-1:r-1],p=e.v[(r+1)%e._length],c=2===s?Math.sqrt(Math.pow(l[0]-h[0],2)+Math.pow(l[1]-h[1],2)):0,f=2===s?Math.sqrt(Math.pow(l[0]-p[0],2)+Math.pow(l[1]-p[1],2)):0;setPoint(t,e.v[r%e._length],o,a,i,f/(2*(n+1)),c/(2*(n+1)),s)}function zigZagSegment(t,e,r,i,n,s){for(var a=0;a1&&e.length>1&&(n=getIntersection(t[0],e[e.length-1]))?[[t[0].split(n[0])[0]],[e[e.length-1].split(n[1])[1]]]:[r,i]}function pruneIntersections(t){for(var e,r=1;r1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var r,i,n,s,a=t.inflectionPoints();if(0===a.length)return[offsetSegment(t,e)];if(1===a.length||floatEqual(a[1],1))return r=(n=t.split(a[0]))[0],i=n[1],[offsetSegment(r,e),offsetSegment(i,e)];r=(n=t.split(a[0]))[0];var o=(a[1]-a[0])/(1-a[0]);return s=(n=n[1].split(o))[0],i=n[1],[offsetSegment(r,e),offsetSegment(s,e),offsetSegment(i,e)]}function OffsetPathModifier(){}function getFontProperties(t){for(var e=t.fStyle?t.fStyle.split(" "):[],r="normal",i="normal",n=e.length,s=0;s0;)r-=1,this._elements.unshift(e[r]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(t){var e,r=t.length;for(e=0;e0?Math.floor(f):Math.ceil(f),m=this.pMatrix.props,y=this.rMatrix.props,g=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v,b,_=0;if(f>0){for(;_d;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),_-=1;u&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-u,!0),_-=u)}for(i=1===this.data.m?0:this._currentCopies-1,n=1===this.data.m?1:-1,s=this._currentCopies;s;){if(b=(r=(e=this.elemsData[i].it)[e.length-1].transform.mProps.v.props).length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(i/(this._currentCopies-1)),0!==_){for((0!==i&&1===n||i!==this._currentCopies-1&&-1===n)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),v=0;v0&&i<1?[e]:[]:[e-i,e+i].filter((function(t){return t>0&&t<1}))},PolynomialBezier.prototype.split=function(t){if(t<=0)return[singlePoint(this.points[0]),this];if(t>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),r=lerpPoint(this.points[1],this.points[2],t),i=lerpPoint(this.points[2],this.points[3],t),n=lerpPoint(e,r,t),s=lerpPoint(r,i,t),a=lerpPoint(n,s,t);return[new PolynomialBezier(this.points[0],e,n,a,!0),new PolynomialBezier(a,s,i,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return{left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}},PolynomialBezier.prototype.intersections=function(t,e,r){void 0===e&&(e=2),void 0===r&&(r=7);var i=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,i,r),i},PolynomialBezier.shapeSegment=function(t,e){var r=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[r],t.v[r],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var r=(e+1)%t.length();return new PolynomialBezier(t.v[r],t.i[r],t.o[e],t.v[e],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(t,e,r,i){var n=t._length,s=shapePool.newElement();if(s.c=t.c,t.c||(n-=1),0===n)return s;var a=-1,o=PolynomialBezier.shapeSegment(t,0);zigZagCorner(s,t,0,e,r,i,a);for(var l=0;l=0;s-=1)o=PolynomialBezier.shapeSegmentInverted(t,s),h.push(offsetSegmentSplit(o,e));h=pruneIntersections(h);var p=null,c=null;for(s=0;s0&&(p=!1),p){var c=createTag("style");c.setAttribute("f-forigin",i[r].fOrigin),c.setAttribute("f-origin",i[r].origin),c.setAttribute("f-family",i[r].fFamily),c.type="text/css",c.innerText="@font-face {font-family: "+i[r].fFamily+"; font-style: normal; src: url('"+i[r].fPath+"');}",e.appendChild(c)}}else if("g"===i[r].fOrigin||1===i[r].origin){for(l=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),h=0;ht?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t0&&(this.maskElement.setAttribute("id",y),this.element.maskedElement.setAttribute(v,"url("+getLocationHref()+"#"+y+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(t,e){var r;this.data=t,this.effectElements=[],this.initDynamicPropertyContainer(e);var i,n=this.data.ef.length,s=this.data.ef;for(r=0;r.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(t){this.audio.rate(t)},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(t){var e,r,i=this.layers.length;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(r=this.layers[e]).ip-r.st<=t-this.layers[e].st&&r.op-r.st>t-this.layers[e].st&&this.buildItem(e),this.completeLayers=!!this.elements[e]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t1&&(s+=" C"+e.o[i-1][0]+","+e.o[i-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),r.lastPath!==s){var a="";r.elem&&(e.c&&(a=t.inv?this.solidPath+s:s),r.elem.setAttribute("d",a)),r.lastPath=s}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var t={};return t.createFilter=function(t,e){var r=createNS("filter");r.setAttribute("id",t),!0!==e&&(r.setAttribute("filterUnits","objectBoundingBox"),r.setAttribute("x","0%"),r.setAttribute("y","0%"),r.setAttribute("width","100%"),r.setAttribute("height","100%"));return r},t.createAlphaToLuminanceFilter=function(){var t=createNS("feColorMatrix");return t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),t},t}(),featureSupport=function(){var t={maskType:!0};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),t}(),registeredEffects={},idPrefix="filter_result_";function SVGEffects(t){var e,r,i="SourceGraphic",n=t.data.ef?t.data.ef.length:0,s=createElementID(),a=filtersFactory.createFilter(s,!0),o=0;for(this.filters=[],e=0;e=0&&!this.shapeModifiers[t].processShapes(this._isFirstFrame);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,r=0,i=e.length;r.01)return!1;r+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)l=i.transformers[m].mProps._mdf||l,d-=1,m-=1;if(l)for(d=g-i.styles[p].lvl,m=i.transformers.length-1;d>0;)u=i.transformers[m].mProps.v.props,f.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),d-=1,m-=1}else f=t;if(a=(c=i.sh.paths)._length,l){for(o="",s=0;s=1?v=.99:v<=-1&&(v=-.99);var b=o*v,_=Math.cos(g+e.a.v)*b+p[0],P=Math.sin(g+e.a.v)*b+p[1];l.setAttribute("fx",_),l.setAttribute("fy",P),h&&!e.g._collapsable&&(e.of.setAttribute("fx",_),e.of.setAttribute("fy",P))}}function l(t,e,r){var i=e.style,n=e.d;n&&(n._mdf||r)&&n.dashStr&&(i.pElem.setAttribute("stroke-dasharray",n.dashStr),i.pElem.setAttribute("stroke-dashoffset",n.dashoffset[0])),e.c&&(e.c._mdf||r)&&i.pElem.setAttribute("stroke","rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")"),(e.o._mdf||r)&&i.pElem.setAttribute("stroke-opacity",e.o.v),(e.w._mdf||r)&&(i.pElem.setAttribute("stroke-width",e.w.v),i.msElem&&i.msElem.setAttribute("stroke-width",e.w.v))}return{createRenderFunction:function(t){switch(t.ty){case"fl":return s;case"gf":return o;case"gs":return a;case"st":return l;case"sh":case"el":case"rc":case"sr":return n;case"tr":return r;case"no":return i;default:return null}}}}();function SVGShapeElement(t,e,r){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,r),this.prevViewData=[]}function LetterProps(t,e,r,i,n,s){this.o=t,this.sw=e,this.sc=r,this.fc=i,this.m=n,this.p=s,this._mdf={o:!0,sw:!!e,sc:!!r,fc:!!i,m:!0,p:!0}}function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,this.data=e,this.elem=t,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e,r,i,n=this.shapes.length,s=this.stylesList.length,a=[],o=!1;for(r=0;r1&&o&&this.setShapesAsAnimated(a)}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,r=t.length;for(e=0;e=0;o-=1){if((f=this.searchProcessedElement(t[o]))?e[o]=r[f-1]:t[o]._render=a,"fl"===t[o].ty||"st"===t[o].ty||"gf"===t[o].ty||"gs"===t[o].ty||"no"===t[o].ty)f?e[o].style.closed=!1:e[o]=this.createStyleElement(t[o],n),t[o]._render&&e[o].style.pElem.parentNode!==i&&i.appendChild(e[o].style.pElem),m.push(e[o].style);else if("gr"===t[o].ty){if(f)for(h=e[o].it.length,l=0;l1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(t){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||t){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,r=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var i;this.lock=!0,this._mdf=!1;var n=this.effectsSequence.length,s=t||this.data.d.k[this.keysIndex].s;for(i=0;ie);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,r,i=[],n=0,s=t.length,a=!1;n=55296&&e<=56319?(r=t.charCodeAt(n+1))>=56320&&r<=57343?(a||FontManager.isModifier(e,r)?(i[i.length-1]+=t.substr(n,2),a=!1):i.push(t.substr(n,2)),n+=1):i.push(t.charAt(n)):e>56319?(r=t.charCodeAt(n+1),FontManager.isZeroWidthJoiner(e,r)?(a=!0,i[i.length-1]+=t.substr(n,2),n+=1):i.push(t.charAt(n))):FontManager.isZeroWidthJoiner(e)?(i[i.length-1]+=t.charAt(n),a=!0):i.push(t.charAt(n)),n+=1;return i},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e,r,i,n,s,a,o,l=this.elem.globalData.fontManager,h=this.data,p=[],c=0,f=h.m.g,u=0,d=0,m=0,y=[],g=0,v=0,b=l.getFontByName(t.f),_=0,P=getFontProperties(b);t.fWeight=P.weight,t.fStyle=P.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),r=t.finalText.length,t.finalLineHeight=t.lh;var E,S=t.tr/1e3*t.finalSize;if(t.sz)for(var x,w,A=!0,C=t.sz[0],k=t.sz[1];A;){x=0,g=0,r=(w=this.buildFinalText(t.t)).length,S=t.tr/1e3*t.finalSize;var T=-1;for(e=0;eC&&" "!==w[e]?(-1===T?r+=1:e=T,x+=t.finalLineHeight||1.2*t.finalSize,w.splice(e,T===e?1:0,"\r"),T=-1,g=0):(g+=_,g+=S);x+=b.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&kv?g:v,g=-2*S,n="",i=!0,m+=1):n=M,l.chars?(o=l.getCharData(M,b.fStyle,l.getFontByName(t.f).fFamily),_=i?0:o.w*t.finalSize/100):_=l.measureText(n,t.f,t.finalSize)," "===M?D+=_+S:(g+=_+S+D,D=0),p.push({l:_,an:_,add:u,n:i,anIndexes:[],val:n,line:m,animatorJustifyOffset:0}),2==f){if(u+=_,""===n||" "===n||e===r-1){for(""!==n&&" "!==n||(u-=_);d<=e;)p[d].an=u,p[d].ind=c,p[d].extra=_,d+=1;c+=1,u=0}}else if(3==f){if(u+=_,""===n||e===r-1){for(""===n&&(u-=_);d<=e;)p[d].an=u,p[d].ind=c,p[d].extra=_,d+=1;u=0,c+=1}}else p[c].ind=c,p[c].extra=0,c+=1;if(t.l=p,v=g>v?g:v,y.push(g),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=y;var I,F,R,B,z=h.a;a=z.length;var O=[];for(s=0;s0?n=this.ne.v/100:s=-this.ne.v/100,this.xe.v>0?a=1-this.xe.v/100:o=1+this.xe.v/100;var l=BezierFactory.getBezierEasing(n,s,a,o).get,h=0,p=this.finalS,c=this.finalE,f=this.data.sh;if(2===f)h=l(h=c===p?i>=c?1:0:t(0,e(.5/(c-p)+(i-p)/(c-p),1)));else if(3===f)h=l(h=c===p?i>=c?0:1:1-t(0,e(.5/(c-p)+(i-p)/(c-p),1)));else if(4===f)c===p?h=0:(h=t(0,e(.5/(c-p)+(i-p)/(c-p),1)))<.5?h*=2:h=1-2*(h-.5),h=l(h);else if(5===f){if(c===p)h=0;else{var u=c-p,d=-u/2+(i=e(t(0,i+.5-p),c-p)),m=u/2;h=Math.sqrt(1-d*d/(m*m))}h=l(h)}else 6===f?(c===p?h=0:(i=e(t(0,i+.5-p),c-p),h=(1+Math.cos(Math.PI+2*Math.PI*i/(c-p)))/2),h=l(h)):(i>=r(p)&&(h=t(0,e(i-p<0?e(c,1)-(p-i):c-i,1))),h=l(h));if(100!==this.sm.v){var y=.01*this.sm.v;0===y&&(y=1e-8);var g=.5-.5*y;h1&&(h=1)}return h*this.a.v},getValue:function(t){this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&2===this.data.r&&(this.e.v=this._currentTextLength);var e=2===this.data.r?1:100/this.data.totalChars,r=this.o.v/e,i=this.s.v/e+r,n=this.e.v/e+r;if(i>n){var s=i;i=n,n=s}this.finalS=i,this.finalE=n}},extendPrototype([DynamicPropertyContainer],i),{getTextSelectorProp:function(t,e,r){return new i(t,e,r)}}}();function TextAnimatorDataProperty(t,e,r){var i={propType:!1},n=PropertyFactory.getProp,s=e.a;this.a={r:s.r?n(t,s.r,0,degToRads,r):i,rx:s.rx?n(t,s.rx,0,degToRads,r):i,ry:s.ry?n(t,s.ry,0,degToRads,r):i,sk:s.sk?n(t,s.sk,0,degToRads,r):i,sa:s.sa?n(t,s.sa,0,degToRads,r):i,s:s.s?n(t,s.s,1,.01,r):i,a:s.a?n(t,s.a,1,0,r):i,o:s.o?n(t,s.o,0,.01,r):i,p:s.p?n(t,s.p,1,0,r):i,sw:s.sw?n(t,s.sw,0,0,r):i,sc:s.sc?n(t,s.sc,1,0,r):i,fc:s.fc?n(t,s.fc,1,0,r):i,fh:s.fh?n(t,s.fh,0,0,r):i,fs:s.fs?n(t,s.fs,0,.01,r):i,fb:s.fb?n(t,s.fb,0,.01,r):i,t:s.t?n(t,s.t,0,0,r):i},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,r),this.s.t=e.s.t}function TextAnimatorProperty(t,e,r){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=r,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(r)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var t,e,r=this._textData.a.length,i=PropertyFactory.getProp;for(t=0;t=o+ot||!d?(v=(o+ot-h)/l.partialLength,L=u.point[0]+(l.point[0]-u.point[0])*v,V=u.point[1]+(l.point[1]-u.point[1])*v,x.translate(-P[0]*C[n].an*.005,-P[1]*B*.01),p=!1):d&&(h+=l.partialLength,(c+=1)>=d.length&&(c=0,m[f+=1]?d=m[f].points:_.v.c?(c=0,d=m[f=0].points):(h-=l.partialLength,d=null)),d&&(u=l,y=(l=d[c]).partialLength));O=C[n].an/2-C[n].add,x.translate(-O,0,0)}else O=C[n].an/2-C[n].add,x.translate(-O,0,0),x.translate(-P[0]*C[n].an*.005,-P[1]*B*.01,0);for(D=0;Dt?this.textSpans[t].span:createNS(l?"g":"text"),y<=t){if(a.setAttribute("stroke-linecap","butt"),a.setAttribute("stroke-linejoin","round"),a.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=a,l){var g=createNS("g");a.appendChild(g),this.textSpans[t].childSpan=g}this.textSpans[t].span=a,this.layerElement.appendChild(a)}a.style.display="inherit"}if(h.reset(),p&&(o[t].n&&(c=-d,f+=r.yOffset,f+=u?1:0,u=!1),this.applyTextPropertiesToMatrix(r,h,o[t].line,c,f),c+=o[t].l||0,c+=d),l){var v;if(1===(m=this.globalData.fontManager.getCharData(r.finalText[t],i.fStyle,this.globalData.fontManager.getFontByName(r.f).fFamily)).t)v=new SVGCompElement(m.data,this.globalData,this);else{var b=emptyShapeData;m.data&&m.data.shapes&&(b=this.buildShapeData(m.data,r.finalSize)),v=new SVGShapeElement(b,this.globalData,this)}if(this.textSpans[t].glyph){var _=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(_.layerElement),_.destroy()}this.textSpans[t].glyph=v,v._debug=!0,v.prepareFrame(0),v.renderFrame(),this.textSpans[t].childSpan.appendChild(v.layerElement),1===m.t&&this.textSpans[t].childSpan.setAttribute("transform","scale("+r.finalSize/100+","+r.finalSize/100+")")}else p&&a.setAttribute("transform","translate("+h.props[12]+","+h.props[13]+")"),a.textContent=o[t].val,a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}p&&a&&a.setAttribute("d","")}else{var P=this.textContainer,E="start";switch(r.j){case 1:E="end";break;case 2:E="middle";break;default:E="start"}P.setAttribute("text-anchor",E),P.setAttribute("letter-spacing",d);var S=this.buildTextContents(r.finalText);for(e=S.length,f=r.ps?r.ps[1]+r.ascent:0,t=0;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;r-=1)(this.completeLayers||this.elements[r])&&(this.elements[r].prepareFrame(this.renderedFrame-this.layers[r].st),this.elements[r]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=0;i-=1)r=t.transforms[i].transform.mProps.v.props,t.finalTransform.transform(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]);t._mdf=s},processSequences:function(t){var e,r=this.sequenceList.length;for(e=0;e=0;s-=1){if((l=this.searchProcessedElement(t[s]))?e[s]=r[l-1]:t[s]._shouldRender=i,"fl"===t[s].ty||"st"===t[s].ty||"gf"===t[s].ty||"gs"===t[s].ty)l?e[s].style.closed=!1:e[s]=this.createStyleElement(t[s],d),f.push(e[s].style);else if("gr"===t[s].ty){if(l)for(o=e[s].it.length,a=0;a=0;n-=1)"tr"===e[n].ty?(s=r[n].transform,this.renderShapeTransform(t,s)):"sh"===e[n].ty||"el"===e[n].ty||"rc"===e[n].ty||"sr"===e[n].ty?this.renderPath(e[n],r[n]):"fl"===e[n].ty?this.renderFill(e[n],r[n],s):"st"===e[n].ty?this.renderStroke(e[n],r[n],s):"gf"===e[n].ty||"gs"===e[n].ty?this.renderGradientFill(e[n],r[n],s):"gr"===e[n].ty?this.renderShape(s,e[n].it,r[n].it):e[n].ty;i&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var r,i,n,s=t.trNodes,a=e.paths,o=a._length;s.length=0;var l=t.transforms.finalTransform;for(n=0;n=1?c=.99:c<=-1&&(c=-.99);var f=h*c,u=Math.cos(p+e.a.v)*f+o[0],d=Math.sin(p+e.a.v)*f+o[1];i=a.createRadialGradient(u,d,0,o[0],o[1],h)}var m=t.g.p,y=e.g.c,g=1;for(s=0;so&&"xMidYMid slice"===l||an&&"meet"===o||sn&&"slice"===o)?(r-this.transformCanvas.w*(i/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===h&&(sn&&"slice"===o)?(r-this.transformCanvas.w*(i/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty="YMid"===p&&(s>n&&"meet"===o||sn&&"meet"===o||s=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(t,e){if((this.renderedFrame!==t||!0!==this.renderConfig.clearCanvas||e)&&!this.destroyed&&-1!==t){var r;this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var i=this.layers.length;for(this.completeLayers||this.checkLayers(t),r=0;r=0;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!==this.layers[t].ty){var r=this.createItem(this.layers[t],this,this.globalData);e[t]=r,r.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){this.pendingElements.pop().checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var t,e=this.canvasContext;for(e.beginPath(),e.moveTo(0,0),e.lineTo(this.data.w,0),e.lineTo(this.data.w,this.data.h),e.lineTo(0,this.data.h),e.lineTo(0,0),e.clip(),t=this.layers.length-1;t>=0;t-=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},CVCompElement.prototype.destroy=function(){var t;for(t=this.layers.length-1;t>=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var t=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();t.transform=e,t.webkitTransform=e}this.finalTransform._opMdf&&(t.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var t;this.data.hasMask?((t=createNS("rect")).setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((t=createTag("div")).style.width=this.data.sw+"px",t.style.height=this.data.sh+"px",t.style.backgroundColor=this.data.sc),this.layerElement.appendChild(t)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var t;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),t=this.svgElement;else{t=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;t.setAttribute("width",e.w),t.setAttribute("height",e.h),t.appendChild(this.shapesContainer),this.layerElement.appendChild(t)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=t},HShapeElement.prototype.getTransformedPoint=function(t,e){var r,i=t.length;for(r=0;r0&&o<1&&c[f].push(this.calculateF(o,t,e,r,i,f)):(l=s*s-4*a*n)>=0&&((h=(-s+bmSqrt(l))/(2*n))>0&&h<1&&c[f].push(this.calculateF(h,t,e,r,i,f)),(p=(-s-bmSqrt(l))/(2*n))>0&&p<1&&c[f].push(this.calculateF(p,t,e,r,i,f))));this.shapeBoundingBox.left=bmMin.apply(null,c[0]),this.shapeBoundingBox.top=bmMin.apply(null,c[1]),this.shapeBoundingBox.right=bmMax.apply(null,c[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,c[1])},HShapeElement.prototype.calculateF=function(t,e,r,i,n,s){return bmPow(1-t,3)*e[s]+3*bmPow(1-t,2)*t*r[s]+3*(1-t)*bmPow(t,2)*i[s]+bmPow(t,3)*n[s]},HShapeElement.prototype.calculateBoundingBox=function(t,e){var r,i=t.length;for(r=0;rr&&(r=n)}r*=t.mult}else r=t.v*t.mult;e.x-=r,e.xMax+=r,e.y-=r,e.yMax+=r},HShapeElement.prototype.currentBoxContains=function(t){return this.currentBBox.x<=t.x&&this.currentBBox.y<=t.y&&this.currentBBox.width+this.currentBBox.x>=t.x+t.width&&this.currentBBox.height+this.currentBBox.y>=t.y+t.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMax=0;t-=1){var i=this.hierarchy[t].finalTransform.mProp;this.mat.translate(-i.p.v[0],-i.p.v[1],i.p.v[2]),this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]),this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v),this.mat.scale(1/i.s.v[0],1/i.s.v[1],1/i.s.v[2]),this.mat.translate(i.a.v[0],i.a.v[1],i.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var n;n=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var s=Math.sqrt(Math.pow(n[0],2)+Math.pow(n[1],2)+Math.pow(n[2],2)),a=[n[0]/s,n[1]/s,n[2]/s],o=Math.sqrt(a[2]*a[2]+a[0]*a[0]),l=Math.atan2(a[1],o),h=Math.atan2(a[0],-a[2]);this.mat.rotateY(h).rotateX(-l)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var p=!this._prevMat.equals(this.mat);if((p||this.pe._mdf)&&this.comp.threeDElements){var c,f,u;for(e=this.comp.threeDElements.length,t=0;t=t)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(t,e){var r,i,n=createTag("div");styleDiv(n);var s=createTag("div");if(styleDiv(s),"3d"===e){(r=n.style).width=this.globalData.compSize.w+"px",r.height=this.globalData.compSize.h+"px";r.webkitTransformOrigin="50% 50%",r.mozTransformOrigin="50% 50%",r.transformOrigin="50% 50%";var a="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(i=s.style).transform=a,i.webkitTransform=a}n.appendChild(s);var o={container:s,perspectiveElem:n,startPos:t,endPos:t,type:e};return this.threeDElements.push(o),o},HybridRendererBase.prototype.build3dContainers=function(){var t,e,r=this.layers.length,i="";for(t=0;t=0;t-=1)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(t,e){for(var r=0,i=this.threeDElements.length;ra?(t=n/this.globalData.compSize.w,e=n/this.globalData.compSize.w,r=0,i=(s-this.globalData.compSize.h*(n/this.globalData.compSize.w))/2):(t=s/this.globalData.compSize.h,e=s/this.globalData.compSize.h,r=(n-this.globalData.compSize.w*(s/this.globalData.compSize.h))/2,i=0);var o=this.resizerElem.style;o.webkitTransform="matrix3d("+t+",0,0,0,0,"+e+",0,0,0,0,1,0,"+r+","+i+",0,1)",o.transform=o.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var t,e=this.globalData.compSize.w,r=this.globalData.compSize.h,i=this.threeDElements.length;for(t=0;t=s;)t/=2,e/=2,r>>>=1;return(t+r)/e};return y.int32=function(){return 0|m.g(4)},y.quick=function(){return m.g(4)/4294967296},y.double=y,l(h(m.S),t),(c.pass||f||function(t,r,i,n){return n&&(n.S&&o(n,m),t.state=function(){return o(m,{})}),i?(e.random=t,r):t})(y,d,"global"in c?c.global:this==e,c.state)},l(e.random(),t)}function initialize$2(t){seedRandom([],t)}var propTypes={SHAPE:"shape"};function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null;function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constructor===Float32Array}function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===t||e instanceof Number}function $bm_neg(t){var e=_typeof(t);if("number"===e||"boolean"===e||t instanceof Number)return-t;if($bm_isInstanceOfArray(t)){var r,i=t.length,n=[];for(r=0;rr){var i=r;r=e,e=i}return Math.min(Math.max(t,e),r)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if("number"==typeof t||t instanceof Number)return e=e||0,Math.abs(t-e);var r;e||(e=helperLengthArray);var i=Math.min(t.length,e.length),n=0;for(r=0;r.5?h/(2-a-o):h/(a+o),a){case i:e=(n-s)/h+(n1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function hslToRgb(t){var e,r,i,n=t[0],s=t[1],a=t[2];if(0===s)e=a,i=a,r=a;else{var o=a<.5?a*(1+s):a+s-a*s,l=2*a-o;e=hue2rgb(l,o,n+1/3),r=hue2rgb(l,o,n),i=hue2rgb(l,o,n-1/3)}return[e,r,i,t[3]]}function linear(t,e,r,i,n){if(void 0!==i&&void 0!==n||(i=e,n=r,e=0,r=1),r=r)return n;var a,o=r===e?0:(t-e)/(r-e);if(!i.length)return i+(n-i)*o;var l=i.length,h=createTypedArray("float32",l);for(a=0;a1){for(i=0;i1?e=1:e<0&&(e=0);var a=t(e);if($bm_isInstanceOfArray(n)){var o,l=n.length,h=createTypedArray("float32",l);for(o=0;odata.k[e].t&&tdata.k[e+1].t-t?(r=e+2,i=data.k[e+1].t):(r=e+1,i=data.k[e].t);break}}-1===r&&(r=e+1,i=data.k[e].t)}else r=0,i=0;var s={};return s.index=r,s.time=i/elem.comp.globalData.frameRate,s}function key(t){var e,r,i;if(!data.k.length||"number"==typeof data.k[0])throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var n=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(i=n.length,r=0;rh.length-1)&&(e=h.length-1),i=p-(n=h[h.length-1-e].t)),"pingpong"===t){if(Math.floor((l-n)/i)%2!=0)return this.getValueAtTime((i-(l-n)%i+n)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var c=this.getValueAtTime(n/this.comp.globalData.frameRate,0),f=this.getValueAtTime(p/this.comp.globalData.frameRate,0),u=this.getValueAtTime(((l-n)%i+n)/this.comp.globalData.frameRate,0),d=Math.floor((l-n)/i);if(this.pv.length){for(a=(o=new Array(c.length)).length,s=0;s=p)return this.pv;if(r?n=p+(i=e?Math.abs(this.elem.comp.globalData.frameRate*e):Math.max(0,this.elem.data.op-p)):((!e||e>h.length-1)&&(e=h.length-1),i=(n=h[e].t)-p),"pingpong"===t){if(Math.floor((p-l)/i)%2==0)return this.getValueAtTime(((p-l)%i+p)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var c=this.getValueAtTime(p/this.comp.globalData.frameRate,0),f=this.getValueAtTime(n/this.comp.globalData.frameRate,0),u=this.getValueAtTime((i-(p-l)%i+p)/this.comp.globalData.frameRate,0),d=Math.floor((p-l)/i)+1;if(this.pv.length){for(a=(o=new Array(c.length)).length,s=0;s1?(n+t-s)/(e-1):1,o=0,l=0;for(r=this.pv.length?createTypedArray("float32",this.pv.length):0;oa){var p=o,c=r.c&&o===l-1?0:o+1,f=(a-h)/s[o].addedLength;i=bez.getPointInSegment(r.v[p],r.v[c],r.o[p],r.i[c],f,s[o]);break}h+=s[o].addedLength,o+=1}return i||(i=r.c?[r.v[0][0],r.v[0][1]]:[r.v[r._length-1][0],r.v[r._length-1][1]]),i},vectorOnPath:function(t,e,r){1==t?t=this.v.c:0==t&&(t=.999);var i=this.pointOnPath(t,e),n=this.pointOnPath(t+.001,e),s=n[0]-i[0],a=n[1]-i[1],o=Math.sqrt(Math.pow(s,2)+Math.pow(a,2));return 0===o?[0,0]:"tangent"===r?[s/o,a/o]:[-a/o,s/o]},tangentOnPath:function(t,e){return this.vectorOnPath(t,e,"tangent")},normalOnPath:function(t,e){return this.vectorOnPath(t,e,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([h],o),extendPrototype([h],l),l.prototype.getValueAtTime=function(t){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime=h?u<0?i:n:i+f*Math.pow((s-t)/u,1/r),p[c]=a,c+=1,o+=256/255;return p.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,r=this.filterManager.effectElements;this.feFuncRComposed&&(t||r[3].p._mdf||r[4].p._mdf||r[5].p._mdf||r[6].p._mdf||r[7].p._mdf)&&(e=this.getTableValue(r[3].p.v,r[4].p.v,r[5].p.v,r[6].p.v,r[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(t||r[10].p._mdf||r[11].p._mdf||r[12].p._mdf||r[13].p._mdf||r[14].p._mdf)&&(e=this.getTableValue(r[10].p.v,r[11].p.v,r[12].p.v,r[13].p.v,r[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(t||r[17].p._mdf||r[18].p._mdf||r[19].p._mdf||r[20].p._mdf||r[21].p._mdf)&&(e=this.getTableValue(r[17].p.v,r[18].p.v,r[19].p.v,r[20].p.v,r[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(t||r[24].p._mdf||r[25].p._mdf||r[26].p._mdf||r[27].p._mdf||r[28].p._mdf)&&(e=this.getTableValue(r[24].p.v,r[25].p.v,r[26].p.v,r[27].p.v,r[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(t||r[31].p._mdf||r[32].p._mdf||r[33].p._mdf||r[34].p._mdf||r[35].p._mdf)&&(e=this.getTableValue(r[31].p.v,r[32].p.v,r[33].p.v,r[34].p.v,r[35].p.v),this.feFuncA.setAttribute("tableValues",e))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*e[0]),Math.round(255*e[1]),Math.round(255*e[2])))}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var r=this.filterManager.effectElements[3].p.v,i=(this.filterManager.effectElements[2].p.v-90)*degToRads,n=r*Math.cos(i),s=r*Math.sin(i);this.feOffset.setAttribute("dx",n),this.feOffset.setAttribute("dy",s)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,r){this.initialized=!1,this.filterManager=e,this.filterElem=t,this.elem=r,r.matteElement=createNS("g"),r.matteElement.appendChild(r.layerElement),r.matteElement.appendChild(r.transformedElement),r.baseElement=r.matteElement}function SVGGaussianBlurEffect(t,e,r,i){t.setAttribute("x","-100%"),t.setAttribute("y","-100%"),t.setAttribute("width","300%"),t.setAttribute("height","300%"),this.filterManager=e;var n=createNS("feGaussianBlur");n.setAttribute("result",i),t.appendChild(n),this.feGaussianBlur=n}return SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,r=_svgMatteSymbols.length;e>>1|(21845&i)<<1;x=(52428&x)>>>2|(13107&x)<<2,x=(61680&x)>>>4|(3855&x)<<4,rev[i]=((65280&x)>>>8|(255&x)<<8)>>>1}for(var hMap=function(t,e,r){for(var i=t.length,n=0,s=new u16(e);n>>l]=h}else for(a=new u16(i),n=0;n>>15-t[n]);return a},flt=new u8(288),i=0;i<144;++i)flt[i]=8;for(var i=144;i<256;++i)flt[i]=9;for(var i=256;i<280;++i)flt[i]=7;for(var i=280;i<288;++i)flt[i]=8;for(var fdt=new u8(32),i=0;i<32;++i)fdt[i]=5;var flm=hMap(flt,9,0),flrm=hMap(flt,9,1),fdm=hMap(fdt,5,0),fdrm=hMap(fdt,5,1),max=function(t){for(var e=t[0],r=1;re&&(e=t[r]);return e},bits=function(t,e,r){var i=e/8|0;return(t[i]|t[i+1]<<8)>>(7&e)&r},bits16=function(t,e){var r=e/8|0;return(t[r]|t[r+1]<<8|t[r+2]<<16)>>(7&e)},shft=function(t){return(t+7)/8|0},slc=function(t,e,r){(null==e||e<0)&&(e=0),(null==r||r>t.length)&&(r=t.length);var i=new(2==t.BYTES_PER_ELEMENT?u16:4==t.BYTES_PER_ELEMENT?u32:u8)(r-e);return i.set(t.subarray(e,r)),i},FlateErrorCode={UnexpectedEOF:0,InvalidBlockType:1,InvalidLengthLiteral:2,InvalidDistance:3,StreamFinished:4,NoStreamHandler:5,InvalidHeader:6,NoCallback:7,InvalidUTF8:8,ExtraFieldTooLong:9,InvalidDate:10,FilenameTooLong:11,StreamFinishing:12,InvalidZipData:13,UnknownCompressionMethod:14},ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],err=function(t,e,r){var i=new Error(e||ec[t]);if(i.code=t,Error.captureStackTrace&&Error.captureStackTrace(i,err),!r)throw i;return i},inflt=function(t,e,r){var i=t.length;if(!i||r&&r.f&&!r.l)return e||new u8(0);var n=!e||r,s=!r||r.i;r||(r={}),e||(e=new u8(3*i));var a=function(t){var r=e.length;if(t>r){var i=new u8(Math.max(2*r,t));i.set(e),e=i}},o=r.f||0,l=r.p||0,h=r.b||0,p=r.l,c=r.d,f=r.m,u=r.n,d=8*i;do{if(!p){o=bits(t,l,1);var m=bits(t,l+1,3);if(l+=3,!m){var y=t[(C=shft(l)+4)-4]|t[C-3]<<8,g=C+y;if(g>i){s&&err(0);break}n&&a(h+y),e.set(t.subarray(C,g),h),r.b=h+=y,r.p=l=8*g,r.f=o;continue}if(1==m)p=flrm,c=fdrm,f=9,u=5;else if(2==m){var v=bits(t,l,31)+257,b=bits(t,l+10,15)+4,_=v+bits(t,l+5,31)+1;l+=14;for(var P=new u8(_),E=new u8(19),S=0;S>>4)<16)P[S++]=C;else{var T=0,M=0;for(16==C?(M=3+bits(t,l,3),l+=2,T=P[S-1]):17==C?(M=3+bits(t,l,7),l+=3):18==C&&(M=11+bits(t,l,127),l+=7);M--;)P[S++]=T}}var D=P.subarray(0,v),I=P.subarray(v);f=max(D),u=max(I),p=hMap(D,f,1),c=hMap(I,u,1)}else err(1);if(l>d){s&&err(0);break}}n&&a(h+131072);for(var F=(1<>>4;if((l+=15&T)>d){s&&err(0);break}if(T||err(2),z<256)e[h++]=z;else{if(256==z){B=l,p=null;break}var O=z-254;if(z>264){var L=fleb[S=z-257];O=bits(t,l,(1<>>4;V||err(3),l+=15&V;I=fd[$];if($>3){L=fdeb[$];I+=bits16(t,l)&(1<d){s&&err(0);break}n&&a(h+131072);for(var G=h+O;h>>8},wbits16=function(t,e,r){r<<=7&e;var i=e/8|0;t[i]|=r,t[i+1]|=r>>>8,t[i+2]|=r>>>16},hTree=function(t,e){for(var r=[],i=0;if&&(f=s[i].s);var u=new u16(f+1),d=ln(r[p-1],u,0);if(d>e){i=0;var m=0,y=d-e,g=1<e))break;m+=g-(1<>>=y;m>0;){var b=s[i].s;u[b]=0&&m;--i){var _=s[i].s;u[_]==e&&(--u[_],++m)}d=e}return[new u8(u),d]},ln=function(t,e,r){return-1==t.s?Math.max(ln(t.l,e,r+1),ln(t.r,e,r+1)):e[t.s]=r},lc=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new u16(++e),i=0,n=t[0],s=1,a=function(t){r[i++]=t},o=1;o<=e;++o)if(t[o]==n&&o!=e)++s;else{if(!n&&s>2){for(;s>138;s-=138)a(32754);s>2&&(a(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(a(n),--s;s>6;s-=6)a(8304);s>2&&(a(s-3<<5|8208),s=0)}for(;s--;)a(n);s=1,n=t[o]}return[r.subarray(0,i),e]},clen=function(t,e){for(var r=0,i=0;i>>8,t[n+2]=255^t[n],t[n+3]=255^t[n+1];for(var s=0;s4&&!A[clim[k-1]];--k);var T,M,D,I,F=h+5<<3,R=clen(n,flt)+clen(s,fdt)+a,B=clen(n,f)+clen(s,m)+a+14+3*k+clen(S,A)+(2*S[16]+3*S[17]+7*S[18]);if(F<=R&&F<=B)return wfblk(e,p,t.subarray(l,l+h));if(wbits(e,p,1+(B15&&(wbits(e,p,V[x]>>>5&127),p+=V[x]>>>12)}}}else T=flm,M=flt,D=fdm,I=fdt;for(x=0;x255){$=i[x]>>>18&31;wbits16(e,p,T[$+257]),p+=M[$+257],$>7&&(wbits(e,p,i[x]>>>23&31),p+=fleb[$]);var G=31&i[x];wbits16(e,p,D[G]),p+=I[G],G>3&&(wbits16(e,p,i[x]>>>5&8191),p+=fdeb[G])}else wbits16(e,p,T[i[x]]),p+=M[i[x]];return wbits16(e,p,T[256]),p+M[256]},deo=new u32([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),et=new u8(0),dflt=function(t,e,r,i,n,s){var a=t.length,o=new u8(i+a+5*(1+Math.ceil(a/7e3))+n),l=o.subarray(i,o.length-n),h=0;if(!e||a<8)for(var p=0;p<=a;p+=65535){var c=p+65535;c>=a&&(l[h>>3]=s),h=wfblk(l,h+1,t.subarray(p,c))}else{for(var f=deo[e-1],u=f>>>13,d=8191&f,m=(1<7e3||A>24576)&&I>423){h=wblk(t,l,0,P,E,S,w,A,k,p-k,h),A=x=w=0,k=p;for(var F=0;F<286;++F)E[F]=0;for(F=0;F<30;++F)S[F]=0}var R=2,B=0,z=d,O=M-D&32767;if(I>2&&T==_(p-O))for(var L=Math.min(u,I)-1,V=Math.min(32767,p),$=Math.min(258,I);O<=V&&--z&&M!=D;){if(t[p+R]==t[p+R-O]){for(var G=0;G<$&&t[p+G]==t[p+G-O];++G);if(G>R){if(R=G,B=O,G>L)break;var N=Math.min(O,G-2),j=0;for(F=0;Fj&&(j=q,D=H)}}}O+=(M=D)-(D=y[M])+32768&32767}if(B){P[A++]=268435456|revfl[R]<<18|revfd[B];var W=31&revfl[R],U=31&revfd[B];w+=fleb[W]+fdeb[U],++E[257+W],++S[U],C=p+R,++x}else P[A++]=t[p],++E[t[p]]}}h=wblk(t,l,s,P,E,S,w,A,k,p-k,h),!s&&7&h&&(h=wfblk(l,h+1,et))}return slc(o,0,i+shft(h)+n)},crct=function(){for(var t=new Int32Array(256),e=0;e<256;++e){for(var r=e,i=9;--i;)r=(1&r&&-306674912)^r>>>1;t[e]=r}return t}(),crc=function(){var t=-1;return{p:function(e){for(var r=t,i=0;i>>8;t=r},d:function(){return~t}}},adler=function(){var t=1,e=0;return{p:function(r){for(var i=t,n=e,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),n=(65535&n)+15*(n>>16)}t=i,e=n},d:function(){return(255&(t%=65521))<<24|t>>>8<<16|(255&(e%=65521))<<8|e>>>8}}},dopt=function(t,e,r,i,n){return dflt(t,null==e.level?6:e.level,null==e.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):12+e.mem,r,i,!n)},mrg=function(t,e){var r={};for(var i in t)r[i]=t[i];for(var i in e)r[i]=e[i];return r},wcln=function(t,e,r){for(var i=t(),n=t.toString(),s=n.slice(n.indexOf("[")+1,n.lastIndexOf("]")).replace(/\s+/g,"").split(","),a=0;a>>0},b8=function(t,e){return b4(t,e)+4294967296*b4(t,e+4)},wbytes=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8},gzh=function(t,e){var r=e.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=e.level<2?4:9==e.level?2:0,t[9]=3,0!=e.mtime&&wbytes(t,4,Math.floor(new Date(e.mtime||Date.now())/1e3)),r){t[3]=8;for(var i=0;i<=r.length;++i)t[i+10]=r.charCodeAt(i)}},gzs=function(t){31==t[0]&&139==t[1]&&8==t[2]||err(6,"invalid gzip data");var e=t[3],r=10;4&e&&(r+=t[10]|2+(t[11]<<8));for(var i=(e>>3&1)+(e>>4&1);i>0;i-=!t[r++]);return r+(2&e)},gzl=function(t){var e=t.length;return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0},gzhl=function(t){return 10+(t.filename&&t.filename.length+1||0)},zlh=function(t,e){var r=e.level,i=0==r?0:r<6?1:9==r?3:2;t[0]=120,t[1]=i<<6|(i?32-2*i:1)},zlv=function(t){(8!=(15&t[0])||t[0]>>>4>7||(t[0]<<8|t[1])%31)&&err(6,"invalid zlib data"),32&t[1]&&err(6,"invalid zlib data: preset dictionaries not supported")};function AsyncCmpStrm(t,e){return e||"function"!=typeof t||(e=t,t={}),this.ondata=e,t}var Deflate=function(){function t(t,e){e||"function"!=typeof t||(e=t,t={}),this.ondata=e,this.o=t||{}}return t.prototype.p=function(t,e){this.ondata(dopt(t,this.o,0,0,!e),e)},t.prototype.push=function(t,e){this.ondata||err(5),this.d&&err(4),this.d=e,this.p(t,e||!1)},t}(),AsyncDeflate=function(){return function(t,e){astrmify([bDflt,function(){return[astrm,Deflate]}],this,AsyncCmpStrm.call(this,t,e),(function(t){var e=new Deflate(t.data);onmessage=astrm(e)}),6)}}();function deflate(t,e,r){return r||(r=e,e={}),"function"!=typeof r&&err(7),cbify(t,e,[bDflt],(function(t){return pbf(deflateSync(t.data[0],t.data[1]))}),0,r)}function deflateSync(t,e){return dopt(t,e||{},0,0)}var Inflate=function(){function t(t){this.s={},this.p=new u8(0),this.ondata=t}return t.prototype.e=function(t){this.ondata||err(5),this.d&&err(4);var e=this.p.length,r=new u8(e+t.length);r.set(this.p),r.set(t,e),this.p=r},t.prototype.c=function(t){this.d=this.s.i=t||!1;var e=this.s.b,r=inflt(this.p,this.o,this.s);this.ondata(slc(r,e,this.s.b),this.d),this.o=slc(r,this.s.b-32768),this.s.b=this.o.length,this.p=slc(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(t,e){this.e(t),this.c(e)},t}(),AsyncInflate=function(){return function(t){this.ondata=t,astrmify([bInflt,function(){return[astrm,Inflate]}],this,0,(function(){var t=new Inflate;onmessage=astrm(t)}),7)}}();function inflate(t,e,r){return r||(r=e,e={}),"function"!=typeof r&&err(7),cbify(t,e,[bInflt],(function(t){return pbf(inflateSync(t.data[0],gu8(t.data[1])))}),1,r)}function inflateSync(t,e){return inflt(t,e)}var Gzip=function(){function t(t,e){this.c=crc(),this.l=0,this.v=1,Deflate.call(this,t,e)}return t.prototype.push=function(t,e){Deflate.prototype.push.call(this,t,e)},t.prototype.p=function(t,e){this.c.p(t),this.l+=t.length;var r=dopt(t,this.o,this.v&&gzhl(this.o),e&&8,!e);this.v&&(gzh(r,this.o),this.v=0),e&&(wbytes(r,r.length-8,this.c.d()),wbytes(r,r.length-4,this.l)),this.ondata(r,e)},t}(),AsyncGzip=function(){return function(t,e){astrmify([bDflt,gze,function(){return[astrm,Deflate,Gzip]}],this,AsyncCmpStrm.call(this,t,e),(function(t){var e=new Gzip(t.data);onmessage=astrm(e)}),8)}}();function gzip(t,e,r){return r||(r=e,e={}),"function"!=typeof r&&err(7),cbify(t,e,[bDflt,gze,function(){return[gzipSync]}],(function(t){return pbf(gzipSync(t.data[0],t.data[1]))}),2,r)}function gzipSync(t,e){e||(e={});var r=crc(),i=t.length;r.p(t);var n=dopt(t,e,gzhl(e),8),s=n.length;return gzh(n,e),wbytes(n,s-8,r.d()),wbytes(n,s-4,i),n}var Gunzip=function(){function t(t){this.v=1,Inflate.call(this,t)}return t.prototype.push=function(t,e){if(Inflate.prototype.e.call(this,t),this.v){var r=this.p.length>3?gzs(this.p):4;if(r>=this.p.length&&!e)return;this.p=this.p.subarray(r),this.v=0}e&&(this.p.length<8&&err(6,"invalid gzip data"),this.p=this.p.subarray(0,-8)),Inflate.prototype.c.call(this,e)},t}(),AsyncGunzip=function(){return function(t){this.ondata=t,astrmify([bInflt,guze,function(){return[astrm,Inflate,Gunzip]}],this,0,(function(){var t=new Gunzip;onmessage=astrm(t)}),9)}}();function gunzip(t,e,r){return r||(r=e,e={}),"function"!=typeof r&&err(7),cbify(t,e,[bInflt,guze,function(){return[gunzipSync]}],(function(t){return pbf(gunzipSync(t.data[0]))}),3,r)}function gunzipSync(t,e){return inflt(t.subarray(gzs(t),-8),e||new u8(gzl(t)))}var Zlib=function(){function t(t,e){this.c=adler(),this.v=1,Deflate.call(this,t,e)}return t.prototype.push=function(t,e){Deflate.prototype.push.call(this,t,e)},t.prototype.p=function(t,e){this.c.p(t);var r=dopt(t,this.o,this.v&&2,e&&4,!e);this.v&&(zlh(r,this.o),this.v=0),e&&wbytes(r,r.length-4,this.c.d()),this.ondata(r,e)},t}(),AsyncZlib=function(){return function(t,e){astrmify([bDflt,zle,function(){return[astrm,Deflate,Zlib]}],this,AsyncCmpStrm.call(this,t,e),(function(t){var e=new Zlib(t.data);onmessage=astrm(e)}),10)}}();function zlib(t,e,r){return r||(r=e,e={}),"function"!=typeof r&&err(7),cbify(t,e,[bDflt,zle,function(){return[zlibSync]}],(function(t){return pbf(zlibSync(t.data[0],t.data[1]))}),4,r)}function zlibSync(t,e){e||(e={});var r=adler();r.p(t);var i=dopt(t,e,2,4);return zlh(i,e),wbytes(i,i.length-4,r.d()),i}var Unzlib=function(){function t(t){this.v=1,Inflate.call(this,t)}return t.prototype.push=function(t,e){if(Inflate.prototype.e.call(this,t),this.v){if(this.p.length<2&&!e)return;this.p=this.p.subarray(2),this.v=0}e&&(this.p.length<4&&err(6,"invalid zlib data"),this.p=this.p.subarray(0,-4)),Inflate.prototype.c.call(this,e)},t}(),AsyncUnzlib=function(){return function(t){this.ondata=t,astrmify([bInflt,zule,function(){return[astrm,Inflate,Unzlib]}],this,0,(function(){var t=new Unzlib;onmessage=astrm(t)}),11)}}();function unzlib(t,e,r){return r||(r=e,e={}),"function"!=typeof r&&err(7),cbify(t,e,[bInflt,zule,function(){return[unzlibSync]}],(function(t){return pbf(unzlibSync(t.data[0],gu8(t.data[1])))}),5,r)}function unzlibSync(t,e){return inflt((zlv(t),t.subarray(2,-4)),e)}var Decompress=function(){function t(t){this.G=Gunzip,this.I=Inflate,this.Z=Unzlib,this.ondata=t}return t.prototype.push=function(t,e){if(this.ondata||err(5),this.s)this.s.push(t,e);else{if(this.p&&this.p.length){var r=new u8(this.p.length+t.length);r.set(this.p),r.set(t,this.p.length)}else this.p=t;if(this.p.length>2){var i=this,n=function(){i.ondata.apply(i,arguments)};this.s=31==this.p[0]&&139==this.p[1]&&8==this.p[2]?new this.G(n):8!=(15&this.p[0])||this.p[0]>>4>7||(this.p[0]<<8|this.p[1])%31?new this.I(n):new this.Z(n),this.s.push(this.p,e),this.p=null}}},t}(),AsyncDecompress=function(){function t(t){this.G=AsyncGunzip,this.I=AsyncInflate,this.Z=AsyncUnzlib,this.ondata=t}return t.prototype.push=function(t,e){Decompress.prototype.push.call(this,t,e)},t}();function decompress(t,e,r){return r||(r=e,e={}),"function"!=typeof r&&err(7),31==t[0]&&139==t[1]&&8==t[2]?gunzip(t,e,r):8!=(15&t[0])||t[0]>>4>7||(t[0]<<8|t[1])%31?inflate(t,e,r):unzlib(t,e,r)}function decompressSync(t,e){return 31==t[0]&&139==t[1]&&8==t[2]?gunzipSync(t,e):8!=(15&t[0])||t[0]>>4>7||(t[0]<<8|t[1])%31?inflateSync(t,e):unzlibSync(t,e)}var fltn=function(t,e,r,i){for(var n in t){var s=t[n],a=e+n,o=i;Array.isArray(s)&&(o=mrg(i,s[1]),s=s[0]),s instanceof u8?r[a]=[s,o]:(r[a+="/"]=[new u8(0),o],fltn(s,a,r,i))}},te="undefined"!=typeof TextEncoder&&new TextEncoder,td="undefined"!=typeof TextDecoder&&new TextDecoder,tds=0;try{td.decode(et,{stream:!0}),tds=1}catch(e){}var dutf8=function(t){for(var e="",r=0;;){var i=t[r++],n=(i>127)+(i>223)+(i>239);if(r+n>t.length)return[e,slc(t,r-1)];n?3==n?(i=((15&i)<<18|(63&t[r++])<<12|(63&t[r++])<<6|63&t[r++])-65536,e+=String.fromCharCode(55296|i>>10,56320|1023&i)):e+=1&n?String.fromCharCode((31&i)<<6|63&t[r++]):String.fromCharCode((15&i)<<12|(63&t[r++])<<6|63&t[r++]):e+=String.fromCharCode(i)}},DecodeUTF8=function(){function t(t){this.ondata=t,tds?this.t=new TextDecoder:this.p=et}return t.prototype.push=function(t,e){if(this.ondata||err(5),e=!!e,this.t)return this.ondata(this.t.decode(t,{stream:!0}),e),void(e&&(this.t.decode().length&&err(8),this.t=null));this.p||err(4);var r=new u8(this.p.length+t.length);r.set(this.p),r.set(t,this.p.length);var i=dutf8(r),n=i[0],s=i[1];e?(s.length&&err(8),this.p=null):this.p=s,this.ondata(n,e)},t}(),EncodeUTF8=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,e){this.ondata||err(5),this.d&&err(4),this.ondata(strToU8(t),this.d=e||!1)},t}();function strToU8(t,e){if(e){for(var r=new u8(t.length),i=0;i>1)),a=0,o=function(t){s[a++]=t};for(i=0;is.length){var l=new u8(a+8+(n-i<<1));l.set(s),s=l}var h=t.charCodeAt(i);h<128||e?o(h):h<2048?(o(192|h>>6),o(128|63&h)):h>55295&&h<57344?(o(240|(h=65536+(1047552&h)|1023&t.charCodeAt(++i))>>18),o(128|h>>12&63),o(128|h>>6&63),o(128|63&h)):(o(224|h>>12),o(128|h>>6&63),o(128|63&h))}return slc(s,0,a)}function strFromU8(t,e){if(e){for(var r="",i=0;i65535&&err(9),e+=i+4}return e},wzh=function(t,e,r,i,n,s,a,o){var l=i.length,h=r.extra,p=o&&o.length,c=exfl(h);wbytes(t,e,null!=a?33639248:67324752),e+=4,null!=a&&(t[e++]=20,t[e++]=r.os),t[e]=20,e+=2,t[e++]=r.flag<<1|(s<0&&8),t[e++]=n&&8,t[e++]=255&r.compression,t[e++]=r.compression>>8;var f=new Date(null==r.mtime?Date.now():r.mtime),u=f.getFullYear()-1980;if((u<0||u>119)&&err(10),wbytes(t,e,u<<25|f.getMonth()+1<<21|f.getDate()<<16|f.getHours()<<11|f.getMinutes()<<5|f.getSeconds()>>>1),e+=4,-1!=s&&(wbytes(t,e,r.crc),wbytes(t,e+4,s<0?-s-2:s),wbytes(t,e+8,r.size)),wbytes(t,e+12,l),wbytes(t,e+14,c),e+=16,null!=a&&(wbytes(t,e,p),wbytes(t,e+6,r.attrs),wbytes(t,e+10,a),e+=14),t.set(i,e),e+=l,c)for(var d in h){var m=h[d],y=m.length;wbytes(t,e,+d),wbytes(t,e+2,y),t.set(m,e+4),e+=4+y}return p&&(t.set(o,e),e+=p),e},wzf=function(t,e,r,i,n){wbytes(t,e,101010256),wbytes(t,e+8,r),wbytes(t,e+10,r),wbytes(t,e+12,i),wbytes(t,e+16,n)},ZipPassThrough=function(){function t(t){this.filename=t,this.c=crc(),this.size=0,this.compression=0}return t.prototype.process=function(t,e){this.ondata(null,t,e)},t.prototype.push=function(t,e){this.ondata||err(5),this.c.p(t),this.size+=t.length,e&&(this.crc=this.c.d()),this.process(t,e||!1)},t}(),ZipDeflate=function(){function t(t,e){var r=this;e||(e={}),ZipPassThrough.call(this,t),this.d=new Deflate(e,(function(t,e){r.ondata(null,t,e)})),this.compression=8,this.flag=dbf(e.level)}return t.prototype.process=function(t,e){try{this.d.push(t,e)}catch(t){this.ondata(t,null,e)}},t.prototype.push=function(t,e){ZipPassThrough.prototype.push.call(this,t,e)},t}(),AsyncZipDeflate=function(){function t(t,e){var r=this;e||(e={}),ZipPassThrough.call(this,t),this.d=new AsyncDeflate(e,(function(t,e,i){r.ondata(t,e,i)})),this.compression=8,this.flag=dbf(e.level),this.terminate=this.d.terminate}return t.prototype.process=function(t,e){this.d.push(t,e)},t.prototype.push=function(t,e){ZipPassThrough.prototype.push.call(this,t,e)},t}(),Zip=function(){function t(t){this.ondata=t,this.u=[],this.d=1}return t.prototype.add=function(t){var e=this;if(this.ondata||err(5),2&this.d)this.ondata(err(4+8*(1&this.d),0,1),null,!1);else{var r=strToU8(t.filename),i=r.length,n=t.comment,s=n&&strToU8(n),a=i!=t.filename.length||s&&n.length!=s.length,o=i+exfl(t.extra)+30;i>65535&&this.ondata(err(11,0,1),null,!1);var l=new u8(o);wzh(l,0,t,r,a,-1);var h=[l],p=function(){for(var t=0,r=h;t65535&&x(err(11,0,1),null),S)if(y<16e4)try{x(null,deflateSync(l,d))}catch(t){x(t,null)}else p.push(deflate(l,d,x));else x(null,l)},m=0;m65535&&err(11);var y=p?deflateSync(l,h):l,g=y.length,v=crc();v.p(l),i.push(mrg(h,{size:l.length,crc:v.d(),c:y,f:S,m:u,u:c!=a.length||u&&f.length!=d,o:n,compression:p})),n+=30+c+m+g,s+=76+2*(c+m)+(d||0)+g}for(var b=new u8(s+22),_=n,P=s-n,E=0;E0){var i=Math.min(this.c,t.length),n=t.subarray(0,i);if(this.c-=i,this.d?this.d.push(n,!this.c):this.k[0].push(n),(t=t.subarray(i)).length)return this.push(t,e)}else{var s=0,a=0,o=void 0,l=void 0;this.p.length?t.length?((l=new u8(this.p.length+t.length)).set(this.p),l.set(t,this.p.length)):l=this.p:l=t;for(var h=l.length,p=this.c,c=p&&this.d,f=function(){var t,e=b4(l,a);if(67324752==e){s=1,o=a,u.d=null,u.c=0;var i=b2(l,a+6),n=b2(l,a+8),c=2048&i,f=8&i,d=b2(l,a+26),m=b2(l,a+28);if(h>a+30+d+m){var y=[];u.k.unshift(y),s=2;var g,v=b4(l,a+18),b=b4(l,a+22),_=strFromU8(l.subarray(a+30,a+=30+d),!c);4294967295==v?(t=f?[-2]:z64e(l,a),v=t[0],b=t[1]):f&&(v=-1),a+=m,u.c=v;var P={name:_,compression:n,start:function(){if(P.ondata||err(5),v){var t=r.o[n];t||P.ondata(err(14,"unknown compression type "+n,1),null,!1),(g=v<0?new t(_):new t(_,v,b)).ondata=function(t,e,r){P.ondata(t,e,r)};for(var e=0,i=y;e=0&&(P.size=v,P.originalSize=b),u.onfile(P)}return"break"}if(p){if(134695760==e)return o=a+=12+(-2==p&&8),s=3,u.c=0,"break";if(33639248==e)return o=a-=4,s=3,u.c=0,"break"}},u=this;a65558)return a(err(13,0,1),null),n;var l=b2(t,o+8);if(l){var h=l,p=b4(t,o+16),c=4294967295==p||65535==h;if(c){var f=b4(t,o-12);(c=101075792==b4(t,f))&&(h=l=b4(t,f+32),p=b4(t,f+48))}for(var u=e&&e.filter,d=function(e){var r=zh(t,p,c),o=r[0],h=r[1],f=r[2],d=r[3],m=r[4],y=r[5],g=slzh(t,y);p=m;var v=function(t,e){t?(n(),a(t,null)):(e&&(s[d]=e),--l||a(null,s))};if(!u||u({name:d,size:h,originalSize:f,compression:o}))if(o)if(8==o){var b=t.subarray(g,g+h);if(h<32e4)try{v(null,inflateSync(b,new u8(f)))}catch(t){v(t,null)}else i.push(inflate(b,{size:f},v))}else v(err(14,"unknown compression type "+o,1),null);else v(null,slc(t,g,g+h));else v(null,null)},m=0;m65558)&&err(13);var n=b2(t,i+8);if(!n)return{};var s=b4(t,i+16),a=4294967295==s||65535==n;if(a){var o=b4(t,i-12);(a=101075792==b4(t,o))&&(n=b4(t,o+32),s=b4(t,o+48))}for(var l=e&&e.filter,h=0;h 3%"],publishConfig={access:"public"},nyc={extends:"@istanbuljs/nyc-config-typescript",all:!0},pkg={name:name,version:version,description:description,main:main,module:module,types:types,homepage:homepage,repository:repository,bugs:bugs,author:author,license:license,scripts:scripts,dependencies:dependencies,devDependencies:devDependencies,files:files,keywords:keywords,browserslist:browserslist,publishConfig:publishConfig,nyc:nyc};const createError=t=>new Error("[dotLottie-player-component] ".concat(t)),error=t=>{const e="[dotLottie-player-component] ".concat(t);console.error(e)},warn=t=>{const e="[dotLottie-player-component] ".concat(t);console.warn(e)};var _templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,PlayerState,PlayMode,PlayerEvents;exports.PlayerState=void 0,PlayerState=exports.PlayerState||(exports.PlayerState={}),PlayerState.Loading="loading",PlayerState.Playing="playing",PlayerState.Paused="paused",PlayerState.Stopped="stopped",PlayerState.Frozen="frozen",PlayerState.Error="error",exports.PlayMode=void 0,PlayMode=exports.PlayMode||(exports.PlayMode={}),PlayMode.Normal="normal",PlayMode.Bounce="bounce",exports.PlayerEvents=void 0,PlayerEvents=exports.PlayerEvents||(exports.PlayerEvents={}),PlayerEvents.Load="load",PlayerEvents.Error="error",PlayerEvents.Ready="ready",PlayerEvents.Play="play",PlayerEvents.Pause="pause",PlayerEvents.Stop="stop",PlayerEvents.Freeze="freeze",PlayerEvents.Loop="loop",PlayerEvents.Complete="complete",PlayerEvents.Rendered="rendered",PlayerEvents.Frame="frame";const ELEMENT_NAME="dotlottie-player";class DotLottiePlayer extends s{constructor(){super(),this.mode=exports.PlayMode.Normal,this.autoplay=!1,this.background="transparent",this.controls=!1,this.direction=1,this.hover=!1,this.renderer="svg",this.speed=1,this.currentState=exports.PlayerState.Loading,this.intermission=1,this.activeAnimationId=null,this._counter=1,this._activeAnimationIndex=0,this._manifest={animations:[]}}static get properties(){return{mode:{type:String},autoplay:{type:Boolean},background:{type:String},controls:{type:Boolean},direction:{type:Number},hover:{type:Boolean},loop:{type:String},renderer:{type:String},speed:{type:Number},src:{type:String},currentState:{type:String},seeker:{type:Object},intermission:{type:Number},activeAnimationId:{type:String}}}_parseLoop(t){const e=parseInt(t,10);return Number.isInteger(e)&&e>0?(this._count=e,this._loop=!0,!0):"string"==typeof t&&["true","false"].includes(t)?(this._loop="true"===t,this._loop):(warn("loop must be a positive integer or a boolean"),!1)}_onVisibilityChange(){document.hidden&&this.currentState===exports.PlayerState.Playing?this.freeze():this.currentState===exports.PlayerState.Frozen&&this.play()}_handleSeekChange(t){if(!this._lottie||isNaN(t.target.value))return;const e=t.target.value/100*this._lottie.totalFrames;this.seek(e)}isLottie(t){let e=!1;return t.animations&&t.animations.length?(t.animations.forEach(t=>{this.isLottie(t)||(e=!0)}),e):["v","ip","op","layers","fr","w","h"].every(e=>Object.prototype.hasOwnProperty.call(t,e))}parseSrc(t){if("object"==typeof t)return t;try{return JSON.parse(t)}catch(e){return new URL(t,window.location.href).toString()}}async _fetchDotLottie(t){return await fetch(t,{method:"GET",mode:"cors",headers:{"Response-Type":"arraybuffer"}}).then(t=>t.arrayBuffer()).then(async t=>{const e=[],r={animations:[],manifest:void 0},i=await new Promise((e,r)=>{unzip(new Uint8Array(t),(t,i)=>{t&&r(t),e(i)})});let n;if(i["manifest.json"]){const t=strFromU8(i["manifest.json"]),s=JSON.parse(t);if(!("animations"in s))throw createError("Manifest not found");if(0===s.animations.length)throw createError("No animations listed in the manifest");r.manifest=s;for(const t of s.animations)n=JSON.parse(strFromU8(i["animations/".concat(t.id,".json")])),"assets"in n&&n.assets.map(t=>{if(!t.p)return;if(!i["images/".concat(t.p)])return;const e=btoa(strFromU8(i["images/".concat(t.p)],!0));t.p="data:;base64,"+e,t.e=1}),e.push(n);return r.manifest=s,r.animations=e,r}throw createError("No manifest found in file.")}).catch(t=>{throw createError(t)})}async _fetchJsonFile(t){return await fetch(t,{method:"GET",mode:"cors",headers:{"Response-Type":"json"}}).then(t=>t.json()).then(e=>{const r=[],i={animations:[{id:t.substring(t.lastIndexOf("/")+1,t.lastIndexOf(".")),speed:1,loop:"true",direction:1}],description:"",author:"",generator:"dotLottie-player-component",revision:1,version:"1.0.0"},n={animations:[],manifest:void 0};return r.push(e),n.animations=r,n.manifest=i,n}).catch(t=>{throw createError(t)})}async _fetchFileAndLoad(t){var e;let r={animations:[],manifest:void 0};if(r="json"===(null===(e=t.split(/[#?]/)[0].split(".").pop())||void 0===e?void 0:e.toLowerCase())?await this._fetchJsonFile(t):await this._fetchDotLottie(t),!r.animations||!r.manifest||0===r.animations.length)throw this.currentState=exports.PlayerState.Error,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error)),createError(r.animations&&r.animations.length?"Manifest not found":"Animations are empty");if(this._animations=r.animations,this._manifest=r.manifest,this.activeAnimationId){const t=this._manifest.animations.findIndex(t=>t.id===this.activeAnimationId);-1!==t?this._activeAnimationIndex=t:warn("Active animation not found in manifest")}else if(this._manifest&&this._manifest.activeAnimationId){const t=this._manifest.animations.findIndex(t=>t.id===this._manifest.activeAnimationId);-1!==t?this._activeAnimationIndex=t:warn("Active animation not found in manifest")}const i=this._animations[this._activeAnimationIndex];if(void 0===i)throw createError("No animation to load!");return i}_loadManifestOptions(t){if(this._requireAnimationsInTheManifest(),void 0===this._manifest.animations[t])throw createError("Animation not found in manifest");const{autoplay:e,direction:r,loop:i,playMode:n,speed:s,hover:a,intermission:o}=this._manifest.animations[t];void 0!==e&&(this.autoplay=e),void 0!==r&&(this.direction=r),void 0!==i&&(this.loop=i),void 0!==n&&(this.mode=n),void 0!==s&&(this.speed=s),void 0!==a&&(this.hover=a),void 0!==o&&(this.intermission=o)}_initListeners(){this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Load)),this._lottie.addEventListener("enterFrame",()=>{this.seeker=this._lottie.currentFrame/this._lottie.totalFrames*100,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Frame,{detail:{frame:this._lottie.currentFrame,seeker:this.seeker}}))}),this._lottie.addEventListener("complete",()=>{if(this.currentState===exports.PlayerState.Playing){if(!this._loop||this._count&&this._counter>=this._count){if(this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Complete)),this.mode!==exports.PlayMode.Bounce)return;if(0===this._lottie.currentFrame)return}this.mode===exports.PlayMode.Bounce?(this._count&&(this._counter+=.5),setTimeout(()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Loop)),this.currentState===exports.PlayerState.Playing&&(this._lottie.setDirection(-1*this._lottie.playDirection),this._lottie.play())},this.intermission)):(this._count&&(this._counter+=1),window.setTimeout(()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Loop)),this.currentState===exports.PlayerState.Playing&&(-1===this.direction?(this.seek("99%"),this.play()):(this._lottie.stop(),this.play()))},this.intermission))}else this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Complete))}),this._lottie.addEventListener("DOMLoaded",()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Ready))}),this._lottie.addEventListener("data_ready",()=>{this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Load))}),this._lottie.addEventListener("data_failed",()=>{this.currentState=exports.PlayerState.Error,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error))}),this.container.addEventListener("mouseenter",()=>{this.hover&&this.currentState!==exports.PlayerState.Playing&&this.play()}),this.container.addEventListener("mouseleave",()=>{this.hover&&this.currentState===exports.PlayerState.Playing&&this.stop()})}async load(t,e,r){if(!this.shadowRoot)return;const i={container:this.container,loop:!1,autoplay:!1,renderer:this.renderer,rendererSettings:e||{scaleMode:"noScale",clearCanvas:!1,progressiveLoad:!0,hideOnTransparent:!0}};try{const e=this.parseSrc(t);let n=null;if("string"==typeof e)n=await this._fetchFileAndLoad(e);else if("object"==typeof e&&!this.isLottie(e))throw createError("Load method failing. Object is not a valid Lottie.");if(this._lottie&&this._lottie.destroy(),void 0!==r)for(const[t,e]of Object.entries(r))"playMode"===t?this.mode="normal"===e?exports.PlayMode.Normal:exports.PlayMode.Bounce:void 0!==e&&(this[t]=e);else if(0===this._activeAnimationIndex||this._manifest.animations[this._activeAnimationIndex].id===this.activeAnimationId||this._manifest.animations[this._activeAnimationIndex].id===this._manifest.activeAnimationId){const t=this._manifest.animations[this._activeAnimationIndex],e=Object.keys(DotLottiePlayer.properties),r=Array.from(this.getAttributeNames());for(const t of r){const e=this.getAttribute(t);e&&(this[t]=e)}const i=e.filter(t=>!r.includes(t.toLowerCase())&&this._manifest.animations[this._activeAnimationIndex].hasOwnProperty(t));for(const e of i){const r=t[e];void 0!==r&&("playMode"===e?this.mode="normal"===r?exports.PlayMode.Normal:exports.PlayMode.Bounce:this[e]=r)}}else this._loadManifestOptions(this._activeAnimationIndex);this._lottie=lottie.loadAnimation(Object.assign(Object.assign({},i),{animationData:null!==n?n:e}))}catch(t){return this.currentState=exports.PlayerState.Error,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error)),void console.error(t)}if(!this._lottie)throw this.currentState=exports.PlayerState.Error,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error)),createError("Player failed to initialize.");this._initListeners(),this.setSpeed(this.speed),this.setDirection(this.direction),this.autoplay&&(-1===this.direction&&this.seek("99%"),this.play())}getActiveId(){return this._manifest.animations?this._manifest.animations[this._activeAnimationIndex].id:null}getActiveAnimationIndex(){return this._activeAnimationIndex}animationCount(){return this._animations?this._animations.length:0}getManifest(){return this._manifest}getLottie(){return this._lottie}getVersions(){return{lottieWebVersion:"".concat(pkg.dependencies["lottie-web"]),dotLottiePlayerVersion:"".concat(pkg.version)}}_requireAnimationsInTheManifest(){if(!this._manifest.animations.length)throw createError("No animations found in manifest.")}_requireAnimationsToBeLoaded(){var t;if(!(null===(t=this._animations)||void 0===t?void 0:t.length))throw createError("No animations have been loaded.")}previous(t){this._activeAnimationIndex=(this._activeAnimationIndex-1+this._manifest.animations.length)%this._manifest.animations.length,this.play(this._activeAnimationIndex,t)}next(t){this._activeAnimationIndex=(this._activeAnimationIndex+1)%this._manifest.animations.length,this.play(this._activeAnimationIndex,t)}reset(){this._manifest&&this._manifest.activeAnimationId?this.play(this._manifest.activeAnimationId):this.activeAnimationId?this.play(this.activeAnimationId):this.play(0)}_validateAnimationIndex(t){if(isNaN(t)||t<0||t>=this._manifest.animations.length)throw createError("Animation index ".concat(t," is out of bounds."))}play(t,e){if(this._lottie){if(this._requireAnimationsInTheManifest(),this._requireAnimationsToBeLoaded(),void 0===t)return this._lottie.play(),this.currentState=exports.PlayerState.Playing,void this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Play));if(this._requireAnimationsToBeLoaded(),this._requireAnimationsInTheManifest(),void 0!==t){if(!this._animations)throw createError("No animations have been loaded.");if(this._requireAnimationsInTheManifest(),"string"==typeof t){const r=this._manifest.animations.findIndex(e=>e.id===t);-1!==r?(this._activeAnimationIndex=r,this.load(this._animations[this._activeAnimationIndex],{playbackOptions:e})):error("No animation with the id '".concat(t,"' was found."))}else"number"==typeof t&&(this._validateAnimationIndex(t),this._manifest.animations&&this._manifest.animations[t]?(this._activeAnimationIndex=t,this.load(this._animations[this._activeAnimationIndex],{playbackOptions:e})):error("Animation not found at index: ".concat(t)))}}}pause(){this._lottie&&(this._lottie.pause(),this.currentState=exports.PlayerState.Paused,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Pause)))}stop(){this._lottie&&(this._counter=0,this._lottie.stop(),-1===this.direction&&this._lottie.goToAndStop(this._lottie.totalFrames,!0),this.currentState=exports.PlayerState.Stopped,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Stop)))}seek(t){if(!this._lottie)return;"number"==typeof t&&(t=Math.round(t));const e=/^(\d+)(%?)$/.exec(t.toString());if(!e)return;const r="%"===e[2]?this._lottie.totalFrames*Number(e[1])/100:Number(e[1]);this.seeker=r,this.currentState===exports.PlayerState.Playing?this._lottie.goToAndPlay(r,!0):(this._lottie.goToAndStop(r,!0),this._lottie.pause())}snapshot(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".animation svg"),r=(new XMLSerializer).serializeToString(e);if(t){const t=document.createElement("a");t.href="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(r),t.download="download_"+this.seeker+".svg",document.body.appendChild(t),t.click(),document.body.removeChild(t)}return r}freeze(){this._lottie&&(this._lottie.pause(),this.currentState=exports.PlayerState.Frozen,this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Freeze)))}setSpeed(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this._lottie&&this._lottie.setSpeed(t)}setDirection(t){this._lottie&&this._lottie.setDirection(t)}setLooping(t){this._lottie&&(this._lottie.loop=this._parseLoop(t))}isLooping(){return!!this._loop&&this._loop}togglePlay(){return this.currentState===exports.PlayerState.Playing?this.pause():this.play()}toggleLooping(){const t=!this._loop;this.setLooping(t.toString())}static get styles(){return styles}async firstUpdated(){"IntersectionObserver"in window&&(this._io=new IntersectionObserver(t=>{t[0].isIntersecting?this.currentState===exports.PlayerState.Frozen&&this.play():this.currentState===exports.PlayerState.Playing&&this.freeze()}),this._io.observe(this.container)),void 0!==document.hidden&&document.addEventListener("visibilitychange",()=>this._onVisibilityChange()),this.loop?this._parseLoop(this.loop):this.hasAttribute("loop")&&this._parseLoop("true"),this.src&&await this.load(this.src),this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Rendered))}disconnectedCallback(){this._io&&(this._io.disconnect(),this._io=void 0),this._lottie&&this._lottie.destroy(),document.removeEventListener("visibilitychange",()=>this._onVisibilityChange())}renderControls(){const t=this.currentState===exports.PlayerState.Playing,e=this.currentState===exports.PlayerState.Paused,r=this.currentState===exports.PlayerState.Stopped;return y(_templateObject||(_templateObject=_taggedTemplateLiteral(['\n
\n \n ','\n \n \n \n \n \n \n \n \n
\n '])),this.togglePlay,t||e?"active":"",y(t?_templateObject2||(_templateObject2=_taggedTemplateLiteral(['\n \n '])):_templateObject3||(_templateObject3=_taggedTemplateLiteral(['\n \n ']))),this.stop,r?"active":"",this.seeker,this._handleSeekChange,()=>{this._prevState=this.currentState,this.freeze()},()=>{this._prevState===exports.PlayerState.Playing&&this.play(),this.seek(this._lottie.currentFrame)},this.seeker,this.toggleLooping,this._loop?"active":"")}render(){const t=this.controls?"main controls":"main",e=this.controls?"animation controls":"animation";return y(_templateObject4||(_templateObject4=_taggedTemplateLiteral(['\n \n "])),t,e,this.background,this.currentState===exports.PlayerState.Error?y(_templateObject5||(_templateObject5=_taggedTemplateLiteral(['
⚠️
']))):void 0,this.controls?this.renderControls():void 0)}}__decorate([i$1(".animation")],DotLottiePlayer.prototype,"container",void 0),__decorate([e$5()],DotLottiePlayer.prototype,"mode",void 0),__decorate([e$5({type:Boolean})],DotLottiePlayer.prototype,"autoplay",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"background",void 0),__decorate([e$5({type:Boolean})],DotLottiePlayer.prototype,"controls",void 0),__decorate([e$5({type:Number})],DotLottiePlayer.prototype,"direction",void 0),__decorate([e$5({type:Boolean})],DotLottiePlayer.prototype,"hover",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"loop",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"renderer",void 0),__decorate([e$5({type:Number})],DotLottiePlayer.prototype,"speed",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"src",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"currentState",void 0),__decorate([e$5()],DotLottiePlayer.prototype,"seeker",void 0),__decorate([e$5()],DotLottiePlayer.prototype,"intermission",void 0),__decorate([e$5({type:String})],DotLottiePlayer.prototype,"activeAnimationId",void 0),customElements.get(ELEMENT_NAME)||e$6(ELEMENT_NAME)(DotLottiePlayer),exports.DotLottiePlayer=DotLottiePlayer,Object.defineProperty(exports,"__esModule",{value:!0})})); +//# sourceMappingURL=dotlottie-player.js.map diff --git a/assets/external/unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.js b/assets/external/unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.js new file mode 100644 index 00000000..306867da --- /dev/null +++ b/assets/external/unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.js @@ -0,0 +1,1025 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.DotLottiePlayer = {})); +})(this, (function (exports) { 'use strict'; + + var ih=Object.defineProperty;var tp=Object.getOwnPropertyDescriptor;var ls=(t,e)=>()=>(t&&(e=t(t=0)),e);var fr=(t,e)=>{for(var i in e)ih(t,i,{get:e[i],enumerable:!0});};var Ri=(t,e,i,s)=>{for(var r=s>1?void 0:s?tp(e,i):e,a=t.length-1,n;a>=0;a--)(n=t[a])&&(r=(s?n(e,i,r):n(r))||r);return s&&r&&ih(e,i,r),r};function pp(t,e,i){return i||(i=e,e={}),typeof i!="function"&&ps(7),lp(t,e,[hp],function(s){return xh(lo(s.data[0],Ph(s.data[1])))},1,i)}function lo(t,e){return _h(t,{i:2},e&&e.out,e&&e.dictionary)}function fa(t,e){if(e){for(var i="",s=0;s65558)return n(ps(13,0,1),null),r;var h=Qs(t,p+8);if(h){var y=h,P=Gs(t,p+16),c=P==4294967295||y==65535;if(c){var l=Gs(t,p-12);c=Gs(t,l)==101075792,c&&(y=h=Gs(t,l+32),P=Gs(t,l+48));}for(var E=e&&e.filter,b=function(w){var u=mp(t,P,c),f=u[0],g=u[1],_=u[2],k=u[3],z=u[4],q=u[5],W=up(t,q);P=z;var ot=function(gt,ut){gt?(r(),n(gt,null)):(ut&&(a[k]=ut),--h||n(null,a));};if(!E||E({name:k,size:g,originalSize:_,compression:f}))if(!f)ot(null,Pn(t,W,W+g));else if(f==8){var mt=t.subarray(W,W+g);if(g<32e4)try{ot(null,lo(mt,{out:new fs(_)}));}catch(gt){ot(gt,null);}else s.push(pp(mt,{size:_},ot));}else ot(ps(14,"unknown compression type "+f,1),null);else ot(null,null);},v=0;v{if(i.path){let s=i.path.map(({key:r})=>r).join(".");e.nested[s]=[...e.nested[s]||[],i.message];}else e.root=[...e.root||[],i.message];return e},{nested:{}})}function bp(t,e){return {reason:t==null?void 0:t.reason,validation:e.validation,origin:(t==null?void 0:t.origin)||"value",message:e.message,input:e.input,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly}}function _p(t,e){return {reason:e,origin:t==null?void 0:t.origin,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly}}function wr(t,e,i,s){if(!e||!e.length)return {output:t};let r,a,n=t;for(let p of e){let h=p(n);if(h.issue){r=r||_p(i,s);let y=bp(r,h.issue);if(a?a.push(y):a=[y],r.abortEarly||r.abortPipeEarly)break}else n=h.output;}return a?{issues:a}:{output:n}}function Hs(t,e){return !t||typeof t=="string"?[t,e]:[void 0,t]}function tr(t,e,i,s,r,a){return {issues:[{reason:e,validation:i,origin:(t==null?void 0:t.origin)||"value",message:s,input:r,issues:a,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly}]}}function xp(t=[]){return {schema:"any",async:!1,_parse(e,i){return wr(e,t,i,"any")}}}function $a(t,e,i){let[s,r]=Hs(e,i);return {schema:"array",array:{item:t},async:!1,_parse(a,n){if(!Array.isArray(a))return tr(n,"type","array",s||"Invalid type",a);let p,h=[];for(let y=0;yp.length)return tr(h,"type","tuple",a||"Invalid type",p);let y,P=[];for(let c=0;c({...a,...n.object}),{}),s,r)}function kp(t,e,i,s){let[r,a]=Hs(i,s);return Ls(Object.entries(t.object).reduce((n,[p,h])=>e.includes(p)?n:{...n,[p]:h},{}),r,a)}function Tp(t,e,i){let s=t._parse(e,i);return s.issues?{success:!1,error:new vp(s.issues),issues:s.issues}:{success:!0,data:s.output,output:s.output}}function so(t,e){return i=>i>t?{issue:{validation:"max_value",message:e||"Invalid value",input:i}}:{output:i}}function ro(t,e){return i=>i"u")e=Buffer.from(t).toString("base64");else {let i=Array.prototype.map.call(t,s=>String.fromCharCode(s)).join("");e=window.btoa(i);}return `data:${ef(e)};base64,${e}`}function lh(t){return "w"in t&&"h"in t&&!("xt"in t)&&"p"in t}function ao(t){return !("h"in t)&&!("w"in t)&&"p"in t&&"e"in t&&"u"in t&&"id"in t}async function Ja(t,e=()=>!0){if(!(t instanceof Uint8Array))throw new co("DotLottie not found","INVALID_DOTLOTTIE");return await new Promise((i,s)=>{gp(t,{filter:e},(r,a)=>{r&&s(r),i(a);});})}async function uo(t,e,i){if(!(t instanceof Uint8Array))throw new co("DotLottie not found","INVALID_DOTLOTTIE");return (await Ja(t,s=>s.name===e&&(!i||i(s))))[e]}async function Sn(t){let e="manifest.json",i=(await Ja(t,s=>s.name===e))[e];if(!(typeof i>"u"))return JSON.parse(fa(i,!1))}async function sf(t){if(!(t instanceof Uint8Array))return {success:!1,error:"DotLottie not found"};let e=await Sn(t);if(typeof e>"u")return {success:!1,error:"Invalid .lottie file, manifest.json is missing"};let i=Tp(qp,e);return i.success?{success:!0}:{success:!1,error:`Invalid .lottie file, manifest.json structure is invalid, ${JSON.stringify(yp(i.error).nested,null,2)}`}}async function mo(t){let e=new Uint8Array(t),i=await sf(e);if(i.error)throw new co(i.error,"INVALID_DOTLOTTIE");return e}async function rf(t,e){let i=await Ja(t,r=>{let a=r.name.replace("audio/","");return r.name.startsWith("audio/")&&(!e||e({...r,name:a}))}),s={};for(let r in i){let a=i[r];if(a instanceof Uint8Array){let n=r.replace("audio/","");s[n]=Ch(a);}}return s}async function af(t,e){var i;let s=new Map;for(let[a,n]of Object.entries(e))for(let p of n.assets||[])if(ao(p)){let h=p.p;s.has(h)||s.set(h,new Set),(i=s.get(h))==null||i.add(a);}let r=await rf(t,a=>s.has(a.name));for(let[a,n]of s){let p=r[a];if(p)for(let h of n){let y=e[h];for(let P of (y==null?void 0:y.assets)||[])ao(P)&&P.p===a&&(P.p=p,P.u="",P.e=1);}}}async function nf(t,e){let i=await Ja(t,r=>{let a=r.name.replace("images/","");return r.name.startsWith("images/")&&(!e||e({...r,name:a}))}),s={};for(let r in i){let a=i[r];if(a instanceof Uint8Array){let n=r.replace("images/","");s[n]=Ch(a);}}return s}async function of(t,e){var i;let s=new Map;for(let[a,n]of Object.entries(e))for(let p of n.assets||[])if(lh(p)){let h=p.p;s.has(h)||s.set(h,new Set),(i=s.get(h))==null||i.add(a);}let r=await nf(t,a=>s.has(a.name));for(let[a,n]of s){let p=r[a];if(p)for(let h of n){let y=e[h];for(let P of (y==null?void 0:y.assets)||[])lh(P)&&P.p===a&&(P.p=p,P.u="",P.e=1);}}}async function kh(t,e,{inlineAssets:i}={},s){let r=`animations/${e}.json`,a=await uo(t,r,s);if(typeof a>"u")return;let n=JSON.parse(fa(a,!1));if(!i)return n;let p={[e]:n};return await of(t,p),await af(t,p),n}async function Th(t,e,i){let s=`themes/${e}.json`,r=await uo(t,s,i);if(!(typeof r>"u"))return JSON.parse(fa(r,!1))}async function Mh(t,e){let i={},s=await Ja(t,r=>{let a=r.name.replace("states/","").replace(".json","");return r.name.startsWith("states/")&&(!e||e({...r,name:a}))});for(let r in s){let a=s[r];if(a instanceof Uint8Array){let n=r.replace("states/","").replace(".json","");i[n]=fa(a,!1);}}return i}async function wh(t,e,i){let s=`states/${e}.json`,r=await uo(t,s,i);return typeof r>"u"?void 0:JSON.parse(fa(r,!1))}function Ie(t,e="dotLottie-common"){return new Error(`[${e}]: ${t}`)}function er(t,e="dotLottie-common",...i){console.error(`[${e}]:`,t,...i);}function li(t,e="dotLottie-common",...i){console.warn(`[${e}]:`,t,...i);}function go(t=""){let e=t.trim(),i=e.lastIndexOf("/"),s=e.substring(i+1),r=s.indexOf(".");return r!==-1?s.substring(0,r):s}function Jr(t){return ["v","ip","op","layers","fr","w","h"].every(e=>Object.prototype.hasOwnProperty.call(t,e))}function yo(t){let e=t.assets;return e?e.some(i=>ao(i)):!1}function vo(t){try{let e=JSON.parse(t);return Jr(e)}catch{return !1}}function En(t,e){let i=Object.keys(t).find(s=>t[s]===e);if(i===void 0)throw new Error("Value not found in the object.");return i}function Ua(t){return JSON.parse(JSON.stringify(t))}var sh,ep,fs,Xr,ph,no,oo,fh,ch,uh,ho,ip,sp,mh,xn,cr,Xe,pa,Wa,Xe,Xe,Xe,Xe,dh,Xe,gh,yh,bn,Is,_n,vh,Pn,bh,ps,_h,rp,ap,rh,vn,np,op,hp,xh,Ph,lp,Qs,Gs,Qn,eo,fp,cp,up,mp,dp,ah,vp,Ep,Mp,po,wp,Sh,Dp,Fp,Ip,Ya,Lp,Vp,Rp,Bp,Op,zp,Np,Gp,Eh,jp,Ah,Hp,qp,fo,Yr,$p,Wp,Xp,Yp,Jp,Up,Zp,Kp,Qp,tf,hh,ef,co,ca=ls(()=>{sh={},ep=function(t,e,i,s,r){var a=new Worker(sh[e]||(sh[e]=URL.createObjectURL(new Blob([t+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return a.onmessage=function(n){var p=n.data,h=p.$e$;if(h){var y=new Error(h[0]);y.code=h[1],y.stack=h[2],r(y,null);}else r(null,p);},a.postMessage(i,s),a},fs=Uint8Array,Xr=Uint16Array,ph=Int32Array,no=new fs([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),oo=new fs([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),fh=new fs([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ch=function(t,e){for(var i=new Xr(31),s=0;s<31;++s)i[s]=e+=1<>1|(Xe&21845)<<1,cr=(cr&52428)>>2|(cr&13107)<<2,cr=(cr&61680)>>4|(cr&3855)<<4,xn[Xe]=((cr&65280)>>8|(cr&255)<<8)>>1;pa=function(t,e,i){for(var s=t.length,r=0,a=new Xr(e);r>h]=y;}else for(p=new Xr(s),r=0;r>15-t[r]);return p},Wa=new fs(288);for(Xe=0;Xe<144;++Xe)Wa[Xe]=8;for(Xe=144;Xe<256;++Xe)Wa[Xe]=9;for(Xe=256;Xe<280;++Xe)Wa[Xe]=7;for(Xe=280;Xe<288;++Xe)Wa[Xe]=8;dh=new fs(32);for(Xe=0;Xe<32;++Xe)dh[Xe]=5;gh=pa(Wa,9,1),yh=pa(dh,5,1),bn=function(t){for(var e=t[0],i=1;ie&&(e=t[i]);return e},Is=function(t,e,i){var s=e/8|0;return (t[s]|t[s+1]<<8)>>(e&7)&i},_n=function(t,e){var i=e/8|0;return (t[i]|t[i+1]<<8|t[i+2]<<16)>>(e&7)},vh=function(t){return (t+7)/8|0},Pn=function(t,e,i){return (e==null||e<0)&&(e=0),(i==null||i>t.length)&&(i=t.length),new fs(t.subarray(e,i))},bh=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],ps=function(t,e,i){var s=new Error(e||bh[t]);if(s.code=t,Error.captureStackTrace&&Error.captureStackTrace(s,ps),!i)throw s;return s},_h=function(t,e,i,s){var r=t.length,a=s?s.length:0;if(!r||e.f&&!e.l)return i||new fs(0);var n=!i,p=n||e.i!=2,h=e.i;n&&(i=new fs(r*3));var y=function(Wt){var fe=i.length;if(Wt>fe){var jt=new fs(Math.max(fe*2,Wt));jt.set(i),i=jt;}},P=e.f||0,c=e.p||0,l=e.b||0,E=e.l,b=e.d,v=e.m,w=e.n,u=r*8;do{if(!E){P=Is(t,c,1);var f=Is(t,c+1,3);if(c+=3,f)if(f==1)E=gh,b=yh,v=9,w=5;else if(f==2){var g=Is(t,c,31)+257,_=Is(t,c+10,15)+4,k=g+Is(t,c+5,31)+1;c+=14;for(var z=new fs(k),q=new fs(19),W=0;W<_;++W)q[fh[W]]=Is(t,c+W*3,7);c+=_*3;for(var ot=bn(q),mt=(1<>4;if(Ct<16)z[W++]=Ct;else {var ht=0,yt=0;for(Ct==16?(yt=3+Is(t,c,3),c+=2,ht=z[W-1]):Ct==17?(yt=3+Is(t,c,7),c+=3):Ct==18&&(yt=11+Is(t,c,127),c+=7);yt--;)z[W++]=ht;}}var D=z.subarray(0,g),V=z.subarray(g);v=bn(D),w=bn(V),E=pa(D,v,1),b=pa(V,w,1);}else ps(1);else {var Ct=vh(c)+4,S=t[Ct-4]|t[Ct-3]<<8,R=Ct+S;if(R>r){h&&ps(0);break}p&&y(l+S),i.set(t.subarray(Ct,R),l),e.b=l+=S,e.p=c=R*8,e.f=P;continue}if(c>u){h&&ps(0);break}}p&&y(l+131072);for(var tt=(1<>4;if(c+=ht&15,c>u){h&&ps(0);break}if(ht||ps(2),Vt<256)i[l++]=Vt;else if(Vt==256){Gt=c,E=null;break}else {var Xt=Vt-254;if(Vt>264){var W=Vt-257,Ht=no[W];Xt=Is(t,c,(1<>4;Qt||ps(3),c+=Qt&15;var V=mh[Zt];if(Zt>3){var Ht=oo[Zt];V+=_n(t,c)&(1<u){h&&ps(0);break}p&&y(l+131072);var ne=l+Xt;if(l>>0},Qn=function(t,e){return Gs(t,e)+Gs(t,e+4)*4294967296};eo=typeof TextDecoder<"u"&&new TextDecoder,fp=0;try{eo.decode(rp,{stream:!0}),fp=1;}catch{}cp=function(t){for(var e="",i=0;;){var s=t[i++],r=(s>127)+(s>223)+(s>239);if(i+r>t.length)return {s:e,r:Pn(t,i-1)};r?r==3?(s=((s&15)<<18|(t[i++]&63)<<12|(t[i++]&63)<<6|t[i++]&63)-65536,e+=String.fromCharCode(55296|s>>10,56320|s&1023)):r&1?e+=String.fromCharCode((s&31)<<6|t[i++]&63):e+=String.fromCharCode((s&15)<<12|(t[i++]&63)<<6|t[i++]&63):e+=String.fromCharCode(s);}};up=function(t,e){return e+30+Qs(t,e+26)+Qs(t,e+28)},mp=function(t,e,i){var s=Qs(t,e+28),r=fa(t.subarray(e+46,e+46+s),!(Qs(t,e+8)&2048)),a=e+46+s,n=Gs(t,e+20),p=i&&n==4294967295?dp(t,a):[n,Gs(t,e+24),Gs(t,e+42)],h=p[0],y=p[1],P=p[2];return [Qs(t,e+10),h,y,r,a+Qs(t,e+30)+Qs(t,e+32),P]},dp=function(t,e){for(;Qs(t,e)!=1;e+=4+Qs(t,e+2));return [Qn(t,e+12),Qn(t,e+4),Qn(t,e+20)]},ah=typeof queueMicrotask=="function"?queueMicrotask:typeof setTimeout=="function"?setTimeout:function(t){t();};vp=class extends Error{issues;constructor(t){super(t[0].message),this.name="ValiError",this.issues=t;}};Ep=["__proto__","prototype","constructor"];Mp=Object.create,po=Object.defineProperty,wp=Object.getOwnPropertyDescriptor,Sh=Object.getOwnPropertyNames,Dp=Object.getPrototypeOf,Fp=Object.prototype.hasOwnProperty,Ip=(t,e,i)=>e in t?po(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,Ya=(t,e)=>function(){return e||(0, t[Sh(t)[0]])((e={exports:{}}).exports,e),e.exports},Lp=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Sh(e))!Fp.call(t,r)&&r!==i&&po(t,r,{get:()=>e[r],enumerable:!(s=wp(e,r))||s.enumerable});return t},Vp=(t,e,i)=>(i=t!=null?Mp(Dp(t)):{},Lp(e||!t||!t.__esModule?po(i,"default",{value:t,enumerable:!0}):i,t)),Rp=(t,e,i)=>(Ip(t,typeof e!="symbol"?e+"":e,i),i),Bp=Ya({"../../node_modules/.pnpm/@rgba-image+copy@0.1.3/node_modules/@rgba-image/copy/dist/index.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.copy=void 0;var e=(i,s,r=0,a=0,n=i.width-r,p=i.height-a,h=0,y=0)=>{if(r=r|0,a=a|0,n=n|0,p=p|0,h=h|0,y=y|0,n<=0||p<=0)return;let P=new Uint32Array(i.data.buffer),c=new Uint32Array(s.data.buffer);for(let l=0;l=i.height)continue;let b=y+l;if(!(b<0||b>=s.height))for(let v=0;v=i.width)continue;let u=h+v;if(u<0||u>=s.width)continue;let f=E*i.width+w,g=b*s.width+u;c[g]=P[f];}}};t.copy=e;}}),Op=Ya({"../../node_modules/.pnpm/@rgba-image+create-image@0.1.1/node_modules/@rgba-image/create-image/dist/index.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.CreateImageFactory=(e=[0,0,0,0],i=4)=>{if(i=Math.floor(i),isNaN(i)||i<1)throw TypeError("channels should be a positive non-zero number");if(!("length"in e)||e.lengthr===0);return (r,a,n)=>{if(r===void 0||a===void 0)throw TypeError("Not enough arguments");if(r=Math.floor(r),a=Math.floor(a),isNaN(r)||r<1||isNaN(a)||a<1)throw TypeError("Index or size is negative or greater than the allowed amount");let p=r*a*i;if(n===void 0&&(n=new Uint8ClampedArray(p)),n instanceof Uint8ClampedArray){if(n.length!==p)throw TypeError("Index or size is negative or greater than the allowed amount");if(!s)for(let h=0;h{if(a<=-n||a>=n||a==0)return 0;let p=a*Math.PI;return Math.sin(p)/p*Math.sin(p/n)/(p/n)},s=a=>Math.round(a*((1<{let P=y?2:3,c=1/p,l=Math.min(1,p),E=P/l,b=Math.floor((E+1)*2),v=new Int16Array((b+2)*n),w=0;for(let u=0;u>1]+=s(1-mt);let gt=0;for(;gt0&&q[ut]===0;)ut--;let Ct=g+gt,ht=ut-gt+1;v[w++]=Ct,v[w++]=ht,v.set(q.subarray(gt,ut+1),w),w+=ht;}return v};t.filters=r;}}),Np=Ya({"../../node_modules/.pnpm/@rgba-image+lanczos@0.1.1/node_modules/@rgba-image/lanczos/dist/convolve.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.convolve=void 0;var e=14,i=(s,r,a,n,p,h)=>{let y=0,P=0;for(let c=0;c0;_--){let k=h[l++];w=w+k*s[v]|0,u=u+k*s[v+1]|0,f=f+k*s[v+2]|0,g=g+k*s[v+3]|0,v=v+4|0;}r[P]=w+8192>>e,r[P+1]=u+8192>>e,r[P+2]=f+8192>>e,r[P+3]=g+8192>>e,P=P+n*4|0;}P=(c+1)*4|0,y=(c+1)*a*4|0;}};t.convolve=i;}}),Gp=Ya({"../../node_modules/.pnpm/@rgba-image+lanczos@0.1.1/node_modules/@rgba-image/lanczos/dist/index.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.lanczos2=t.lanczos=void 0;var e=Bp(),i=Op(),s=zp(),r=Np(),a=(h,y,P=!1)=>{let c=y.width/h.width,l=y.height/h.height,E=s.filters(h.width,y.width,c,0,P),b=s.filters(h.height,y.height,l,0,P),v=new Uint8ClampedArray(y.width*h.height*4);r.convolve(h.data,v,h.width,h.height,y.width,E),r.convolve(v,y.data,h.height,y.width,y.height,b);},n=(h,y,P=0,c=0,l=h.width-P,E=h.height-c,b=0,v=0,w=y.width-b,u=y.height-v)=>{if(P=P|0,c=c|0,l=l|0,E=E|0,b=b|0,v=v|0,w=w|0,u=u|0,l<=0||E<=0||w<=0||u<=0)return;if(P===0&&c===0&&l===h.width&&E===h.height&&b===0&&v===0&&w===y.width&&u===y.height){a(h,y);return}let f=i.createImage(l,E),g=i.createImage(w,u);e.copy(h,f,P,c),a(f,g),e.copy(g,y,0,0,g.width,g.height,b,v);};t.lanczos=n;var p=(h,y,P=0,c=0,l=h.width-P,E=h.height-c,b=0,v=0,w=y.width-b,u=y.height-v)=>{if(P=P|0,c=c|0,l=l|0,E=E|0,b=b|0,v=v|0,w=w|0,u=u|0,l<=0||E<=0||w<=0||u<=0)return;if(P===0&&c===0&&l===h.width&&E===h.height&&b===0&&v===0&&w===y.width&&u===y.height){a(h,y,!0);return}let f=i.createImage(l,E),g=i.createImage(w,u);e.copy(h,f,P,c),a(f,g,!0),e.copy(g,y,0,0,g.width,g.height,b,v);};t.lanczos2=p;}}),Eh=(t=>(t.Bounce="bounce",t.Normal="normal",t))(Eh||{}),jp=Pp(Eh),Ah=Ls({autoplay:Ke(to()),defaultTheme:Ke(Ji()),direction:Ke(io([nh(1),nh(-1)])),hover:Ke(to()),id:Ji(),intermission:Ke(js()),loop:Ke(io([to(),js()])),playMode:Ke(jp),speed:Ke(js()),themeColor:Ke(Ji())}),Hp=Ls({animations:$a(Ji()),id:Ji()}),qp=Ls({activeAnimationId:Ke(Ji()),animations:$a(Ah),author:Ke(Ji()),custom:Ke(Ap(Ji(),xp())),description:Ke(Ji()),generator:Ke(Ji()),keywords:Ke(Ji()),revision:Ke(js()),themes:Ke($a(Hp)),states:Ke($a(Ji())),version:Ke(Ji())}),fo=kp(Ah,["id"]),Yr=Ls({state:Ji()}),$p=Yr,Wp=Xa([Yr,Ls({ms:js()})]),Xp=Xa([Yr,Ls({count:js()})]),Yp=Yr,Jp=Yr,Up=Yr,Zp=Xa([Yr,Ls({threshold:Ke($a(js([ro(0),so(1)])))})]),Kp=Ls({onAfter:Ke(Wp),onClick:Ke($p),onComplete:Ke(Up),onEnter:Ke(Xp),onMouseEnter:Ke(Yp),onMouseLeave:Ke(Jp),onShow:Ke(Zp)}),Qp=Xa([fo,Ls({playOnScroll:Ke(oh([js([ro(0),so(1)]),js([ro(0),so(1)])])),segments:Ke(io([oh([js(),js()]),Ji()]))})]);Xa([Kp,Ls({animationId:Ke(Ji()),playbackSettings:Qp})]);tf={jpeg:"image/jpeg",png:"image/png",gif:"image/gif",bmp:"image/bmp",svg:"image/svg+xml",webp:"image/webp",mpeg:"audio/mpeg",mp3:"audio/mp3"},hh={jpeg:[255,216,255],png:[137,80,78,71,13,10,26,10],gif:[71,73,70],bmp:[66,77],webp:[82,73,70,70,87,69,66,80],svg:[60,63,120],mp3:[73,68,51,3,0,0,0,0],mpeg:[73,68,51,3,0,0,0,0]},ef=t=>{let e=null,i=[];if(!t)return null;let s=t.substring(t.indexOf(",")+1);typeof window>"u"?e=Buffer.from(s,"base64").toString("binary"):e=atob(s);let r=new Uint8Array(e.length);for(let a=0;ap===n[h]))return tf[a]}return null},co=class extends Error{constructor(t,e){super(t),Rp(this,"code"),this.name="[dotlottie-js]",this.code=e;}};Vp(Gp());});var Dh,An=ls(()=>{ca();Dh=class{_dotLottie;_animationsMap=new Map;_themeMap=new Map;_stateMachinesMap=new Map;_manifest;get dotLottie(){return this._dotLottie}get animationsMap(){return this._animationsMap}get themeMap(){return this._themeMap}get stateMachinesMap(){return this._stateMachinesMap}get manifest(){return this._manifest}async loadFromUrl(t){let e=await fetch(t,{method:"GET",mode:"cors"});if(!e.ok)throw new Error(`Failed to load dotLottie from ${t} with status ${e.status}`);let i=e.headers.get("content-type");if(i!=null&&i.includes("application/json")){let s=await e.json();if(!Jr(s))throw new Error(`Invalid lottie JSON at ${t}`);let r=go(t);this._animationsMap.set(r,s);let a={activeAnimationId:r,animations:[{id:r}]};this._manifest=a;}else {this._dotLottie=await mo(await e.arrayBuffer());let s=await Sn(this._dotLottie);if(!s)throw new Error("Manifest not found");this._manifest=s;}}loadFromLottieJSON(t){if(!Jr(t))throw new Error("Invalid lottie JSON");let e="my-animation";this._animationsMap.set(e,t);let i={activeAnimationId:e,animations:[{id:e}]};this._manifest=i;}async loadFromArrayBuffer(t){this._dotLottie=await mo(t);let e=await Sn(this._dotLottie);if(!e)throw new Error("Manifest not found");this._manifest=e;}async getAnimation(t){if(this._animationsMap.get(t))return this._animationsMap.get(t);if(!this._dotLottie)return;let e=await kh(this._dotLottie,t,{inlineAssets:!0});return e&&this._animationsMap.set(t,e),e}async getTheme(t){if(this._themeMap.get(t))return this._themeMap.get(t);if(!this._dotLottie)return;let e=await Th(this._dotLottie,t);return e&&this._themeMap.set(t,e),e}async getStateMachines(){if(!this._dotLottie)return;let t=await Mh(this._dotLottie);for(let e in t)if(e){let i=t[e];if(i){let s=JSON.parse(i);if(s){let r=s.descriptor.id;this._stateMachinesMap.get(r)||this._stateMachinesMap.set(r,s);}}}return Array.from(this._stateMachinesMap.values())}async getStateMachine(t){if(this._stateMachinesMap.get(t))return this._stateMachinesMap.get(t);if(!this._dotLottie)return;let e=await wh(this._dotLottie,t);return e&&this._stateMachinesMap.set(e.descriptor.id,e),e}};});function kn(){throw new Error("Cycle detected")}function _o(){if(ua>1)ua--;else {for(var t,e=!1;Za!==void 0;){var i=Za;for(Za=void 0,bo++;i!==void 0;){var s=i.o;if(i.o=void 0,i.f&=-3,!(8&i.f)&&Ih(i))try{i.c();}catch(r){e||(t=r,e=!0);}i=s;}}if(bo=0,ua--,e)throw t}}function Fh(t){if(Ei!==void 0){var e=t.n;if(e===void 0||e.t!==Ei)return e={i:0,S:t,p:Ei.s,n:void 0,t:Ei,e:void 0,x:void 0,r:e},Ei.s!==void 0&&(Ei.s.n=e),Ei.s=e,t.n=e,32&Ei.f&&t.S(e),e;if(e.i===-1)return e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=Ei.s,e.n=void 0,Ei.s.n=e,Ei.s=e),e}}function vs(t){this.v=t,this.i=0,this.n=void 0,this.t=void 0;}function hf(t){return new vs(t)}function Ih(t){for(var e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return !0;return !1}function Lh(t){for(var e=t.s;e!==void 0;e=e.n){var i=e.S.n;if(i!==void 0&&(e.r=i),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function Vh(t){for(var e=t.s,i=void 0;e!==void 0;){var s=e.p;e.i===-1?(e.S.U(e),s!==void 0&&(s.n=e.n),e.n!==void 0&&(e.n.p=s)):i=e,e.S.n=e.r,e.r!==void 0&&(e.r=void 0),e=s;}t.s=i;}function Ur(t){vs.call(this,void 0),this.x=t,this.s=void 0,this.g=Cn-1,this.f=4;}function Rh(t){var e=t.u;if(t.u=void 0,typeof e=="function"){ua++;var i=Ei;Ei=void 0;try{e();}catch(s){throw t.f&=-2,t.f|=8,xo(t),s}finally{Ei=i,_o();}}}function xo(t){for(var e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,Rh(t);}function lf(t){if(Ei!==this)throw new Error("Out-of-order effect");Vh(this),Ei=t,this.f&=-2,8&this.f&&xo(this),_o();}function Ka(t){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32;}function pf(t){var e=new Ka(t);try{e.c();}catch(i){throw e.d(),i}return e.d.bind(e)}var Ei,Za,ua,bo,Cn,Bh,Tn=ls(()=>{Ei=void 0,Za=void 0,ua=0,bo=0,Cn=0;vs.prototype.h=function(){return !0};vs.prototype.S=function(t){this.t!==t&&t.e===void 0&&(t.x=this.t,this.t!==void 0&&(this.t.e=t),this.t=t);};vs.prototype.U=function(t){if(this.t!==void 0){var e=t.e,i=t.x;e!==void 0&&(e.x=i,t.e=void 0),i!==void 0&&(i.e=e,t.x=void 0),t===this.t&&(this.t=i);}};vs.prototype.subscribe=function(t){var e=this;return pf(function(){var i=e.value,s=32&this.f;this.f&=-33;try{t(i);}finally{this.f|=s;}})};vs.prototype.valueOf=function(){return this.value};vs.prototype.toString=function(){return this.value+""};vs.prototype.toJSON=function(){return this.value};vs.prototype.peek=function(){return this.v};Object.defineProperty(vs.prototype,"value",{get:function(){var t=Fh(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(Ei instanceof Ur&&function(){throw new Error("Computed cannot have side-effects")}(),t!==this.v){bo>100&&kn(),this.v=t,this.i++,Cn++,ua++;try{for(var e=this.t;e!==void 0;e=e.x)e.t.N();}finally{_o();}}}});(Ur.prototype=new vs).h=function(){if(this.f&=-3,1&this.f)return !1;if((36&this.f)==32||(this.f&=-5,this.g===Cn))return !0;if(this.g=Cn,this.f|=1,this.i>0&&!Ih(this))return this.f&=-2,!0;var t=Ei;try{Lh(this),Ei=this;var e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++);}catch(i){this.v=i,this.f|=16,this.i++;}return Ei=t,Vh(this),this.f&=-2,!0};Ur.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var e=this.s;e!==void 0;e=e.n)e.S.S(e);}vs.prototype.S.call(this,t);};Ur.prototype.U=function(t){if(this.t!==void 0&&(vs.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var e=this.s;e!==void 0;e=e.n)e.S.U(e);}};Ur.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N();}};Ur.prototype.peek=function(){if(this.h()||kn(),16&this.f)throw this.v;return this.v};Object.defineProperty(Ur.prototype,"value",{get:function(){1&this.f&&kn();var t=Fh(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});Ka.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var e=this.x();typeof e=="function"&&(this.u=e);}finally{t();}};Ka.prototype.S=function(){1&this.f&&kn(),this.f|=1,this.f&=-9,Rh(this),Lh(this),ua++;var t=Ei;return Ei=this,lf.bind(this,t)};Ka.prototype.N=function(){2&this.f||(this.f|=2,this.o=Za,Za=this);};Ka.prototype.d=function(){this.f|=8,1&this.f||xo(this);};Bh=class{_state;_prevState;constructor(t){this._prevState=t,this._state=hf(t);}setState(t){this._prevState=this._state.value,this._state.value=t;}subscribe(t){return this._state.subscribe(e=>t(e,this._prevState))}};});var ff,Oh,cf,uf,mf,df,is,gf,zh,qs=ls(()=>{ff=Object.create,Oh=Object.defineProperty,cf=Object.getOwnPropertyDescriptor,uf=Object.getOwnPropertyNames,mf=Object.getPrototypeOf,df=Object.prototype.hasOwnProperty,is=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),gf=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of uf(e))!df.call(t,r)&&r!==i&&Oh(t,r,{get:()=>e[r],enumerable:!(s=cf(e,r))||s.enumerable});return t},zh=(t,e,i)=>(i=t!=null?ff(mf(t)):{},gf(e||!t||!t.__esModule?Oh(i,"default",{value:t,enumerable:!0}):i,t));});var fl={};fr(fl,{DotLottieStateMachineManager:()=>cc});function Fo(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,s=Object.getOwnPropertySymbols(t);r=t.length&&(t=void 0),{value:t&&t[s++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function qe(t,e){var i=typeof Symbol=="function"&&t[Symbol.iterator];if(!i)return t;var s=i.call(t),r,a=[],n;try{for(;(e===void 0||e-- >0)&&!(r=s.next()).done;)a.push(r.value);}catch(p){n={error:p};}finally{try{r&&!r.done&&(i=s.return)&&i.call(s);}finally{if(n)throw n.error}}return a}function ui(t,e,i){if(i||arguments.length===2)for(var s=0,r=e.length,a;s"u"||typeof s=="string"||xa(s)?{target:s,event:t}:ae(ae({},s),{event:t})});return i}function If(t){if(!(t===void 0||t===Pf))return $s(t)}function il(t,e,i,s,r){var a=t.options.guards,n={state:r,cond:e,_event:s};if(e.type===Co)return ((a==null?void 0:a[e.name])||e.predicate)(i,s.data,n);var p=a==null?void 0:a[e.type];if(!p)throw new Error("Guard '".concat(e.type,"' is not implemented on machine '").concat(t.id,"'."));return p(i,s.data,n)}function sl(t){return typeof t=="string"?{type:t}:t}function Vn(t,e,i){var s=function(){},r=typeof t=="object",a=r?t:null;return {next:((r?t.next:t)||s).bind(a),error:((r?t.error:e)||s).bind(a),complete:((r?t.complete:i)||s).bind(a)}}function wn(t,e){return "".concat(t,":invocation[").concat(e,"]")}function To(t){return (t.type===hn||t.type===jn&&t.to===_a.Internal)&&typeof t.delay!="number"}function Mo(t,e){return e&&e[t]||void 0}function nn(t,e){var i;if(Qe(t)||typeof t=="number"){var s=Mo(t,e);Ye(s)?i={type:t,exec:s}:s?i=s:i={type:t,exec:void 0};}else if(Ye(t))i={type:t.name||t.toString(),exec:t};else {var s=Mo(t.type,e);if(Ye(s))i=ae(ae({},t),{exec:s});else if(s){var r=s.type||t.type;i=ae(ae(ae({},s),t),{type:r});}else i=t;}return i}function Vo(t){var e=nn(t);return ae(ae({id:Qe(t)?t:e.id},e),{type:e.type})}function Lf(t,e){return {type:hn,event:typeof t=="function"?t:Hn(t),delay:e?e.delay:void 0,id:e==null?void 0:e.id}}function Vf(t,e,i,s){var r={_event:i},a=Ui(Ye(t.event)?t.event(e,i.data,r):t.event),n;if(Qe(t.delay)){var p=s&&s[t.delay];n=Ye(p)?p(e,i.data,r):p;}else n=Ye(t.delay)?t.delay(e,i.data,r):t.delay;return ae(ae({},t),{type:hn,_event:a,delay:n})}function Rf(t,e){return {to:e?e.to:void 0,type:jn,event:Ye(t)?t:Hn(t),delay:e?e.delay:void 0,id:e&&e.id!==void 0?e.id:Ye(t)?t.name:Kh(t)}}function Bf(t,e,i,s){var r={_event:i},a=Ui(Ye(t.event)?t.event(e,i.data,r):t.event),n;if(Qe(t.delay)){var p=s&&s[t.delay];n=Ye(p)?p(e,i.data,r):p;}else n=Ye(t.delay)?t.delay(e,i.data,r):t.delay;var h=Ye(t.to)?t.to(e,i.data,r):t.to;return ae(ae({},t),{to:h,_event:a,event:a.data,delay:n})}function Nf(t){var e=Vo(t);return {type:ai.Start,activity:e,exec:void 0}}function Gf(t){var e=Ye(t)?t:Vo(t);return {type:ai.Stop,activity:e,exec:void 0}}function jf(t,e,i){var s=Ye(t.activity)?t.activity(e,i.data):t.activity,r=typeof s=="string"?{id:s}:s,a={type:ai.Stop,activity:r};return a}function Hf(t,e){var i=e?"#".concat(e):"";return "".concat(ai.After,"(").concat(t,")").concat(i)}function Dn(t,e){var i="".concat(ai.DoneState,".").concat(t),s={type:i,data:e};return s.toString=function(){return i},s}function Rn(t,e){var i="".concat(ai.DoneInvoke,".").concat(t),s={type:i,data:e};return s.toString=function(){return i},s}function en(t,e){var i="".concat(ai.ErrorPlatform,".").concat(t),s={type:i,data:e};return s.toString=function(){return i},s}function Nn(t,e,i,s,r,a,n){n===void 0&&(n=!1);var p=n?[]:qf(r),h=p.length?qh(i,s,p,e):i,y=n?[i]:void 0,P=[];function c(b,v){var w;switch(v.type){case hn:{var u=Vf(v,h,s,t.options.delays);return a&&typeof u.delay=="number"&&a(u,h,s),u}case jn:var f=Bf(v,h,s,t.options.delays);return a&&f.to!==_a.Internal&&(b==="entry"?P.push(f):a(f,h,s)),f;case Jh:{var g=Of(v,h,s);return a==null||a(g,h,s),g}case _f:{var _=v,k=(w=_.conds.find(function(D){var V=el(D.cond,t.options.guards);return !V||il(t,V,h,s,a?void 0:e)}))===null||w===void 0?void 0:w.actions;if(!k)return [];var z=qe(Nn(t,e,h,s,[{type:b,actions:Fr($s(k),t.options.actions)}],a,n),2),q=z[0],W=z[1];return h=W,y==null||y.push(h),q}case xf:{var k=v.get(h,s.data);if(!k)return [];var ot=qe(Nn(t,e,h,s,[{type:b,actions:Fr($s(k),t.options.actions)}],a,n),2),mt=ot[0],gt=ot[1];return h=gt,y==null||y.push(h),mt}case Io:{var g=jf(v,h,s);return a==null||a(g,i,s),g}case Yh:{h=qh(h,s,[v],a?void 0:e),y==null||y.push(h);break}default:var ut=nn(v,t.options.actions),Ct=ut.exec;if(a)a(ut,h,s);else if(Ct&&y){var ht=y.length-1,yt=ae(ae({},ut),{exec:function(D){for(var V=[],S=1;S0;){var y=r.shift();i=t.transition(i,y,h),s.forEach(function(P){return P.next(i)});}a=!1;}},p=Yf({id:e.id,send:function(y){r.push(y),n();},getSnapshot:function(){return i},subscribe:function(y,P,c){var l=Vn(y,P,c);return s.add(l),l.next(i),{unsubscribe:function(){s.delete(l);}}}}),h={parent:e.parent,self:p,id:e.id||"anonymous",observers:s};return i=t.start?t.start(h):i,p}function pl(t,e){var i=new nc(t,e);return i}function oc(t){if(typeof t=="string"){var e={type:t};return e.toString=function(){return t},e}return t}function Fn(t){return ae(ae({type:Ao},t),{toJSON:function(){t.onDone,t.onError;var e=Fo(t,["onDone","onError"]);return ae(ae({},e),{type:Ao,src:oc(t.src)})}})}function pc(t,e){return new lc(t,e)}var ae,ai,_a,Eo,Io,hn,jn,Xh,yf,Yh,Jh,vf,Ao,Nh,bf,Uh,_f,xf,Zh,Gh,Co,Pf,Mn,Ef,wf,Dr,ba,Fr,Of,zf,qf,ya,Gn,ir,tc,Wh,Po,ec,Qa,ac,ji,nc,In,Do,So,da,ga,hc,lc,va,fc,cc,cl=ls(()=>{Bo();An();qn();Tn();ca();qs();ae=function(){return ae=Object.assign||function(t){for(var e,i=1,s=arguments.length;i0});if(!v)return this.next(i,s);var w=bi(Object.keys(n).map(function(u){return n[u].configuration}));return {transitions:b,exitSet:bi(E.map(function(u){return u.exitSet})),configuration:w,source:i,actions:bi(Object.keys(n).map(function(u){return n[u].actions}))}},t.prototype._transition=function(e,i,s){return Qe(e)?this.transitionLeafNode(e,i,s):Object.keys(e).length===1?this.transitionCompoundNode(e,i,s):this.transitionParallelNode(e,i,s)},t.prototype.getTransitionData=function(e,i){return this._transition(e.value,e,Ui(i))},t.prototype.next=function(e,i){var s,r,a=this,n=i.name,p=[],h=[],y;try{for(var P=ze(this.getCandidates(n)),c=P.next();!c.done;c=P.next()){var l=c.value,E=l.cond,b=l.in,v=e.context,w=b?Qe(b)&&ga(b)?e.matches(an(this.getStateNodeById(b).path,this.delimiter)):Lo(an(b,this.delimiter),Ef(this.path.slice(0,-2))(e.value)):!0,u=!1;try{u=!E||il(this.machine,E,v,i,e);}catch(_){throw new Error("Unable to evaluate guard '".concat(E.name||E.type,"' in transition for event '").concat(n,"' in state node '").concat(this.id,`': +`).concat(_.message))}if(u&&w){l.target!==void 0&&(h=l.target),p.push.apply(p,ui([],qe(l.actions),!1)),y=l;break}}}catch(_){s={error:_};}finally{try{c&&!c.done&&(r=P.return)&&r.call(P);}finally{if(s)throw s.error}}if(y){if(!h.length)return {transitions:[y],exitSet:[],configuration:e.value?[this]:[],source:e,actions:p};var f=bi(h.map(function(_){return a.getRelativeStateNodes(_,e.historyValue)})),g=!!y.internal;return {transitions:[y],exitSet:g?[]:bi(h.map(function(_){return a.getPotentiallyReenteringNodes(_)})),configuration:f,source:e,actions:p}}},t.prototype.getPotentiallyReenteringNodes=function(e){if(this.order0,E=l?e.configuration:i?i.configuration:[],b=Bn(E,this),v=l?Jf(this.machine,c):void 0,w=i?i.historyValue?i.historyValue:e.source?this.machine.historyValue(i.value):void 0:void 0,u=this.getActions(new Set(E),b,e,s,a,i,r),f=i?ae({},i.activities):{};try{for(var g=ze(u),_=g.next();!_.done;_=g.next()){var k=_.value;try{for(var z=(h=void 0,ze(k.actions)),q=z.next();!q.done;q=z.next()){var W=q.value;W.type===Eo?f[W.activity.id||W.activity.type]=W:W.type===Io&&(f[W.activity.id||W.activity.type]=!1);}}catch(Xt){h={error:Xt};}finally{try{q&&!q.done&&(y=z.return)&&y.call(z);}finally{if(h)throw h.error}}}}catch(Xt){n={error:Xt};}finally{try{_&&!_.done&&(p=g.return)&&p.call(g);}finally{if(n)throw n.error}}var ot=qe(Nn(this,i,s,a,u,r,this.machine.config.predictableActionArguments||this.machine.config.preserveActionOrder),2),mt=ot[0],gt=ot[1],ut=qe(Tf(mt,To),2),Ct=ut[0],ht=ut[1],yt=mt.filter(function(Xt){var Ht;return Xt.type===Eo&&((Ht=Xt.activity)===null||Ht===void 0?void 0:Ht.type)===Ao}),D=yt.reduce(function(Xt,Ht){return Xt[Ht.activity.id]=$f(Ht.activity,P.machine,gt,a),Xt},i?ae({},i.children):{}),V=new ir({value:v||i.value,context:gt,_event:a,_sessionid:i?i._sessionid:null,historyValue:v?w?Mf(w,v):void 0:i?i.historyValue:void 0,history:!v||e.source?i:void 0,actions:v?ht:[],activities:v?f:i?i.activities:{},events:[],configuration:E,transitions:e.transitions,children:D,done:b,tags:$h(E),machine:this}),S=s!==gt;V.changed=a.name===Uh||S;var R=V.history;R&&delete R.history;var tt=!b&&(this._transient||c.some(function(Xt){return Xt._transient}));if(!l&&(!tt||a.name===In))return V;var J=V;if(!b)for(tt&&(J=this.resolveRaisedTransition(J,{type:yf},a,r));Ct.length;){var Gt=Ct.shift();J=this.resolveRaisedTransition(J,Gt._event,a,r);}var Vt=J.changed||(R?!!J.actions.length||S||typeof R.value!=typeof J.value||!ll(J.value,R.value):void 0);return J.changed=Vt,J.history=R,J},t.prototype.getStateNode=function(e){if(ga(e))return this.machine.getStateNodeById(e);if(!this.states)throw new Error("Unable to retrieve child state '".concat(e,"' from '").concat(this.id,"'; no child states exist."));var i=this.states[e];if(!i)throw new Error("Child state '".concat(e,"' does not exist on '").concat(this.id,"'"));return i},t.prototype.getStateNodeById=function(e){var i=ga(e)?e.slice(Do.length):e;if(i===this.id)return this;var s=this.machine.idMap[i];if(!s)throw new Error("Child state node '#".concat(i,"' does not exist on machine '").concat(this.id,"'"));return s},t.prototype.getStateNodeByPath=function(e){if(typeof e=="string"&&ga(e))try{return this.getStateNodeById(e.slice(1))}catch{}for(var i=ko(e,this.delimiter).slice(),s=this;i.length;){var r=i.shift();if(!r.length)break;s=s.getStateNode(r);}return s},t.prototype.resolve=function(e){var i,s=this;if(!e)return this.initialStateValue||da;switch(this.type){case"parallel":return tn(this.initialStateValue,function(a,n){return a?s.getStateNode(n).resolve(e[n]||a):da});case"compound":if(Qe(e)){var r=this.getStateNode(e);return r.type==="parallel"||r.type==="compound"?(i={},i[e]=r.initialStateValue,i):e}return Object.keys(e).length?tn(e,function(a,n){return a?s.getStateNode(n).resolve(a):da}):this.initialStateValue||{};default:return e||da}},t.prototype.getResolvedPath=function(e){if(ga(e)){var i=this.machine.idMap[e.slice(Do.length)];if(!i)throw new Error("Unable to find state node '".concat(e,"'"));return i.path}return ko(e,this.delimiter)},Object.defineProperty(t.prototype,"initialStateValue",{get:function(){var e;if(this.__cache.initialStateValue)return this.__cache.initialStateValue;var i;if(this.type==="parallel")i=jh(this.states,function(s){return s.initialStateValue||da},function(s){return s.type!=="history"});else if(this.initial!==void 0){if(!this.states[this.initial])throw new Error("Initial state '".concat(this.initial,"' not found on '").concat(this.key,"'"));i=Gn(this.states[this.initial])?this.initial:(e={},e[this.initial]=this.states[this.initial].initialStateValue,e);}else i={};return this.__cache.initialStateValue=i,this.__cache.initialStateValue},enumerable:!1,configurable:!0}),t.prototype.getInitialState=function(e,i){this._init();var s=this.getStateNodes(e);return this.resolveTransition({configuration:s,exitSet:[],transitions:[],source:void 0,actions:[]},void 0,i!=null?i:this.machine.context,void 0)},Object.defineProperty(t.prototype,"initialState",{get:function(){var e=this.initialStateValue;if(!e)throw new Error("Cannot retrieve initial state from simple state '".concat(this.id,"'."));return this.getInitialState(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"target",{get:function(){var e;if(this.type==="history"){var i=this.config;Qe(i.target)?e=ga(i.target)?On(this.machine.getStateNodeById(i.target).path.slice(this.path.length-1)):i.target:e=i.target;}return e},enumerable:!1,configurable:!0}),t.prototype.getRelativeStateNodes=function(e,i,s){return s===void 0&&(s=!0),s?e.type==="history"?e.resolveHistory(i):e.initialStateNodes:[e]},Object.defineProperty(t.prototype,"initialStateNodes",{get:function(){var e=this;if(Gn(this))return [this];if(this.type==="compound"&&!this.initial)return [this];var i=Ln(this.initialStateValue);return bi(i.map(function(s){return e.getFromRelativePath(s)}))},enumerable:!1,configurable:!0}),t.prototype.getFromRelativePath=function(e){if(!e.length)return [this];var i=qe(e),s=i[0],r=i.slice(1);if(!this.states)throw new Error("Cannot retrieve subPath '".concat(s,"' from node with no states"));var a=this.getStateNode(s);if(a.type==="history")return a.resolveHistory();if(!this.states[s])throw new Error("Child state '".concat(s,"' does not exist on '").concat(this.id,"'"));return this.states[s].getFromRelativePath(r)},t.prototype.historyValue=function(e){if(Object.keys(this.states).length)return {current:e||this.initialStateValue,states:jh(this.states,function(i,s){if(!e)return i.historyValue();var r=Qe(e)?void 0:e[s];return i.historyValue(r||i.initialStateValue)},function(i){return !i.history})}},t.prototype.resolveHistory=function(e){var i=this;if(this.type!=="history")return [this];var s=this.parent;if(!e){var r=this.target;return r?bi(Ln(r).map(function(n){return s.getFromRelativePath(n)})):s.initialStateNodes}var a=Af(s.path,"states")(e).current;return Qe(a)?[s.getStateNode(a)]:bi(Ln(a).map(function(n){return i.history==="deep"?s.getFromRelativePath(n):[s.states[n[0]]]}))},Object.defineProperty(t.prototype,"stateIds",{get:function(){var e=this,i=bi(Object.keys(this.states).map(function(s){return e.states[s].stateIds}));return [this.id].concat(i)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"events",{get:function(){var e,i,s,r;if(this.__cache.events)return this.__cache.events;var a=this.states,n=new Set(this.ownEvents);if(a)try{for(var p=ze(Object.keys(a)),h=p.next();!h.done;h=p.next()){var y=h.value,P=a[y];if(P.states)try{for(var c=(s=void 0,ze(P.events)),l=c.next();!l.done;l=c.next()){var E=l.value;n.add("".concat(E));}}catch(b){s={error:b};}finally{try{l&&!l.done&&(r=c.return)&&r.call(c);}finally{if(s)throw s.error}}}}catch(b){e={error:b};}finally{try{h&&!h.done&&(i=p.return)&&i.call(p);}finally{if(e)throw e.error}}return this.__cache.events=Array.from(n)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ownEvents",{get:function(){var e=new Set(this.transitions.filter(function(i){return !(!i.target&&!i.actions.length&&i.internal)}).map(function(i){return i.eventType}));return Array.from(e)},enumerable:!1,configurable:!0}),t.prototype.resolveTarget=function(e){var i=this;if(e!==void 0)return e.map(function(s){if(!Qe(s))return s;var r=s[0]===i.delimiter;if(r&&!i.parent)return i.getStateNodeByPath(s.slice(1));var a=r?i.key+s:s;if(i.parent)try{var n=i.parent.getStateNodeByPath(a);return n}catch(p){throw new Error("Invalid transition definition for state node '".concat(i.id,`': +`).concat(p.message))}else return i.getStateNodeByPath(a)})},t.prototype.formatTransition=function(e){var i=this,s=If(e.target),r="internal"in e?e.internal:s?s.some(function(h){return Qe(h)&&h[0]===i.delimiter}):!0,a=this.machine.options.guards,n=this.resolveTarget(s),p=ae(ae({},e),{actions:Fr($s(e.actions)),cond:el(e.cond,a),target:n,source:this,internal:r,eventType:e.event,toJSON:function(){return ae(ae({},p),{target:p.target?p.target.map(function(h){return "#".concat(h.id)}):void 0,source:"#".concat(i.id)})}});return p},t.prototype.formatTransitions=function(){var e,i,s=this,r;if(!this.config.on)r=[];else if(Array.isArray(this.config.on))r=this.config.on;else {var a=this.config.on,n=So,p=a[n],h=p===void 0?[]:p,y=Fo(a,[typeof n=="symbol"?n:n+""]);r=bi(Object.keys(y).map(function(f){var g=ma(f,y[f]);return g}).concat(ma(So,h)));}var P=this.config.always?ma("",this.config.always):[],c=this.config.onDone?ma(String(Dn(this.id)),this.config.onDone):[],l=bi(this.invoke.map(function(f){var g=[];return f.onDone&&g.push.apply(g,ui([],qe(ma(String(Rn(f.id)),f.onDone)),!1)),f.onError&&g.push.apply(g,ui([],qe(ma(String(en(f.id)),f.onError)),!1)),g})),E=this.after,b=bi(ui(ui(ui(ui([],qe(c),!1),qe(l),!1),qe(r),!1),qe(P),!1).map(function(f){return $s(f).map(function(g){return s.formatTransition(g)})}));try{for(var v=ze(E),w=v.next();!w.done;w=v.next()){var u=w.value;b.push(u);}}catch(f){e={error:f};}finally{try{w&&!w.done&&(i=v.return)&&i.call(v);}finally{if(e)throw e.error}}return b},t}();va={click:"onClick",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",complete:"onComplete",after:"onAfter",enter:"onEnter",show:"onShow"};Object.values(va);fc=Object.keys(va),cc=class{activeStateId="";_service;_domListeners=new Map;_domElement;_playerListeners=new Map;_player;_machineSchemas=new Map;_onShowPrevValue=0;constructor(t,e){this._player=e,this._machineSchemas=this._transformToXStateSchema(t),this._domElement=e.container;}start(t){this.stop();let e=this._machineSchemas.get(t);if(typeof e>"u")throw Ie(`invalid state machine id ${t}`);this._service=pl(pc(e)),this._addEventListeners(),this._service.start();}stop(){var t;this._removeEventListeners(),(t=this._service)==null||t.stop(),this._player.stop();}_removeEventListeners(){var t;this._requiresDomElement();for(let[e,i]of this._domListeners)e==="visibilityChange"&&this._player.stopPlayOnShow(),(t=this._domElement)==null||t.removeEventListener(e,i),this._domListeners.delete(e);for(let[e,i]of this._playerListeners)this._player.removeEventListener(e,i),this._playerListeners.delete(e);}_addEventListeners(){this._requiresDomElement();let t=i=>{this._service.send({type:i});},e=i=>{function s(){t(i);}return s};this._service.subscribe(i=>{var s;if(typeof i.changed>"u"||i.changed){this._removeEventListeners();for(let r of i.nextEvents)if(fc.filter(a=>a!=="complete"&&a!=="show").includes(r)){let a=e(r);this._domListeners.set(r,a),(s=this._domElement)==null||s.addEventListener(r,a,{once:!0});}else if(r==="complete"){let a=e(r);this._player.addEventListener(r,a),this._playerListeners.set(r,a);}else if(r==="show"){let a=e(r);this._player.addIntersectionObserver({callbackOnIntersect:n=>{n>0&&(n!==100&&this._onShowPrevValue!==n&&a(),this._onShowPrevValue=n);},threshold:[]}),this._domListeners.set("visibilityChange",a);}}});}subscribe(t){throw Ie(t.toString())}_transformToXStateSchema(t){var e,i,s;let r=new Map;for(let a of t){let n={},p={};if(p.id=a.descriptor.id,typeof a.descriptor.initial<"u"&&(p.initial=a.descriptor.initial),typeof a<"u"){let h=a.states;for(let y in h)if(typeof h[y]<"u"&&h[y]){let P=h[y],c=P.playbackSettings,l=Object.keys(P).filter(v=>v.startsWith("on")),E={},b={};for(let v of l)if(typeof P[v]<"u"){let w=P[v];if(v===va.after){let u=w;b[u.ms]={target:(e=w==null?void 0:w.state)!=null?e:""};}else v===va.enter?E[En(va,v)]={target:(i=w==null?void 0:w.state)!=null?i:""}:E[En(va,v)]={target:(s=w==null?void 0:w.state)!=null?s:""};}n[y]={entry:()=>{!this._player.getAnimationInstance()||P.animationId&&P.animationId!==this._player.currentAnimationId?this._player.play(P.animationId,()=>({...cs,...c})).then(()=>{this._updatePlaybackSettings(c);}).catch(v=>{er(`State machine error: ${v.message}`);}):this._updatePlaybackSettings(c);},exit:()=>{typeof c.segments<"u"&&this._player.resetSegments(!1),typeof c.playOnScroll<"u"&&this._player.stopPlayOnScroll();},on:E,after:b,meta:c};}}p.states=n,r.set(p.id,p);}return r}_handlePlaySegments(t){if(typeof t.segments=="string")this._player.goToAndPlay(t.segments,!0);else {let[e,i]=t.segments,s=e;e!==0&&e===i&&(s=e-1),e===0&&e===i?this._player.goToAndPlay(e,!0):this._player.playSegments([s,i],!0);}}_handlePlayOnScroll(t){let e=t.playOnScroll;if(t.segments&&typeof t.segments!="string"){let i=t.segments;this._player.playOnScroll({threshold:e,segments:i});}else this._player.playOnScroll({threshold:e});}_updatePlaybackSettings(t){if(!this._player.getAnimationInstance())throw new Error("Unable to update playbackSettings. Animations is not rendered yet.");typeof t.autoplay<"u"&&(this._player.setAutoplay(t.autoplay),t.autoplay?this._player.play():this._player.pause()),typeof t.direction<"u"&&this._player.setDirection(t.direction),typeof t.intermission<"u"&&this._player.setIntermission(t.intermission),typeof t.loop<"u"&&this._player.setLoop(t.loop),typeof t.playMode<"u"&&this._player.setMode(t.playMode),typeof t.speed<"u"&&this._player.setSpeed(t.speed),typeof t.defaultTheme<"u"&&this._player.setDefaultTheme(t.defaultTheme),typeof t.playOnScroll<"u"&&this._handlePlayOnScroll(t),t.segments&&this._handlePlaySegments(t),t.autoplay||this._player.pause();}_requiresDomElement(){if(!this._domElement)throw Ie("Requires a DOM element to attach events.")}};});async function ul(t,e){let[{DotLottieStateMachineManager:i}]=await Promise.all([Promise.resolve().then(()=>(cl(),fl))]);if(!t.length)throw Ie("No state machines available inside this .lottie!");return new i(t,e)}var qn=ls(()=>{ca();});var ml={};fr(ml,{DotLottieAudio:()=>dc});var uc,mc,dc,dl=ls(()=>{qs();uc=is(t=>{((function(){var e=function(){this.init();};e.prototype={init:function(){var c=this||i;return c._counter=1e3,c._html5AudioPool=[],c.html5PoolSize=10,c._codecs={},c._howls=[],c._muted=!1,c._volume=1,c._canPlayEvent="canplaythrough",c._navigator=typeof window<"u"&&window.navigator?window.navigator:null,c.masterGain=null,c.noAudio=!1,c.usingWebAudio=!0,c.autoSuspend=!0,c.ctx=null,c.autoUnlock=!0,c._setup(),c},volume:function(c){var l=this||i;if(c=parseFloat(c),l.ctx||P(),typeof c<"u"&&c>=0&&c<=1){if(l._volume=c,l._muted)return l;l.usingWebAudio&&l.masterGain.gain.setValueAtTime(c,i.ctx.currentTime);for(var E=0;E=0;l--)c._howls[l].unload();return c.usingWebAudio&&c.ctx&&typeof c.ctx.close<"u"&&(c.ctx.close(),c.ctx=null,P()),c},codecs:function(c){return (this||i)._codecs[c.replace(/^x-/,"")]},_setup:function(){var c=this||i;if(c.state=c.ctx&&c.ctx.state||"suspended",c._autoSuspend(),!c.usingWebAudio)if(typeof Audio<"u")try{var l=new Audio;typeof l.oncanplaythrough>"u"&&(c._canPlayEvent="canplay");}catch{c.noAudio=!0;}else c.noAudio=!0;try{var l=new Audio;l.muted&&(c.noAudio=!0);}catch{}return c.noAudio||c._setupCodecs(),c},_setupCodecs:function(){var c=this||i,l=null;try{l=typeof Audio<"u"?new Audio:null;}catch{return c}if(!l||typeof l.canPlayType!="function")return c;var E=l.canPlayType("audio/mpeg;").replace(/^no$/,""),b=c._navigator?c._navigator.userAgent:"",v=b.match(/OPR\/([0-6].)/g),w=v&&parseInt(v[0].split("/")[1],10)<33,u=b.indexOf("Safari")!==-1&&b.indexOf("Chrome")===-1,f=b.match(/Version\/(.*?) /),g=u&&f&&parseInt(f[1],10)<15;return c._codecs={mp3:!!(!w&&(E||l.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!E,opus:!!l.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!l.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!l.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(l.canPlayType('audio/wav; codecs="1"')||l.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!l.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!l.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(l.canPlayType("audio/x-m4a;")||l.canPlayType("audio/m4a;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(l.canPlayType("audio/x-m4b;")||l.canPlayType("audio/m4b;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(l.canPlayType("audio/x-mp4;")||l.canPlayType("audio/mp4;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!g&&l.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!g&&l.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!l.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(l.canPlayType("audio/x-flac;")||l.canPlayType("audio/flac;")).replace(/^no$/,"")},c},_unlockAudio:function(){var c=this||i;if(!(c._audioUnlocked||!c.ctx)){c._audioUnlocked=!1,c.autoUnlock=!1,!c._mobileUnloaded&&c.ctx.sampleRate!==44100&&(c._mobileUnloaded=!0,c.unload()),c._scratchBuffer=c.ctx.createBuffer(1,1,22050);var l=function(E){for(;c._html5AudioPool.length"u"?g.noteOn(0):g.start(0),typeof c.ctx.resume=="function"&&c.ctx.resume(),g.onended=function(){g.disconnect(0),c._audioUnlocked=!0,document.removeEventListener("touchstart",l,!0),document.removeEventListener("touchend",l,!0),document.removeEventListener("click",l,!0),document.removeEventListener("keydown",l,!0);for(var _=0;_"u"||!i.usingWebAudio)){for(var l=0;l"u"||!i.usingWebAudio))return c.state==="running"&&c.ctx.state!=="interrupted"&&c._suspendTimer?(clearTimeout(c._suspendTimer),c._suspendTimer=null):c.state==="suspended"||c.state==="running"&&c.ctx.state==="interrupted"?(c.ctx.resume().then(function(){c.state="running";for(var l=0;l"u"&&(c="__default",!E._playLock)){for(var v=0,w=0;w0?u._seek:E._sprite[c][0]/1e3),_=Math.max(0,(E._sprite[c][0]+E._sprite[c][1])/1e3-g),k=_*1e3/Math.abs(u._rate),z=E._sprite[c][0]/1e3,q=(E._sprite[c][0]+E._sprite[c][1])/1e3;u._sprite=c,u._ended=!1;var W=function(){u._paused=!1,u._seek=g,u._start=z,u._stop=q,u._loop=!!(u._loop||E._sprite[c][2]);};if(g>=q){E._ended(u);return}var ot=u._node;if(E._webAudio){var mt=function(){E._playLock=!1,W(),E._refreshBuffer(u);var ht=u._muted||E._muted?0:u._volume;ot.gain.setValueAtTime(ht,i.ctx.currentTime),u._playStart=i.ctx.currentTime,typeof ot.bufferSource.start>"u"?u._loop?ot.bufferSource.noteGrainOn(0,g,86400):ot.bufferSource.noteGrainOn(0,g,_):u._loop?ot.bufferSource.start(0,g,86400):ot.bufferSource.start(0,g,_),k!==1/0&&(E._endTimers[u._id]=setTimeout(E._ended.bind(E,u),k)),l||setTimeout(function(){E._emit("play",u._id),E._loadQueue();},0);};i.state==="running"&&i.ctx.state!=="interrupted"?mt():(E._playLock=!0,E.once("resume",mt),E._clearTimer(u._id));}else {var gt=function(){ot.currentTime=g,ot.muted=u._muted||E._muted||i._muted||ot.muted,ot.volume=u._volume*i.volume(),ot.playbackRate=u._rate;try{var ht=ot.play();if(ht&&typeof Promise<"u"&&(ht instanceof Promise||typeof ht.then=="function")?(E._playLock=!0,W(),ht.then(function(){E._playLock=!1,ot._unlocked=!0,l?E._loadQueue():E._emit("play",u._id);}).catch(function(){E._playLock=!1,E._emit("playerror",u._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),u._ended=!0,u._paused=!0;})):l||(E._playLock=!1,W(),E._emit("play",u._id)),ot.playbackRate=u._rate,ot.paused){E._emit("playerror",u._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");return}c!=="__default"||u._loop?E._endTimers[u._id]=setTimeout(E._ended.bind(E,u),k):(E._endTimers[u._id]=function(){E._ended(u),ot.removeEventListener("ended",E._endTimers[u._id],!1);},ot.addEventListener("ended",E._endTimers[u._id],!1));}catch(yt){E._emit("playerror",u._id,yt);}};ot.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(ot.src=E._src,ot.load());var ut=window&&window.ejecta||!ot.readyState&&i._navigator.isCocoonJS;if(ot.readyState>=3||ut)gt();else {E._playLock=!0,E._state="loading";var Ct=function(){E._state="loaded",gt(),ot.removeEventListener(i._canPlayEvent,Ct,!1);};ot.addEventListener(i._canPlayEvent,Ct,!1),E._clearTimer(u._id);}}return u._id},pause:function(c){var l=this;if(l._state!=="loaded"||l._playLock)return l._queue.push({event:"pause",action:function(){l.pause(c);}}),l;for(var E=l._getSoundIds(c),b=0;b"u"?v._node.bufferSource.noteOff(0):v._node.bufferSource.stop(0),l._cleanBuffer(v._node);}else (!isNaN(v._node.duration)||v._node.duration===1/0)&&v._node.pause();arguments[1]||l._emit("pause",v?v._id:null);}return l},stop:function(c,l){var E=this;if(E._state!=="loaded"||E._playLock)return E._queue.push({event:"stop",action:function(){E.stop(c);}}),E;for(var b=E._getSoundIds(c),v=0;v"u"?w._node.bufferSource.noteOff(0):w._node.bufferSource.stop(0),E._cleanBuffer(w._node)):(!isNaN(w._node.duration)||w._node.duration===1/0)&&(w._node.currentTime=w._start||0,w._node.pause(),w._node.duration===1/0&&E._clearSound(w._node))),l||E._emit("stop",w._id));}return E},mute:function(c,l){var E=this;if(E._state!=="loaded"||E._playLock)return E._queue.push({event:"mute",action:function(){E.mute(c,l);}}),E;if(typeof l>"u")if(typeof c=="boolean")E._muted=c;else return E._muted;for(var b=E._getSoundIds(l),v=0;v"u"){var v=c._getSoundIds(),w=v.indexOf(l[0]);w>=0?b=parseInt(l[0],10):E=parseFloat(l[0]);}else l.length>=2&&(E=parseFloat(l[0]),b=parseInt(l[1],10));var u;if(typeof E<"u"&&E>=0&&E<=1){if(c._state!=="loaded"||c._playLock)return c._queue.push({event:"volume",action:function(){c.volume.apply(c,l);}}),c;typeof b>"u"&&(c._volume=E),b=c._getSoundIds(b);for(var f=0;f"u");}}return v},_startFadeInterval:function(c,l,E,b,v,w){var u=this,f=l,g=E-l,_=Math.abs(g/.01),k=Math.max(4,_>0?b/_:b),z=Date.now();c._fadeTo=E,c._interval=setInterval(function(){var q=(Date.now()-z)/b;z=Date.now(),f+=g*q,f=Math.round(f*100)/100,g<0?f=Math.max(E,f):f=Math.min(E,f),u._webAudio?c._volume=f:u.volume(f,c._id,!0),w&&(u._volume=f),(El&&f>=E)&&(clearInterval(c._interval),c._interval=null,c._fadeTo=null,u.volume(E,c._id),u._emit("fade",c._id));},k);},_stopFade:function(c){var l=this,E=l._soundById(c);return E&&E._interval&&(l._webAudio&&E._node.gain.cancelScheduledValues(i.ctx.currentTime),clearInterval(E._interval),E._interval=null,l.volume(E._fadeTo,c),E._fadeTo=null,l._emit("fade",c)),l},loop:function(){var c=this,l=arguments,E,b,v;if(l.length===0)return c._loop;if(l.length===1)if(typeof l[0]=="boolean")E=l[0],c._loop=E;else return v=c._soundById(parseInt(l[0],10)),v?v._loop:!1;else l.length===2&&(E=l[0],b=parseInt(l[1],10));for(var w=c._getSoundIds(b),u=0;u=0?b=parseInt(l[0],10):E=parseFloat(l[0]);}else l.length===2&&(E=parseFloat(l[0]),b=parseInt(l[1],10));var u;if(typeof E=="number"){if(c._state!=="loaded"||c._playLock)return c._queue.push({event:"rate",action:function(){c.rate.apply(c,l);}}),c;typeof b>"u"&&(c._rate=E),b=c._getSoundIds(b);for(var f=0;f=0?b=parseInt(l[0],10):c._sounds.length&&(b=c._sounds[0]._id,E=parseFloat(l[0]));}else l.length===2&&(E=parseFloat(l[0]),b=parseInt(l[1],10));if(typeof b>"u")return 0;if(typeof E=="number"&&(c._state!=="loaded"||c._playLock))return c._queue.push({event:"seek",action:function(){c.seek.apply(c,l);}}),c;var u=c._soundById(b);if(u)if(typeof E=="number"&&E>=0){var f=c.playing(b);f&&c.pause(b,!0),u._seek=E,u._ended=!1,c._clearTimer(b),!c._webAudio&&u._node&&!isNaN(u._node.duration)&&(u._node.currentTime=E);var g=function(){f&&c.play(b,!0),c._emit("seek",b);};if(f&&!c._webAudio){var _=function(){c._playLock?setTimeout(_,0):g();};setTimeout(_,0);}else g();}else if(c._webAudio){var k=c.playing(b)?i.ctx.currentTime-u._playStart:0,z=u._rateSeek?u._rateSeek-u._seek:0;return u._seek+(z+k*Math.abs(u._rate))}else return u._node.currentTime;return c},playing:function(c){var l=this;if(typeof c=="number"){var E=l._soundById(c);return E?!E._paused:!1}for(var b=0;b=0&&i._howls.splice(b,1);var v=!0;for(E=0;E=0){v=!1;break}return a&&v&&delete a[c._src],i.noAudio=!1,c._state="unloaded",c._sounds=[],c=null,null},on:function(c,l,E,b){var v=this,w=v["_on"+c];return typeof l=="function"&&w.push(b?{id:E,fn:l,once:b}:{id:E,fn:l}),v},off:function(c,l,E){var b=this,v=b["_on"+c],w=0;if(typeof l=="number"&&(E=l,l=null),l||E)for(w=0;w=0;w--)(!v[w].id||v[w].id===l||c==="load")&&(setTimeout(function(u){u.call(this,l,E);}.bind(b,v[w].fn),0),v[w].once&&b.off(c,v[w].fn,v[w].id));return b._loadQueue(c),b},_loadQueue:function(c){var l=this;if(l._queue.length>0){var E=l._queue[0];E.event===c&&(l._queue.shift(),l._loadQueue()),c||E.action();}return l},_ended:function(c){var l=this,E=c._sprite;if(!l._webAudio&&c._node&&!c._node.paused&&!c._node.ended&&c._node.currentTime=0;b--){if(E<=l)return;c._sounds[b]._ended&&(c._webAudio&&c._sounds[b]._node&&c._sounds[b]._node.disconnect(0),c._sounds.splice(b,1),E--);}}},_getSoundIds:function(c){var l=this;if(typeof c>"u"){for(var E=[],b=0;b=0;if(i._scratchBuffer&&c.bufferSource&&(c.bufferSource.onended=null,c.bufferSource.disconnect(0),E))try{c.bufferSource.buffer=i._scratchBuffer;}catch{}return c.bufferSource=null,l},_clearSound:function(c){var l=/MSIE |Trident\//.test(i._navigator&&i._navigator.userAgent);l||(c.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA");}};var r=function(c){this._parent=c,this.init();};r.prototype={init:function(){var c=this,l=c._parent;return c._muted=l._muted,c._loop=l._loop,c._volume=l._volume,c._rate=l._rate,c._seek=0,c._paused=!0,c._ended=!0,c._sprite="__default",c._id=++i._counter,l._sounds.push(c),c.create(),c},create:function(){var c=this,l=c._parent,E=i._muted||c._muted||c._parent._muted?0:c._volume;return l._webAudio?(c._node=typeof i.ctx.createGain>"u"?i.ctx.createGainNode():i.ctx.createGain(),c._node.gain.setValueAtTime(E,i.ctx.currentTime),c._node.paused=!0,c._node.connect(i.masterGain)):i.noAudio||(c._node=i._obtainHtml5Audio(),c._errorFn=c._errorListener.bind(c),c._node.addEventListener("error",c._errorFn,!1),c._loadFn=c._loadListener.bind(c),c._node.addEventListener(i._canPlayEvent,c._loadFn,!1),c._endFn=c._endListener.bind(c),c._node.addEventListener("ended",c._endFn,!1),c._node.src=l._src,c._node.preload=l._preload===!0?"auto":l._preload,c._node.volume=E*i.volume(),c._node.load()),c},reset:function(){var c=this,l=c._parent;return c._muted=l._muted,c._loop=l._loop,c._volume=l._volume,c._rate=l._rate,c._seek=0,c._rateSeek=0,c._paused=!0,c._ended=!0,c._sprite="__default",c._id=++i._counter,c},_errorListener:function(){var c=this;c._parent._emit("loaderror",c._id,c._node.error?c._node.error.code:0),c._node.removeEventListener("error",c._errorFn,!1);},_loadListener:function(){var c=this,l=c._parent;l._duration=Math.ceil(c._node.duration*10)/10,Object.keys(l._sprite).length===0&&(l._sprite={__default:[0,l._duration*1e3]}),l._state!=="loaded"&&(l._state="loaded",l._emit("load"),l._loadQueue()),c._node.removeEventListener(i._canPlayEvent,c._loadFn,!1);},_endListener:function(){var c=this,l=c._parent;l._duration===1/0&&(l._duration=Math.ceil(c._node.duration*10)/10,l._sprite.__default[1]===1/0&&(l._sprite.__default[1]=l._duration*1e3),l._ended(c)),c._node.removeEventListener("ended",c._endFn,!1);}};var a={},n=function(c){var l=c._src;if(a[l]){c._duration=a[l].duration,y(c);return}if(/^data:[^;]+;base64,/.test(l)){for(var E=atob(l.split(",")[1]),b=new Uint8Array(E.length),v=0;v0?(a[l._src]=v,y(l,v)):E();};typeof Promise<"u"&&i.ctx.decodeAudioData.length===1?i.ctx.decodeAudioData(c).then(b).catch(E):i.ctx.decodeAudioData(c,b,E);},y=function(c,l){l&&!c._duration&&(c._duration=l.duration),Object.keys(c._sprite).length===0&&(c._sprite={__default:[0,c._duration*1e3]}),c._state!=="loaded"&&(c._state="loaded",c._emit("load"),c._loadQueue());},P=function(){if(i.usingWebAudio){try{typeof AudioContext<"u"?i.ctx=new AudioContext:typeof webkitAudioContext<"u"?i.ctx=new webkitAudioContext:i.usingWebAudio=!1;}catch{i.usingWebAudio=!1;}i.ctx||(i.usingWebAudio=!1);var c=/iP(hone|od|ad)/.test(i._navigator&&i._navigator.platform),l=i._navigator&&i._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),E=l?parseInt(l[1],10):null;if(c&&E&&E<9){var b=/safari/.test(i._navigator&&i._navigator.userAgent.toLowerCase());i._navigator&&!b&&(i.usingWebAudio=!1);}i.usingWebAudio&&(i.masterGain=typeof i.ctx.createGain>"u"?i.ctx.createGainNode():i.ctx.createGain(),i.masterGain.gain.setValueAtTime(i._muted?0:i._volume,i.ctx.currentTime),i.masterGain.connect(i.ctx.destination)),i._setup();}};typeof define=="function"&&define.amd&&define([],function(){return {Howler:i,Howl:s}}),typeof t<"u"&&(t.Howler=i,t.Howl=s),typeof global<"u"?(global.HowlerGlobal=e,global.Howler=i,global.Howl=s,global.Sound=r):typeof window<"u"&&(window.HowlerGlobal=e,window.Howler=i,window.Howl=s,window.Sound=r);}))(),function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(i){var s=this;if(!s.ctx||!s.ctx.listener)return s;for(var r=s._howls.length-1;r>=0;r--)s._howls[r].stereo(i);return s},HowlerGlobal.prototype.pos=function(i,s,r){var a=this;if(!a.ctx||!a.ctx.listener)return a;if(s=typeof s!="number"?a._pos[1]:s,r=typeof r!="number"?a._pos[2]:r,typeof i=="number")a._pos=[i,s,r],typeof a.ctx.listener.positionX<"u"?(a.ctx.listener.positionX.setTargetAtTime(a._pos[0],Howler.ctx.currentTime,.1),a.ctx.listener.positionY.setTargetAtTime(a._pos[1],Howler.ctx.currentTime,.1),a.ctx.listener.positionZ.setTargetAtTime(a._pos[2],Howler.ctx.currentTime,.1)):a.ctx.listener.setPosition(a._pos[0],a._pos[1],a._pos[2]);else return a._pos;return a},HowlerGlobal.prototype.orientation=function(i,s,r,a,n,p){var h=this;if(!h.ctx||!h.ctx.listener)return h;var y=h._orientation;if(s=typeof s!="number"?y[1]:s,r=typeof r!="number"?y[2]:r,a=typeof a!="number"?y[3]:a,n=typeof n!="number"?y[4]:n,p=typeof p!="number"?y[5]:p,typeof i=="number")h._orientation=[i,s,r,a,n,p],typeof h.ctx.listener.forwardX<"u"?(h.ctx.listener.forwardX.setTargetAtTime(i,Howler.ctx.currentTime,.1),h.ctx.listener.forwardY.setTargetAtTime(s,Howler.ctx.currentTime,.1),h.ctx.listener.forwardZ.setTargetAtTime(r,Howler.ctx.currentTime,.1),h.ctx.listener.upX.setTargetAtTime(a,Howler.ctx.currentTime,.1),h.ctx.listener.upY.setTargetAtTime(n,Howler.ctx.currentTime,.1),h.ctx.listener.upZ.setTargetAtTime(p,Howler.ctx.currentTime,.1)):h.ctx.listener.setOrientation(i,s,r,a,n,p);else return y;return h},Howl.prototype.init=function(i){return function(s){var r=this;return r._orientation=s.orientation||[1,0,0],r._stereo=s.stereo||null,r._pos=s.pos||null,r._pannerAttr={coneInnerAngle:typeof s.coneInnerAngle<"u"?s.coneInnerAngle:360,coneOuterAngle:typeof s.coneOuterAngle<"u"?s.coneOuterAngle:360,coneOuterGain:typeof s.coneOuterGain<"u"?s.coneOuterGain:0,distanceModel:typeof s.distanceModel<"u"?s.distanceModel:"inverse",maxDistance:typeof s.maxDistance<"u"?s.maxDistance:1e4,panningModel:typeof s.panningModel<"u"?s.panningModel:"HRTF",refDistance:typeof s.refDistance<"u"?s.refDistance:1,rolloffFactor:typeof s.rolloffFactor<"u"?s.rolloffFactor:1},r._onstereo=s.onstereo?[{fn:s.onstereo}]:[],r._onpos=s.onpos?[{fn:s.onpos}]:[],r._onorientation=s.onorientation?[{fn:s.onorientation}]:[],i.call(this,s)}}(Howl.prototype.init),Howl.prototype.stereo=function(i,s){var r=this;if(!r._webAudio)return r;if(r._state!=="loaded")return r._queue.push({event:"stereo",action:function(){r.stereo(i,s);}}),r;var a=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof s>"u")if(typeof i=="number")r._stereo=i,r._pos=[i,0,0];else return r._stereo;for(var n=r._getSoundIds(s),p=0;p"u")if(typeof i=="number")n._pos=[i,s,r];else return n._pos;for(var p=n._getSoundIds(a),h=0;h"u")if(typeof i=="number")n._orientation=[i,s,r];else return n._orientation;for(var p=n._getSoundIds(a),h=0;h"u"&&(r.pannerAttr||(r.pannerAttr={coneInnerAngle:r.coneInnerAngle,coneOuterAngle:r.coneOuterAngle,coneOuterGain:r.coneOuterGain,distanceModel:r.distanceModel,maxDistance:r.maxDistance,refDistance:r.refDistance,rolloffFactor:r.rolloffFactor,panningModel:r.panningModel}),i._pannerAttr={coneInnerAngle:typeof r.pannerAttr.coneInnerAngle<"u"?r.pannerAttr.coneInnerAngle:i._coneInnerAngle,coneOuterAngle:typeof r.pannerAttr.coneOuterAngle<"u"?r.pannerAttr.coneOuterAngle:i._coneOuterAngle,coneOuterGain:typeof r.pannerAttr.coneOuterGain<"u"?r.pannerAttr.coneOuterGain:i._coneOuterGain,distanceModel:typeof r.pannerAttr.distanceModel<"u"?r.pannerAttr.distanceModel:i._distanceModel,maxDistance:typeof r.pannerAttr.maxDistance<"u"?r.pannerAttr.maxDistance:i._maxDistance,refDistance:typeof r.pannerAttr.refDistance<"u"?r.pannerAttr.refDistance:i._refDistance,rolloffFactor:typeof r.pannerAttr.rolloffFactor<"u"?r.pannerAttr.rolloffFactor:i._rolloffFactor,panningModel:typeof r.pannerAttr.panningModel<"u"?r.pannerAttr.panningModel:i._panningModel});else return n=i._soundById(parseInt(s[0],10)),n?n._pannerAttr:i._pannerAttr;else s.length===2&&(r=s[0],a=parseInt(s[1],10));for(var p=i._getSoundIds(a),h=0;hyc});var gc,yc,yl=ls(()=>{qs();gc=is((exports,module)=>{typeof navigator<"u"&&function(t,e){typeof define=="function"&&define.amd?define(function(){return e(t)}):typeof module=="object"&&module.exports?module.exports=e(t):(t.lottie=e(t),t.bodymovin=t.lottie);}(self||{},function(window){function workerContent(){function extendPrototype(t,e){var i,s=t.length,r;for(i=0;i1?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[2]+=e,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[0]+=e/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}var rgbToHex=function(){var t=[],e,i;for(e=0;e<256;e+=1)i=e.toString(16),t[e]=i.length===1?"0"+i:i;return function(s,r,a){return s<0&&(s=0),r<0&&(r=0),a<0&&(a=0),"#"+t[s]+t[r]+t[a]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t;},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t;},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t;},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t;},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t;};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(e){return typeof e}:_typeof$5=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(t)}var dataManager=function(){var t=1,e=[],i,s,r={onmessage:function(){},postMessage:function(l){i({data:l});}},a={postMessage:function(l){r.onmessage({data:l});}};function n(l){if(window.Worker&&window.Blob&&getWebWorker()){var E=new Blob(["var _workerSelf = self; self.onmessage = ",l.toString()],{type:"text/javascript"}),b=URL.createObjectURL(E);return new Worker(b)}return i=l,r}function p(){s||(s=n(function(l){function E(){function v(ht,yt){var D,V,S=ht.length,R,tt,J,Gt;for(V=0;V=0;yt-=1)if(ht[yt].ty==="sh")if(ht[yt].ks.k.i)_(ht[yt].ks.k);else for(S=ht[yt].ks.k.length,V=0;VD[0]?!0:D[0]>ht[0]?!1:ht[1]>D[1]?!0:D[1]>ht[1]?!1:ht[2]>D[2]?!0:D[2]>ht[2]?!1:null}var z=function(){var ht=[4,4,14];function yt(V){var S=V.t.d;V.t.d={k:[{s:S,t:0}]};}function D(V){var S,R=V.length;for(S=0;S=0;S-=1)if(V[S].ty==="sh")if(V[S].ks.k.i)V[S].ks.k.c=V[S].closed;else for(J=V[S].ks.k.length,tt=0;tt500)&&(this._imageLoaded(),clearInterval(g)),f+=1;}.bind(this),50);}function a(u){var f=s(u,this.assetsPath,this.path),g=createNS("image");isSafari?this.testImageLoaded(g):g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.setAttributeNS("http://www.w3.org/1999/xlink","href",f),this._elementHelper.append?this._elementHelper.append(g):this._elementHelper.appendChild(g);var _={img:g,assetData:u};return _}function n(u){var f=s(u,this.assetsPath,this.path),g=createTag("img");g.crossOrigin="anonymous",g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.src=f;var _={img:g,assetData:u};return _}function p(u){var f={assetData:u},g=s(u,this.assetsPath,this.path);return dataManager.loadData(g,function(_){f.img=_,this._footageLoaded();}.bind(this),function(){f.img={},this._footageLoaded();}.bind(this)),f}function h(u,f){this.imagesLoadedCb=f;var g,_=u.length;for(g=0;g<_;g+=1)u[g].layers||(!u[g].t||u[g].t==="seq"?(this.totalImages+=1,this.images.push(this._createImageData(u[g]))):u[g].t===3&&(this.totalFootages+=1,this.images.push(this.createFootageData(u[g]))));}function y(u){this.path=u||"";}function P(u){this.assetsPath=u||"";}function c(u){for(var f=0,g=this.images.length;fthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e=this.animationData.layers,i,s=e.length,r=t.layers,a,n=r.length;for(a=0;athis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame");},AnimationItem.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(t){this.triggerRenderFrameError(t);}},AnimationItem.prototype.play=function(t){t&&this.name!==t||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")));},AnimationItem.prototype.pause=function(t){t&&this.name!==t||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause());},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(this.isPaused===!0?this.play():this.pause());},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0));},AnimationItem.prototype.getMarkerData=function(t){for(var e,i=0;i=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(i=!0,e=this.totalFrames-1):e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):e<0?this.checkSegments(e%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(i=!0,e=0)):this.setCurrentRawFrameValue(e),i&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"));}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart");},AnimationItem.prototype.setSegment=function(t,e){var i=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(i=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,i!==-1&&this.goToAndStop(i,!0);},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),_typeof$4(t[0])==="object"){var i,s=t.length;for(i=0;i=0;V-=1)e[V].animation.destroy(D);}function W(D,V,S){var R=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),tt,J=R.length;for(tt=0;tt0?_=W:g=W;while(Math.abs(q)>a&&++ot=r?w(f,mt,g,_):gt===0?mt:v(f,z,z+h,g,_)}},t}(),pooling=function(){function t(e){return e.concat(createSizedArray(e.length))}return {double:t}}(),poolFactory=function(){return function(t,e,i){var s=0,r=t,a=createSizedArray(r),n={newElement:p,release:h};function p(){var y;return s?(s-=1,y=a[s]):y=e(),y}function h(y){s===r&&(a=pooling.double(a),r*=2),i&&i(y),a[s]=y,s+=1;}return n}}(),bezierLengthPool=function(){function t(){return {addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,t)}(),segmentsLengthPool=function(){function t(){return {lengths:[],totalLength:0}}function e(i){var s,r=i.lengths.length;for(s=0;s-.001&&f<.001}function i(l,E,b,v,w,u,f,g,_){if(b===0&&u===0&&_===0)return e(l,E,v,w,f,g);var k=t.sqrt(t.pow(v-l,2)+t.pow(w-E,2)+t.pow(u-b,2)),z=t.sqrt(t.pow(f-l,2)+t.pow(g-E,2)+t.pow(_-b,2)),q=t.sqrt(t.pow(f-v,2)+t.pow(g-w,2)+t.pow(_-u,2)),W;return k>z?k>q?W=k-z-q:W=q-z-k:q>z?W=q-z-k:W=z-k-q,W>-1e-4&&W<1e-4}var s=function(){return function(l,E,b,v){var w=getDefaultCurveSegments(),u,f,g,_,k,z=0,q,W=[],ot=[],mt=bezierLengthPool.newElement();for(g=b.length,u=0;uf?-1:1,k=!0;k;)if(v[u]<=f&&v[u+1]>f?(g=(f-v[u])/(v[u+1]-v[u]),k=!1):u+=_,u<0||u>=w-1){if(u===w-1)return b[u];k=!1;}return b[u]+(b[u+1]-b[u])*g}function y(l,E,b,v,w,u){var f=h(w,u),g=1-f,_=t.round((g*g*g*l[0]+(f*g*g+g*f*g+g*g*f)*b[0]+(f*f*g+g*f*f+f*g*f)*v[0]+f*f*f*E[0])*1e3)/1e3,k=t.round((g*g*g*l[1]+(f*g*g+g*f*g+g*g*f)*b[1]+(f*f*g+g*f*f+f*g*f)*v[1]+f*f*f*E[1])*1e3)/1e3;return [_,k]}var P=createTypedArray("float32",8);function c(l,E,b,v,w,u,f){w<0?w=0:w>1&&(w=1);var g=h(w,f);u=u>1?1:u;var _=h(u,f),k,z=l.length,q=1-g,W=1-_,ot=q*q*q,mt=g*q*q*3,gt=g*g*q*3,ut=g*g*g,Ct=q*q*W,ht=g*q*W+q*g*W+q*q*_,yt=g*g*W+q*g*_+g*q*_,D=g*g*_,V=q*W*W,S=g*W*W+q*_*W+q*W*_,R=g*_*W+q*_*_+g*W*_,tt=g*_*_,J=W*W*W,Gt=_*W*W+W*_*W+W*W*_,Vt=_*_*W+W*_*_+_*W*_,Xt=_*_*_;for(k=0;k=y.t-i){h.h&&(h=y),r=0;break}if(y.t-i>t){r=a;break}a=u||t=u?_.points.length-1:0;for(l=_.points[k].point.length,c=0;c=W&&z=u)s[0]=g[0],s[1]=g[1],s[2]=g[2];else if(t<=f)s[0]=h.s[0],s[1]=h.s[1],s[2]=h.s[2];else {var ht=createQuaternion(h.s),yt=createQuaternion(g),D=(t-f)/(u-f);quaternionToEuler(s,slerp(ht,yt,D));}else for(a=0;a=u?E=1:t1e-6?(l=Math.acos(E),b=Math.sin(l),v=Math.sin((1-i)*l)/b,w=Math.sin(i*l)/b):(v=1-i,w=i),s[0]=v*r+w*h,s[1]=v*a+w*y,s[2]=v*n+w*P,s[3]=v*p+w*c,s}function quaternionToEuler(t,e){var i=e[0],s=e[1],r=e[2],a=e[3],n=Math.atan2(2*s*a-2*i*r,1-2*s*s-2*r*r),p=Math.asin(2*i*s+2*r*a),h=Math.atan2(2*i*a-2*s*r,1-2*i*i-2*r*r);t[0]=n/degToRads,t[1]=p/degToRads,t[2]=h/degToRads;}function createQuaternion(t){var e=t[0]*degToRads,i=t[1]*degToRads,s=t[2]*degToRads,r=Math.cos(e/2),a=Math.cos(i/2),n=Math.cos(s/2),p=Math.sin(e/2),h=Math.sin(i/2),y=Math.sin(s/2),P=r*a*n-p*h*y,c=p*h*n+r*a*y,l=p*a*n+r*h*y,E=r*h*n-p*a*y;return [c,l,E,P]}function getValueAtCurrentTime(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=i&&t>=i||this._caching.lastFrame=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var s=this.interpolateValue(t,this._caching);this.pv=s;}return this._caching.lastFrame=t,this.pv}function setVValue(t){var e;if(this.propType==="unidimensional")e=t*this.mult,mathAbs(this.v-e)>1e-5&&(this.v=e,this._mdf=!0);else for(var i=0,s=this.v.length;i1e-5&&(this.v[i]=e,this._mdf=!0),i+=1;}function processEffectsSequence(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var t,e=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),i){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[];break}(!a[s]||a[s]&&!r)&&(a[s]=pointPool.newElement()),a[s][0]=t,a[s][1]=e;},ShapePath.prototype.setTripleAt=function(t,e,i,s,r,a,n,p){this.setXYAt(t,e,"v",n,p),this.setXYAt(i,s,"o",n,p),this.setXYAt(r,a,"i",n,p);},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,i=this.o,s=this.i,r=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],s[0][0],s[0][1],i[0][0],i[0][1],0,!1),r=1);var a=this._length-1,n=this._length,p;for(p=r;p=ht[ht.length-1].t-this.offsetTime)k=ht[ht.length-1].s?ht[ht.length-1].s[0]:ht[ht.length-2].e[0],q=!0;else {for(var yt=_,D=ht.length-1,V=!0,S,R,tt;V&&(S=ht[yt],R=ht[yt+1],!(R.t-this.offsetTime>u));)yt=R.t-this.offsetTime)ut=1;else if(ug&&u>g)||(this._caching.lastIndex=_0||S>-1e-6&&S<0?s(S*R)/R:S}function V(){var S=this.props,R=D(S[0]),tt=D(S[1]),J=D(S[4]),Gt=D(S[5]),Vt=D(S[12]),Xt=D(S[13]);return "matrix("+R+","+tt+","+J+","+Gt+","+Vt+","+Xt+")"}return function(){this.reset=r,this.rotate=a,this.rotateX=n,this.rotateY=p,this.rotateZ=h,this.skew=P,this.skewFromAxis=c,this.shear=y,this.scale=l,this.setTransform=E,this.translate=b,this.transform=v,this.multiply=w,this.applyToPoint=k,this.applyToX=z,this.applyToY=q,this.applyToZ=W,this.applyToPointArray=Ct,this.applyToTriplePoints=ut,this.applyToPointStringified=ht,this.toCSS=yt,this.to2dCSS=V,this.clone=g,this.cloneFromProps=_,this.equals=f,this.inversePoints=gt,this.inversePoint=mt,this.getInverseMatrix=ot,this._t=this.transform,this.isIdentity=u,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset();}}();function _typeof$3(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(e){return typeof e}:_typeof$3=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(t)}var lottie={};function setLocation(t){setLocationHref(t);}function searchAnimations(){animationManager.searchAnimations();}function setSubframeRendering(t){setSubframeEnabled(t);}function setPrefix(t){setIdPrefix(t);}function loadAnimation(t){return animationManager.loadAnimation(t)}function setQuality(t){if(typeof t=="string")switch(t){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else !isNaN(t)&&t>1&&setDefaultCurveSegments(t);}function inBrowser(){return typeof navigator<"u"}function installPlugin(t,e){t==="expressions"&&setExpressionsPlugin(e);}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations());}function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i"u"?"undefined":_typeof$3(exports))==="object"&&typeof module<"u")&&!(typeof define=="function"&&define.amd)&&(window.bodymovin=lottie);}catch(t){}var ShapeModifiers=function(){var t={},e={};t.registerModifier=i,t.getModifier=s;function i(r,a){e[r]||(e[r]=a);}function s(r,a,n){return new e[r](a,n)}return t}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(t){if(!this.closed){t.sh.container.addDynamicProperty(t.sh);var e={shape:t.sh,data:t,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated&&t.setAsAnimated();}},ShapeModifier.prototype.init=function(t,e){this.shapes=[],this.elem=t,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0);},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties());},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(t,e){this.s=PropertyFactory.getProp(t,e.s,0,.01,this),this.e=PropertyFactory.getProp(t,e.e,0,.01,this),this.o=PropertyFactory.getProp(t,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;},TrimModifier.prototype.addShapeToModifier=function(t){t.pathsData=[];},TrimModifier.prototype.calculateShapeEdges=function(t,e,i,s,r){var a=[];e<=1?a.push({s:t,e}):t>=1?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n=[],p,h=a.length,y;for(p=0;ps+i)){var P,c;y.s*r<=s?P=0:P=(y.s*r-s)/i,y.e*r>=s+i?c=1:c=(y.e*r-s)/i,n.push([P,c]);}return n.length||n.push([0,0]),n},TrimModifier.prototype.releasePathsData=function(t){var e,i=t.length;for(e=0;e1?e=1+s:this.s.v<0?e=0+s:e=this.s.v+s,this.e.v>1?i=1+s:this.e.v<0?i=0+s:i=this.e.v+s,e>i){var r=e;e=i,i=r;}e=Math.round(e*1e4)*1e-4,i=Math.round(i*1e4)*1e-4,this.sValue=e,this.eValue=i;}else e=this.sValue,i=this.eValue;var a,n,p=this.shapes.length,h,y,P,c,l,E=0;if(i===e)for(n=0;n=0;n-=1)if(v=this.shapes[n],v.shape._mdf){for(w=v.localShapeCollection,w.releaseShapes(),this.m===2&&p>1?(_=this.calculateShapeEdges(e,i,v.totalShapeLength,g,E),g+=v.totalShapeLength):_=[[u,f]],y=_.length,h=0;h=1?b.push({s:v.totalShapeLength*(u-1),e:v.totalShapeLength*(f-1)}):(b.push({s:v.totalShapeLength*u,e:v.totalShapeLength}),b.push({s:0,e:v.totalShapeLength*(f-1)}));var k=this.addShapes(v,b[0]);if(b[0].s!==b[0].e){if(b.length>1){var z=v.shape.paths.shapes[v.shape.paths._length-1];if(z.c){var q=k.pop();this.addPaths(k,w),k=this.addShapes(v,b[1],q);}else this.addPaths(k,w),k=this.addShapes(v,b[1]);}this.addPaths(k,w);}}v.shape.paths=w;}}},TrimModifier.prototype.addPaths=function(t,e){var i,s=t.length;for(i=0;ie.e){i.c=!1;break}else e.s<=y&&e.e>=y+P.addedLength?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[p],r[a].v[p],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[p],r[a].o[p-1],r[a].i[p],(e.s-y)/P.addedLength,(e.e-y)/P.addedLength,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1),y+=P.addedLength,c+=1;if(r[a].c&&l.length){if(P=l[p-1],y<=e.e){var u=l[p-1].addedLength;e.s<=y&&e.e>=y+u?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[0],r[a].v[0],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[0],r[a].o[p-1],r[a].i[0],(e.s-y)/u,(e.e-y)/u,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1);}else i.c=!1;y+=P.addedLength,c+=1;}if(i._length&&(i.setXYAt(i.v[v][0],i.v[v][1],"i",v),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),y>e.e)break;a=this.p.keyframes[this.p.keyframes.length-1].t?(P=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/y,0),c=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/y,0)):(P=this.p.pv,c=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/y,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){P=[],c=[];var l=this.px,E=this.py;l._caching.lastFrame+l.offsetTime<=l.keyframes[0].t?(P[0]=l.getValueAtTime((l.keyframes[0].t+.01)/y,0),P[1]=E.getValueAtTime((E.keyframes[0].t+.01)/y,0),c[0]=l.getValueAtTime(l.keyframes[0].t/y,0),c[1]=E.getValueAtTime(E.keyframes[0].t/y,0)):l._caching.lastFrame+l.offsetTime>=l.keyframes[l.keyframes.length-1].t?(P[0]=l.getValueAtTime(l.keyframes[l.keyframes.length-1].t/y,0),P[1]=E.getValueAtTime(E.keyframes[E.keyframes.length-1].t/y,0),c[0]=l.getValueAtTime((l.keyframes[l.keyframes.length-1].t-.01)/y,0),c[1]=E.getValueAtTime((E.keyframes[E.keyframes.length-1].t-.01)/y,0)):(P=[l.pv,E.pv],c[0]=l.getValueAtTime((l._caching.lastFrame+l.offsetTime-.01)/y,l.offsetTime),c[1]=E.getValueAtTime((E._caching.lastFrame+E.offsetTime-.01)/y,E.offsetTime));}else c=t,P=c;this.v.rotate(-Math.atan2(P[1]-c[1],P[0]-c[0]));}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}this.frameId=this.elem.globalData.frameId;}}function s(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4);}function r(){}function a(h){this._addDynamicProperty(h),this.elem.addDynamicProperty(h),this._isDirty=!0;}function n(h,y,P){if(this.elem=h,this.frameId=-1,this.propType="transform",this.data=y,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(P||h),y.p&&y.p.s?(this.px=PropertyFactory.getProp(h,y.p.x,0,0,this),this.py=PropertyFactory.getProp(h,y.p.y,0,0,this),y.p.z&&(this.pz=PropertyFactory.getProp(h,y.p.z,0,0,this))):this.p=PropertyFactory.getProp(h,y.p||{k:[0,0,0]},1,0,this),y.rx){if(this.rx=PropertyFactory.getProp(h,y.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(h,y.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(h,y.rz,0,degToRads,this),y.or.k[0].ti){var c,l=y.or.k.length;for(c=0;c0;)i-=1,this._elements.unshift(e[i]);this.dynamicProperties.length?this.k=!0:this.getValue(!0);},RepeaterModifier.prototype.resetElements=function(t){var e,i=t.length;for(e=0;e0?Math.floor(l):Math.ceil(l),v=this.pMatrix.props,w=this.rMatrix.props,u=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var f=0;if(l>0){for(;fb;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),f-=1;E&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-E,!0),f-=E);}s=this.data.m===1?0:this._currentCopies-1,r=this.data.m===1?1:-1,a=this._currentCopies;for(var g,_;a;){if(e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,_=i.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(s/(this._currentCopies-1)),f!==0){for((s!==0&&r===1||s!==this._currentCopies-1&&r===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9],w[10],w[11],w[12],w[13],w[14],w[15]),this.matrix.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),this.matrix.transform(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15]),g=0;g<_;g+=1)i[g]=this.matrix.props[g];this.matrix.reset();}else for(this.matrix.reset(),g=0;g<_;g+=1)i[g]=this.matrix.props[g];f+=1,a-=1,s+=r;}}else for(a=this._currentCopies,s=0,r=1;a;)e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,a-=1,s+=r;return n},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(t,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length;},RoundCornersModifier.prototype.processPath=function(t,e){var i=shapePool.newElement();i.c=t.c;var s,r=t._length,a,n,p,h,y,P,c=0,l,E,b,v,w,u;for(s=0;s0&&s<1?[e]:[]:[e-s,e+s].filter(function(r){return r>0&&r<1})},PolynomialBezier.prototype.split=function(t){if(t<=0)return [singlePoint(this.points[0]),this];if(t>=1)return [this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),i=lerpPoint(this.points[1],this.points[2],t),s=lerpPoint(this.points[2],this.points[3],t),r=lerpPoint(e,i,t),a=lerpPoint(i,s,t),n=lerpPoint(r,a,t);return [new PolynomialBezier(this.points[0],e,r,n,!0),new PolynomialBezier(n,a,s,this.points[3],!0)]};function extrema(t,e){var i=t.points[0][e],s=t.points[t.points.length-1][e];if(i>s){var r=s;s=i,i=r;}for(var a=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),n=0;n0&&a[n]<1){var p=t.point(a[n])[e];ps&&(s=p);}return {min:i,max:s}}PolynomialBezier.prototype.bounds=function(){return {x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return {left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}};function intersectData(t,e,i){var s=t.boundingBox();return {cx:s.cx,cy:s.cy,width:s.width,height:s.height,bez:t,t:(e+i)/2,t1:e,t2:i}}function splitData(t){var e=t.bez.split(.5);return [intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return Math.abs(t.cx-e.cx)*2=a||t.width<=s&&t.height<=s&&e.width<=s&&e.height<=s){r.push([t.t,e.t]);return}var n=splitData(t),p=splitData(e);intersectsImpl(n[0],p[0],i+1,s,r,a),intersectsImpl(n[0],p[1],i+1,s,r,a),intersectsImpl(n[1],p[0],i+1,s,r,a),intersectsImpl(n[1],p[1],i+1,s,r,a);}}PolynomialBezier.prototype.intersections=function(t,e,i){e===void 0&&(e=2),i===void 0&&(i=7);var s=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,s,i),s},PolynomialBezier.shapeSegment=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[i],t.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[i],t.i[i],t.o[e],t.v[e],!0)};function crossProduct(t,e){return [t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,i,s){var r=[t[0],t[1],1],a=[e[0],e[1],1],n=[i[0],i[1],1],p=[s[0],s[1],1],h=crossProduct(crossProduct(r,a),crossProduct(n,p));return floatZero(h[2])?null:[h[0]/h[2],h[1]/h[2]]}function polarOffset(t,e,i){return [t[0]+Math.cos(e)*i,t[1]-Math.sin(e)*i]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function setPoint(t,e,i,s,r,a,n){var p=i-Math.PI/2,h=i+Math.PI/2,y=e[0]+Math.cos(i)*s*r,P=e[1]-Math.sin(i)*s*r;t.setTripleAt(y,P,y+Math.cos(p)*a,P-Math.sin(p)*a,y+Math.cos(h)*n,P-Math.sin(h)*n,t.length());}function getPerpendicularVector(t,e){var i=[e[0]-t[0],e[1]-t[1]],s=-Math.PI*.5,r=[Math.cos(s)*i[0]-Math.sin(s)*i[1],Math.sin(s)*i[0]+Math.cos(s)*i[1]];return r}function getProjectingAngle(t,e){var i=e===0?t.length()-1:e-1,s=(e+1)%t.length(),r=t.v[i],a=t.v[s],n=getPerpendicularVector(r,a);return Math.atan2(0,1)-Math.atan2(n[1],n[0])}function zigZagCorner(t,e,i,s,r,a,n){var p=getProjectingAngle(e,i),h=e.v[i%e._length],y=e.v[i===0?e._length-1:i-1],P=e.v[(i+1)%e._length],c=a===2?Math.sqrt(Math.pow(h[0]-y[0],2)+Math.pow(h[1]-y[1],2)):0,l=a===2?Math.sqrt(Math.pow(h[0]-P[0],2)+Math.pow(h[1]-P[1],2)):0;setPoint(t,e.v[i%e._length],p,n,s,l/((r+1)*2),c/((r+1)*2));}function zigZagSegment(t,e,i,s,r,a){for(var n=0;n1&&e.length>1&&(r=getIntersection(t[0],e[e.length-1]),r)?[[t[0].split(r[0])[0]],[e[e.length-1].split(r[1])[1]]]:[i,s]}function pruneIntersections(t){for(var e,i=1;i1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var i=t.inflectionPoints(),s,r,a,n;if(i.length===0)return [offsetSegment(t,e)];if(i.length===1||floatEqual(i[1],1))return a=t.split(i[0]),s=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(r,e)];a=t.split(i[0]),s=a[0];var p=(i[1]-i[0])/(1-i[0]);return a=a[1].split(p),n=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(n,e),offsetSegment(r,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(t,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0;},OffsetPathModifier.prototype.processPath=function(t,e,i,s){var r=shapePool.newElement();r.c=t.c;var a=t.length();t.c||(a-=1);var n,p,h,y=[];for(n=0;n=0;n-=1)h=PolynomialBezier.shapeSegmentInverted(t,n),y.push(offsetSegmentSplit(h,e));y=pruneIntersections(y);var P=null,c=null;for(n=0;n0&&(Gt=!1),Gt){var Ht=createTag("style");Ht.setAttribute("f-forigin",S[R].fOrigin),Ht.setAttribute("f-origin",S[R].origin),Ht.setAttribute("f-family",S[R].fFamily),Ht.type="text/css",Ht.innerText="@font-face {font-family: "+S[R].fFamily+"; font-style: normal; src: url('"+S[R].fPath+"');}",V.appendChild(Ht);}}else if(S[R].fOrigin==="g"||S[R].origin===1){for(Vt=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),Xt=0;Xt=55296&&S<=56319){var R=D.charCodeAt(1);R>=56320&&R<=57343&&(V=(S-55296)*1024+R-56320+65536);}return V}function z(D,V){var S=D.toString(16)+V.toString(16);return c.indexOf(S)!==-1}function q(D){return D===h}function W(D){return D===p}function ot(D){var V=k(D);return V>=y&&V<=P}function mt(D){return ot(D.substr(0,2))&&ot(D.substr(2,2))}function gt(D){return i.indexOf(D)!==-1}function ut(D,V){var S=k(D.substr(V,2));if(S!==s)return !1;var R=0;for(V+=2;R<5;){if(S=k(D.substr(V,2)),Sn)return !1;R+=1,V+=2;}return k(D.substr(V,2))===r}function Ct(){this.isLoaded=!0;}var ht=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};ht.isModifier=z,ht.isZeroWidthJoiner=q,ht.isFlagEmoji=mt,ht.isRegionalCode=ot,ht.isCombinedCharacter=gt,ht.isRegionalFlag=ut,ht.isVariationSelector=W,ht.BLACK_FLAG_CODE_POINT=s;var yt={addChars:u,addFonts:w,getCharData:f,getFontByName:_,measureText:g,checkLoadedFonts:b,setIsLoaded:Ct};return ht.prototype=yt,ht}();function SlotManager(t){this.animationData=t;}SlotManager.prototype.getProp=function(t){return this.animationData.slots&&this.animationData.slots[t.sid]?Object.assign(t,this.animationData.slots[t.sid].p):t};function slotFactory(t){return new SlotManager(t)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[];},addRenderableComponent:function(t){this.renderableComponents.indexOf(t)===-1&&this.renderableComponents.push(t);},removeRenderableComponent:function(t){this.renderableComponents.indexOf(t)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(t),1);},prepareRenderableFrame:function(t){this.checkLayerLimits(t);},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show());},checkLayerLimits:function(t){this.data.ip-this.data.st<=t&&this.data.op-this.data.st>t?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide());},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0));},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1;},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1;},AudioElement.prototype.resume=function(){this._canPlay=!0;},AudioElement.prototype.setRate=function(t){this.audio.rate(t);},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume);},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(t){var e,i=this.layers.length,s;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(s=this.layers[e],s.ip-s.st<=t-this.layers[e].st&&s.op-s.st>t-this.layers[e].st&&this.buildItem(e)),this.completeLayers=this.elements[e]?this.completeLayers:!1;this.checkPendingElements();},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t0&&(this.maskElement.setAttribute("id",l),this.element.maskedElement.setAttribute(f,"url("+getLocationHref()+"#"+l+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this);}MaskElement.prototype.getMaskProperty=function(t){return this.viewData[t].prop},MaskElement.prototype.renderFrame=function(t){var e=this.element.finalTransform.mat,i,s=this.masksProperties.length;for(i=0;i1&&(s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),i.lastPath!==s){var n="";i.elem&&(e.c&&(n=t.inv?this.solidPath+s:s),i.elem.setAttribute("d",n)),i.lastPath=s;}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null;};var filtersFactory=function(){var t={};t.createFilter=e,t.createAlphaToLuminanceFilter=i;function e(s,r){var a=createNS("filter");return a.setAttribute("id",s),r!==!0&&(a.setAttribute("filterUnits","objectBoundingBox"),a.setAttribute("x","0%"),a.setAttribute("y","0%"),a.setAttribute("width","100%"),a.setAttribute("height","100%")),a}function i(){var s=createNS("feColorMatrix");return s.setAttribute("type","matrix"),s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),s}return t}(),featureSupport=function(){var t={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return (/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),/firefox/i.test(navigator.userAgent)&&(t.svgLumaHidden=!1),t}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(t){var e,i="SourceGraphic",s=t.data.ef?t.data.ef.length:0,r=createElementID(),a=filtersFactory.createFilter(r,!0),n=0;this.filters=[];var p;for(e=0;e=0&&(i=this.shapeModifiers[t].processShapes(this._isFirstFrame),!i);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,i=0,s=e.length;i.01)return !1;i+=1;}return !0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return !1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)u=l.transformers[ot].mProps._mdf||u,W-=1,ot-=1;if(u)for(W=k-l.styles[g].lvl,ot=l.transformers.length-1;W>0;)q.multiply(l.transformers[ot].mProps.v),W-=1,ot-=1;}else q=t;if(z=l.sh.paths,v=z._length,u){for(w="",b=0;b=1?Ct=.99:Ct<=-1&&(Ct=-.99);var ht=gt*Ct,yt=Math.cos(ut+l.a.v)*ht+w[0],D=Math.sin(ut+l.a.v)*ht+w[1];b.setAttribute("fx",yt),b.setAttribute("fy",D),v&&!l.g._collapsable&&(l.of.setAttribute("fx",yt),l.of.setAttribute("fy",D));}}}function P(c,l,E){var b=l.style,v=l.d;v&&(v._mdf||E)&&v.dashStr&&(b.pElem.setAttribute("stroke-dasharray",v.dashStr),b.pElem.setAttribute("stroke-dashoffset",v.dashoffset[0])),l.c&&(l.c._mdf||E)&&b.pElem.setAttribute("stroke","rgb("+bmFloor(l.c.v[0])+","+bmFloor(l.c.v[1])+","+bmFloor(l.c.v[2])+")"),(l.o._mdf||E)&&b.pElem.setAttribute("stroke-opacity",l.o.v),(l.w._mdf||E)&&(b.pElem.setAttribute("stroke-width",l.w.v),b.msElem&&b.msElem.setAttribute("stroke-width",l.w.v));}return i}();function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,i),this.prevViewData=[];}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes();},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e=this.shapes.length,i,s,r=this.stylesList.length,a,n=[],p=!1;for(s=0;s1&&p&&this.setShapesAsAnimated(n);}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,i=t.length;for(e=0;e=0;h-=1){if(w=this.searchProcessedElement(t[h]),w?e[h]=i[w-1]:t[h]._render=n,t[h].ty==="fl"||t[h].ty==="st"||t[h].ty==="gf"||t[h].ty==="gs"||t[h].ty==="no")w?e[h].style.closed=!1:e[h]=this.createStyleElement(t[h],r),t[h]._render&&e[h].style.pElem.parentNode!==s&&s.appendChild(e[h].style.pElem),l.push(e[h].style);else if(t[h].ty==="gr"){if(!w)e[h]=this.createGroupElement(t[h]);else for(c=e[h].it.length,P=0;P1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this);},TextProperty.prototype.getValue=function(t){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!t)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var s,r=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(s=0;se);)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e=[],i=0,s=t.length,r,a,n=!1,p=!1,h="";i=55296&&r<=56319?FontManager.isRegionalFlag(t,i)?h=t.substr(i,14):(a=t.charCodeAt(i+1),a>=56320&&a<=57343&&(FontManager.isModifier(r,a)?(h=t.substr(i,2),n=!0):FontManager.isFlagEmoji(t.substr(i,4))?h=t.substr(i,4):h=t.substr(i,2))):r>56319?(a=t.charCodeAt(i+1),FontManager.isVariationSelector(r)&&(n=!0)):FontManager.isZeroWidthJoiner(r)&&(n=!0,p=!0),n?(e[e.length-1]+=h,n=!1):e.push(h),i+=h.length;return e},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e=this.elem.globalData.fontManager,i=this.data,s=[],r,a,n,p=0,h,y=i.m.g,P=0,c=0,l=0,E=[],b=0,v=0,w,u,f=e.getFontByName(t.f),g,_=0,k=getFontProperties(f);t.fWeight=k.weight,t.fStyle=k.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),a=t.finalText.length,t.finalLineHeight=t.lh;var z=t.tr/1e3*t.finalSize,q;if(t.sz)for(var W=!0,ot=t.sz[0],mt=t.sz[1],gt,ut;W;){ut=this.buildFinalText(t.t),gt=0,b=0,a=ut.length,z=t.tr/1e3*t.finalSize;var Ct=-1;for(r=0;rot&&ut[r]!==" "?(Ct===-1?a+=1:r=Ct,gt+=t.finalLineHeight||t.finalSize*1.2,ut.splice(r,Ct===r?1:0,"\r"),Ct=-1,b=0):(b+=_,b+=z);gt+=f.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&mtv?b:v,b=-2*z,h="",n=!0,l+=1):h=yt,e.chars?(g=e.getCharData(yt,f.fStyle,e.getFontByName(t.f).fFamily),_=n?0:g.w*t.finalSize/100):_=e.measureText(h,t.f,t.finalSize),yt===" "?ht+=_+z:(b+=_+z+ht,ht=0),s.push({l:_,an:_,add:P,n,anIndexes:[],val:h,line:l,animatorJustifyOffset:0}),y==2){if(P+=_,h===""||h===" "||r===a-1){for((h===""||h===" ")&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;p+=1,P=0;}}else if(y==3){if(P+=_,h===""||r===a-1){for(h===""&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;P=0,p+=1;}}else s[p].ind=p,s[p].extra=0,p+=1;if(t.l=s,v=b>v?b:v,E.push(b),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0;}t.lineWidths=E;var D=i.a,V,S;u=D.length;var R,tt,J=[];for(w=0;w0?n=this.ne.v/100:p=-this.ne.v/100,this.xe.v>0?h=1-this.xe.v/100:y=1+this.xe.v/100;var P=BezierFactory.getBezierEasing(n,p,h,y).get,c=0,l=this.finalS,E=this.finalE,b=this.data.sh;if(b===2)E===l?c=a>=E?1:0:c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===3)E===l?c=a>=E?0:1:c=1-t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===4)E===l?c=0:(c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c<.5?c*=2:c=1-2*(c-.5)),c=P(c);else if(b===5){if(E===l)c=0;else {var v=E-l;a=e(t(0,a+.5-l),E-l);var w=-v/2+a,u=v/2;c=Math.sqrt(1-w*w/(u*u));}c=P(c);}else b===6?(E===l?c=0:(a=e(t(0,a+.5-l),E-l),c=(1+Math.cos(Math.PI+Math.PI*2*a/(E-l)))/2),c=P(c)):(a>=i(l)&&(a-l<0?c=t(0,e(e(E,1)-(l-a),1)):c=t(0,e(E-a,1))),c=P(c));if(this.sm.v!==100){var f=this.sm.v*.01;f===0&&(f=1e-8);var g=.5-f*.5;c1&&(c=1));}return c*this.a.v},getValue:function(a){this.iterateDynamicProperties(),this._mdf=a||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,a&&this.data.r===2&&(this.e.v=this._currentTextLength);var n=this.data.r===2?1:100/this.data.totalChars,p=this.o.v/n,h=this.s.v/n+p,y=this.e.v/n+p;if(h>y){var P=h;h=y,y=P;}this.finalS=h,this.finalE=y;}},extendPrototype([DynamicPropertyContainer],s);function r(a,n,p){return new s(a,n)}return {getTextSelectorProp:r}}();function TextAnimatorDataProperty(t,e,i){var s={propType:!1},r=PropertyFactory.getProp,a=e.a;this.a={r:a.r?r(t,a.r,0,degToRads,i):s,rx:a.rx?r(t,a.rx,0,degToRads,i):s,ry:a.ry?r(t,a.ry,0,degToRads,i):s,sk:a.sk?r(t,a.sk,0,degToRads,i):s,sa:a.sa?r(t,a.sa,0,degToRads,i):s,s:a.s?r(t,a.s,1,.01,i):s,a:a.a?r(t,a.a,1,0,i):s,o:a.o?r(t,a.o,0,.01,i):s,p:a.p?r(t,a.p,1,0,i):s,sw:a.sw?r(t,a.sw,0,0,i):s,sc:a.sc?r(t,a.sc,1,0,i):s,fc:a.fc?r(t,a.fc,1,0,i):s,fh:a.fh?r(t,a.fh,0,0,i):s,fs:a.fs?r(t,a.fs,0,.01,i):s,fb:a.fb?r(t,a.fb,0,.01,i):s,t:a.t?r(t,a.t,0,0,i):s},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,i),this.s.t=e.s.t;}function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i);}TextAnimatorProperty.prototype.searchProperties=function(){var t,e=this._textData.a.length,i,s=PropertyFactory.getProp;for(t=0;t=b+oe||!k?(ot=(b+oe-w)/v.partialLength,Xt=_.point[0]+(v.point[0]-_.point[0])*ot,Ht=_.point[1]+(v.point[1]-_.point[1])*ot,a.translate(-i[0]*l[P].an*.005,-(i[1]*ht)*.01),u=!1):k&&(w+=v.partialLength,f+=1,f>=k.length&&(f=0,g+=1,z[g]?k=z[g].points:gt.v.c?(f=0,g=0,k=z[g].points):(w-=v.partialLength,k=null)),k&&(_=v,v=k[f],q=v.partialLength));Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0);}else Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0),a.translate(-i[0]*l[P].an*.005,-i[1]*ht*.01,0);for(S=0;St?this.textSpans[t].span:createNS(p?"g":"text"),g<=t){if(h.setAttribute("stroke-linecap","butt"),h.setAttribute("stroke-linejoin","round"),h.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=h,p){var k=createNS("g");h.appendChild(k),this.textSpans[t].childSpan=k;}this.textSpans[t].span=h,this.layerElement.appendChild(h);}h.style.display="inherit";}if(y.reset(),c&&(n[t].n&&(l=-v,E+=i.yOffset,E+=b?1:0,b=!1),this.applyTextPropertiesToMatrix(i,y,n[t].line,l,E),l+=n[t].l||0,l+=v),p){_=this.globalData.fontManager.getCharData(i.finalText[t],s.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily);var z;if(_.t===1)z=new SVGCompElement(_.data,this.globalData,this);else {var q=emptyShapeData;_.data&&_.data.shapes&&(q=this.buildShapeData(_.data,i.finalSize)),z=new SVGShapeElement(q,this.globalData,this);}if(this.textSpans[t].glyph){var W=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(W.layerElement),W.destroy();}this.textSpans[t].glyph=z,z._debug=!0,z.prepareFrame(0),z.renderFrame(),this.textSpans[t].childSpan.appendChild(z.layerElement),_.t===1&&this.textSpans[t].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")");}else c&&h.setAttribute("transform","translate("+y.props[12]+","+y.props[13]+")"),h.textContent=n[t].val,h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");}c&&h&&h.setAttribute("d",P);}for(;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;i-=1)(this.completeLayers||this.elements[i])&&(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf&&(this._mdf=!0));}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=0;i-=1)t.finalTransform.multiply(t.transforms[i].transform.mProps.v);t._mdf=r;},processSequences:function(t){var e,i=this.sequenceList.length;for(e=0;e=1){this.buffers=[];var t=this.globalData.canvasContext,e=assetLoader.createCanvas(t.canvas.width,t.canvas.height);this.buffers.push(e);var i=assetLoader.createCanvas(t.canvas.width,t.canvas.height);this.buffers.push(i),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas();}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms();},createContent:function(){},setBlendMode:function(){var t=this.globalData;if(t.blendMode!==this.data.bm){t.blendMode=this.data.bm;var e=getBlendMode(this.data.bm);t.canvasContext.globalCompositeOperation=e;}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0);},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0);},clearCanvas:function(t){t.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy);},prepareLayer:function(){if(this.data.tt>=1){var t=this.buffers[0],e=t.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);}},exitLayer:function(){if(this.data.tt>=1){var t=this.buffers[1],e=t.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var i=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(i.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var s=assetLoader.getLumaCanvas(this.canvasContext.canvas),r=s.getContext("2d");r.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(s,0,0);}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(t,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over";}},renderFrame:function(t){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!t)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var e=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(e),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(e),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1);}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy();},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(t,e,i,s){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var r=4;e.ty==="rc"?r=5:e.ty==="el"?r=6:e.ty==="sr"&&(r=7),this.sh=ShapePropertyFactory.getShapeProp(t,e,r,t);var a,n=i.length,p;for(a=0;a=0;a-=1){if(c=this.searchProcessedElement(t[a]),c?e[a]=i[c-1]:t[a]._shouldRender=s,t[a].ty==="fl"||t[a].ty==="st"||t[a].ty==="gf"||t[a].ty==="gs")c?e[a].style.closed=!1:e[a]=this.createStyleElement(t[a],b),y.push(e[a].style);else if(t[a].ty==="gr"){if(!c)e[a]=this.createGroupElement(t[a]);else for(h=e[a].it.length,p=0;p=0;r-=1)e[r].ty==="tr"?(n=i[r].transform,this.renderShapeTransform(t,n)):e[r].ty==="sh"||e[r].ty==="el"||e[r].ty==="rc"||e[r].ty==="sr"?this.renderPath(e[r],i[r]):e[r].ty==="fl"?this.renderFill(e[r],i[r],n):e[r].ty==="st"?this.renderStroke(e[r],i[r],n):e[r].ty==="gf"||e[r].ty==="gs"?this.renderGradientFill(e[r],i[r],n):e[r].ty==="gr"?this.renderShape(n,e[r].it,i[r].it):e[r].ty;s&&this.drawLayer();},CVShapeElement.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var i=t.trNodes,s=e.paths,r,a,n,p=s._length;i.length=0;var h=t.transforms.finalTransform;for(n=0;n=1?P=.99:P<=-1&&(P=-.99);var c=h*P,l=Math.cos(y+e.a.v)*c+n[0],E=Math.sin(y+e.a.v)*c+n[1];r=a.createRadialGradient(l,E,0,n[0],n[1],h);}var b,v=t.g.p,w=e.g.c,u=1;for(b=0;ba&&h==="xMidYMid slice"||rr&&p==="meet"||ar&&p==="slice")?this.transformCanvas.tx=(i-this.transformCanvas.w*(s/this.transformCanvas.h))/2*this.renderConfig.dpr:y==="xMax"&&(ar&&p==="slice")?this.transformCanvas.tx=(i-this.transformCanvas.w*(s/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,P==="YMid"&&(a>r&&p==="meet"||ar&&p==="meet"||a=0;t-=1)this.elements[t]&&this.elements[t].destroy&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0;},CanvasRendererBase.prototype.renderFrame=function(t,e){if(!(this.renderedFrame===t&&this.renderConfig.clearCanvas===!0&&!e||this.destroyed||t===-1)){this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var i,s=this.layers.length;for(this.completeLayers||this.checkLayers(t),i=s-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].prepareFrame(t-this.layers[i].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),i=s-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore();}}},CanvasRendererBase.prototype.buildItem=function(t){var e=this.elements;if(!(e[t]||this.layers[t].ty===99)){var i=this.createItem(this.layers[t],this,this.globalData);e[t]=i,i.initExpressions();}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var t=this.pendingElements.pop();t.checkParenting();}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none";},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block";};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random();}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var t,e=15;for(t=0;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame();},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null;},CVCompElement.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)};function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={clearCanvas:e&&e.clearCanvas!==void 0?e.clearCanvas:!0,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",className:e&&e.className||"",id:e&&e.id||"",runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData));}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement);},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),this.data.bm!==0&&this.setBlendMode();},renderElement:function(){var t=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();t.transform=e,t.webkitTransform=e;}this.finalTransform._opMdf&&(t.opacity=this.finalTransform.mProp.o.v);},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1));},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null);},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData);},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(t,e,i){this.initElement(t,e,i);}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var t;this.data.hasMask?(t=createNS("rect"),t.setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):(t=createTag("div"),t.style.width=this.data.sw+"px",t.style.height=this.data.sh+"px",t.style.backgroundColor=this.data.sc),this.layerElement.appendChild(t);};function HShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(t,e,i),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0};}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var t;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),t=this.svgElement;else {t=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;t.setAttribute("width",e.w),t.setAttribute("height",e.h),t.appendChild(this.shapesContainer),this.layerElement.appendChild(t);}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=t;},HShapeElement.prototype.getTransformedPoint=function(t,e){var i,s=t.length;for(i=0;i0&&h<1&&r[l].push(this.calculateF(h,t,e,i,s,l))):(y=n*n-4*p*a,y>=0&&(P=(-n+bmSqrt(y))/(2*a),P>0&&P<1&&r[l].push(this.calculateF(P,t,e,i,s,l)),c=(-n-bmSqrt(y))/(2*a),c>0&&c<1&&r[l].push(this.calculateF(c,t,e,i,s,l)))));this.shapeBoundingBox.left=bmMin.apply(null,r[0]),this.shapeBoundingBox.top=bmMin.apply(null,r[1]),this.shapeBoundingBox.right=bmMax.apply(null,r[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,r[1]);},HShapeElement.prototype.calculateF=function(t,e,i,s,r,a){return bmPow(1-t,3)*e[a]+3*bmPow(1-t,2)*t*i[a]+3*(1-t)*bmPow(t,2)*s[a]+bmPow(t,3)*r[a]},HShapeElement.prototype.calculateBoundingBox=function(t,e){var i,s=t.length;for(i=0;ii&&(i=r);}i*=t.mult;}else i=t.v*t.mult;e.x-=i,e.xMax+=i,e.y-=i,e.yMax+=i;},HShapeElement.prototype.currentBoxContains=function(t){return this.currentBBox.x<=t.x&&this.currentBBox.y<=t.y&&this.currentBBox.width+this.currentBBox.x>=t.x+t.width&&this.currentBBox.height+this.currentBBox.y>=t.y+t.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMax=0;e-=1){var s=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-s.p.v[0],-s.p.v[1],s.p.v[2]),this.mat.rotateX(-s.or.v[0]).rotateY(-s.or.v[1]).rotateZ(s.or.v[2]),this.mat.rotateX(-s.rx.v).rotateY(-s.ry.v).rotateZ(s.rz.v),this.mat.scale(1/s.s.v[0],1/s.s.v[1],1/s.s.v[2]),this.mat.translate(s.a.v[0],s.a.v[1],s.a.v[2]);}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var r;this.p?r=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:r=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var a=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)),n=[r[0]/a,r[1]/a,r[2]/a],p=Math.sqrt(n[2]*n[2]+n[0]*n[0]),h=Math.atan2(n[1],p),y=Math.atan2(n[0],-n[2]);this.mat.rotateY(y).rotateX(-h);}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var P=!this._prevMat.equals(this.mat);if((P||this.pe._mdf)&&this.comp.threeDElements){i=this.comp.threeDElements.length;var c,l,E;for(e=0;e=t)return this.threeDElements[e].perspectiveElem;e+=1;}return null},HybridRendererBase.prototype.createThreeDContainer=function(t,e){var i=createTag("div"),s,r;styleDiv(i);var a=createTag("div");if(styleDiv(a),e==="3d"){s=i.style,s.width=this.globalData.compSize.w+"px",s.height=this.globalData.compSize.h+"px";var n="50% 50%";s.webkitTransformOrigin=n,s.mozTransformOrigin=n,s.transformOrigin=n,r=a.style;var p="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";r.transform=p,r.webkitTransform=p;}i.appendChild(a);var h={container:a,perspectiveElem:i,startPos:t,endPos:t,type:e};return this.threeDElements.push(h),h},HybridRendererBase.prototype.build3dContainers=function(){var t,e=this.layers.length,i,s="";for(t=0;t=0;t-=1)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem);},HybridRendererBase.prototype.addTo3dContainer=function(t,e){for(var i=0,s=this.threeDElements.length;ii?(r=t/this.globalData.compSize.w,a=t/this.globalData.compSize.w,n=0,p=(e-this.globalData.compSize.h*(t/this.globalData.compSize.w))/2):(r=e/this.globalData.compSize.h,a=e/this.globalData.compSize.h,n=(t-this.globalData.compSize.w*(e/this.globalData.compSize.h))/2,p=0);var h=this.resizerElem.style;h.webkitTransform="matrix3d("+r+",0,0,0,0,"+a+",0,0,0,0,1,0,"+n+","+p+",0,1)",h.transform=h.webkitTransform;},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none";},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block";},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else {var t=this.globalData.compSize.w,e=this.globalData.compSize.h,i,s=this.threeDElements.length;for(i=0;i=y;)mt/=2,gt/=2,ut>>>=1;return (mt+ut)/gt};return ot.int32=function(){return W.g(4)|0},ot.quick=function(){return W.g(4)/4294967296},ot.double=ot,w(f(W.S),t),(_.pass||k||function(mt,gt,ut,Ct){return Ct&&(Ct.S&&b(Ct,W),mt.state=function(){return b(W,{})}),ut?(e[n]=mt,gt):mt})(ot,q,"global"in _?_.global:this==e,_.state)}e["seed"+n]=l;function E(g){var _,k=g.length,z=this,q=0,W=z.i=z.j=0,ot=z.S=[];for(k||(g=[k++]);qi){var s=i;i=e,e=s;}return Math.min(Math.max(t,e),i)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if(typeof t=="number"||t instanceof Number)return e=e||0,Math.abs(t-e);e||(e=helperLengthArray);var i,s=Math.min(t.length,e.length),r=0;for(i=0;i.5?y/(2-r-a):y/(r+a),r){case e:n=(i-s)/y+(i1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function hslToRgb(t){var e=t[0],i=t[1],s=t[2],r,a,n;if(i===0)r=s,n=s,a=s;else {var p=s<.5?s*(1+i):s+i-s*i,h=2*s-p;r=hue2rgb(h,p,e+1/3),a=hue2rgb(h,p,e),n=hue2rgb(h,p,e-1/3);}return [r,a,n,t[3]]}function linear(t,e,i,s,r){if((s===void 0||r===void 0)&&(s=e,r=i,e=0,i=1),i=i)return r;var n=i===e?0:(t-e)/(i-e);if(!s.length)return s+(r-s)*n;var p,h=s.length,y=createTypedArray("float32",h);for(p=0;p1){for(r=0;r1?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(r)){var p,h=r.length,y=createTypedArray("float32",h);for(p=0;pdata.k[e].t&&tdata.k[e+1].t-t?(s=e+2,r=data.k[e+1].t):(s=e+1,r=data.k[e].t);break}s===-1&&(s=e+1,r=data.k[e].t);}var a={};return a.index=s,a.time=r/elem.comp.globalData.frameRate,a}function key(t){var e,i,s;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var r=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(s=r.length,i=0;iw.length-1)&&(E=w.length-1),g=w[w.length-1-E].t,f=u-g);var _,k,z;if(l==="pingpong"){var q=Math.floor((v-g)/f);if(q%2!==0)return this.getValueAtTime((f-(v-g)%f+g)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(g/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(u/this.comp.globalData.frameRate,0),mt=this.getValueAtTime(((v-g)%f+g)/this.comp.globalData.frameRate,0),gt=Math.floor((v-g)/f);if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_=u)return this.pv;var f,g;b?(E?f=Math.abs(this.elem.comp.globalData.frameRate*E):f=Math.max(0,this.elem.data.op-u),g=u+f):((!E||E>w.length-1)&&(E=w.length-1),g=w[E].t,f=g-u);var _,k,z;if(l==="pingpong"){var q=Math.floor((u-v)/f);if(q%2===0)return this.getValueAtTime(((u-v)%f+u)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(u/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(g/this.comp.globalData.frameRate,0),mt=this.getValueAtTime((f-(u-v)%f+u)/this.comp.globalData.frameRate,0),gt=Math.floor((u-v)/f)+1;if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_1?(w-v)/(E-1):1,f=0,g=0,_;this.pv.length?_=createTypedArray("float32",this.pv.length):_=0;for(var k;fu){var z=f,q=b.c&&f===g-1?0:f+1,W=(u-_)/w[f].addedLength;k=bez.getPointInSegment(b.v[z],b.v[q],b.o[z],b.i[q],W,w[f]);break}else _+=w[f].addedLength;f+=1;}return k||(k=b.c?[b.v[0][0],b.v[0][1]]:[b.v[b._length-1][0],b.v[b._length-1][1]]),k},vectorOnPath:function(l,E,b){l==1?l=this.v.c:l==0&&(l=.999);var v=this.pointOnPath(l,E),w=this.pointOnPath(l+.001,E),u=w[0]-v[0],f=w[1]-v[1],g=Math.sqrt(Math.pow(u,2)+Math.pow(f,2));if(g===0)return [0,0];var _=b==="tangent"?[u/g,f/g]:[-f/g,u/g];return _},tangentOnPath:function(l,E){return this.vectorOnPath(l,E,"tangent")},normalOnPath:function(l,E){return this.vectorOnPath(l,E,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([P],h),extendPrototype([P],y),y.prototype.getValueAtTime=p,y.prototype.initiateExpression=ExpressionManager.initiateExpression;var c=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(l,E,b,v,w){var u=c(l,E,b,v,w);return u.propertyIndex=E.ix,u.lock=!1,b===3?expressionHelpers.searchExpressions(l,E.pt,u):b===4&&expressionHelpers.searchExpressions(l,E.ks,u),u.k&&l.addDynamicProperty(u),u};}function initialize$1(){addPropertyDecorator();}function addDecorator(){function t(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(e,i){var s=this.calculateExpression(i);if(e.t!==s){var r={};return this.copyData(r,e),r.t=s.toString(),r.__complete=!1,r}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),i=this.searchExpressions();return this.kf=e||i,this.kf},TextProperty.prototype.searchExpressions=t;}function initialize(){addDecorator();}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function t(e,i){var s=createNS("feMerge");s.setAttribute("result",e);var r,a;for(a=0;a=y?c=b<0?s:r:c=s+E*Math.pow((p-t)/b,1/i),P[l]=c,l+=1,a+=256/(n-1);return P.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,i=this.filterManager.effectElements;this.feFuncRComposed&&(t||i[3].p._mdf||i[4].p._mdf||i[5].p._mdf||i[6].p._mdf||i[7].p._mdf)&&(e=this.getTableValue(i[3].p.v,i[4].p.v,i[5].p.v,i[6].p.v,i[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(t||i[10].p._mdf||i[11].p._mdf||i[12].p._mdf||i[13].p._mdf||i[14].p._mdf)&&(e=this.getTableValue(i[10].p.v,i[11].p.v,i[12].p.v,i[13].p.v,i[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(t||i[17].p._mdf||i[18].p._mdf||i[19].p._mdf||i[20].p._mdf||i[21].p._mdf)&&(e=this.getTableValue(i[17].p.v,i[18].p.v,i[19].p.v,i[20].p.v,i[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(t||i[24].p._mdf||i[25].p._mdf||i[26].p._mdf||i[27].p._mdf||i[28].p._mdf)&&(e=this.getTableValue(i[24].p.v,i[25].p.v,i[26].p.v,i[27].p.v,i[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(t||i[31].p._mdf||i[32].p._mdf||i[33].p._mdf||i[34].p._mdf||i[35].p._mdf)&&(e=this.getTableValue(i[31].p.v,i[32].p.v,i[33].p.v,i[34].p.v,i[35].p.v),this.feFuncA.setAttribute("tableValues",e));}};function SVGDropShadowEffect(t,e,i,s,r){var a=e.container.globalData.renderConfig.filterSize,n=e.data.fs||a;t.setAttribute("x",n.x||a.x),t.setAttribute("y",n.y||a.y),t.setAttribute("width",n.width||a.width),t.setAttribute("height",n.height||a.height),this.filterManager=e;var p=createNS("feGaussianBlur");p.setAttribute("in","SourceAlpha"),p.setAttribute("result",s+"_drop_shadow_1"),p.setAttribute("stdDeviation","0"),this.feGaussianBlur=p,t.appendChild(p);var h=createNS("feOffset");h.setAttribute("dx","25"),h.setAttribute("dy","0"),h.setAttribute("in",s+"_drop_shadow_1"),h.setAttribute("result",s+"_drop_shadow_2"),this.feOffset=h,t.appendChild(h);var y=createNS("feFlood");y.setAttribute("flood-color","#00ff00"),y.setAttribute("flood-opacity","1"),y.setAttribute("result",s+"_drop_shadow_3"),this.feFlood=y,t.appendChild(y);var P=createNS("feComposite");P.setAttribute("in",s+"_drop_shadow_3"),P.setAttribute("in2",s+"_drop_shadow_2"),P.setAttribute("operator","in"),P.setAttribute("result",s+"_drop_shadow_4"),t.appendChild(P);var c=this.createMergeNode(s,[s+"_drop_shadow_4",r]);t.appendChild(c);}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(e[0]*255),Math.round(e[1]*255),Math.round(e[2]*255)));}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var i=this.filterManager.effectElements[3].p.v,s=(this.filterManager.effectElements[2].p.v-90)*degToRads,r=i*Math.cos(s),a=i*Math.sin(s);this.feOffset.setAttribute("dx",r),this.feOffset.setAttribute("dy",a);}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e,this.filterElem=t,this.elem=i,i.matteElement=createNS("g"),i.matteElement.appendChild(i.layerElement),i.matteElement.appendChild(i.transformedElement),i.baseElement=i.matteElement;}SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,i=_svgMatteSymbols.length;ez.timeCompleted&&(q.animInstance.currentFrame=z.timeCompleted);}}(),p=function(){return function(z){var q=s[z.id],W=q.container,ot=q.elements;a(z.tree,W,ot);}}();function h(z,q){for(var W,ot=0;ot"u"?(W.canvas=ut,W.instructionsHandler=E(ut)):(ut instanceof OffscreenCanvas||(ht=ut.transferControlToOffscreen(),mt.rendererSettings.canvas=ht),gt.push(ht));}s[q]=W,t.postMessage({type:"load",payload:{params:mt,id:q}},gt);}),ot}var k={loadAnimation:_};return k}();return lottie});}),yc=gc();});var vl={};fr(vl,{default:()=>bc});var vc,bc,bl=ls(()=>{qs();vc=is((t,e)=>{typeof navigator<"u"&&function(i,s){typeof t=="object"&&typeof e<"u"?e.exports=s():typeof define=="function"&&define.amd?define(s):(i=typeof globalThis<"u"?globalThis:i||self,i.lottie=s());}(t,function(){var i="http://www.w3.org/2000/svg",s="",r=!1,a=-999999,n=function(A){r=!!A;},p=function(){return r},h=function(A){s=A;},y=function(){return s};function P(A){return document.createElement(A)}function c(A,F){var j,U=A.length,at;for(j=0;j1?j[1]=1:j[1]<=0&&(j[1]=0),R(j[0],j[1],j[2])}function Gt(A,F){var j=tt(A[0]*255,A[1]*255,A[2]*255);return j[2]+=F,j[2]>1?j[2]=1:j[2]<0&&(j[2]=0),R(j[0],j[1],j[2])}function Vt(A,F){var j=tt(A[0]*255,A[1]*255,A[2]*255);return j[0]+=F/360,j[0]>1?j[0]-=1:j[0]<0&&(j[0]+=1),R(j[0],j[1],j[2])}(function(){var A=[],F,j;for(F=0;F<256;F+=1)j=F.toString(16),A[F]=j.length===1?"0"+j:j;return function(U,at,it){return U<0&&(U=0),at<0&&(at=0),it<0&&(it=0),"#"+A[U]+A[at]+A[it]}})();var Xt=function(A){w=!!A;},Ht=function(){return w},Qt=function(A){u=A;},Zt=function(){return u},ne=function(A){W=A;},ue=function(){return W},pe=function(A){f=A;};function Wt(A){return document.createElementNS(i,A)}function fe(A){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?fe=function(F){return typeof F}:fe=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},fe(A)}var jt=function(){var A=1,F=[],j,U,at={onmessage:function(){},postMessage:function(St){j({data:St});}},it={postMessage:function(St){at.onmessage({data:St});}};function vt(St){if(window.Worker&&window.Blob&&p()){var m=new Blob(["var _workerSelf = self; self.onmessage = ",St.toString()],{type:"text/javascript"}),C=URL.createObjectURL(m);return new Worker(C)}return j=St,at}function Mt(){U||(U=vt(function(St){function m(){function T(et,X){var $,Y,N=et.length,rt,nt,K,ft;for(Y=0;Y=0;X-=1)if(et[X].ty==="sh")if(et[X].ks.k.i)d(et[X].ks.k);else for(N=et[X].ks.k.length,Y=0;Y$[0]?!0:$[0]>et[0]?!1:et[1]>$[1]?!0:$[1]>et[1]?!1:et[2]>$[2]?!0:$[2]>et[2]?!1:null}var M=function(){var et=[4,4,14];function X(Y){var N=Y.t.d;Y.t.d={k:[{s:N,t:0}]};}function $(Y){var N,rt=Y.length;for(N=0;N=0;N-=1)if(Y[N].ty==="sh")if(Y[N].ks.k.i)Y[N].ks.k.c=Y[N].closed;else for(K=Y[N].ks.k.length,nt=0;nt500)&&(this._imageLoaded(),clearInterval(o)),O+=1;}.bind(this),50);}function it(G){var O=U(G,this.assetsPath,this.path),o=Wt("image");g?this.testImageLoaded(o):o.addEventListener("load",this._imageLoaded,!1),o.addEventListener("error",function(){d.img=A,this._imageLoaded();}.bind(this),!1),o.setAttributeNS("http://www.w3.org/1999/xlink","href",O),this._elementHelper.append?this._elementHelper.append(o):this._elementHelper.appendChild(o);var d={img:o,assetData:G};return d}function vt(G){var O=U(G,this.assetsPath,this.path),o=P("img");o.crossOrigin="anonymous",o.addEventListener("load",this._imageLoaded,!1),o.addEventListener("error",function(){d.img=A,this._imageLoaded();}.bind(this),!1),o.src=O;var d={img:o,assetData:G};return d}function Mt(G){var O={assetData:G},o=U(G,this.assetsPath,this.path);return jt.loadData(o,function(d){O.img=d,this._footageLoaded();}.bind(this),function(){O.img={},this._footageLoaded();}.bind(this)),O}function bt(G,O){this.imagesLoadedCb=O;var o,d=G.length;for(o=0;othis.animationData.op&&(this.animationData.op=A.op,this.totalFrames=Math.floor(A.op-this.animationData.ip));var F=this.animationData.layers,j,U=F.length,at=A.layers,it,vt=at.length;for(it=0;itthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame");},Jt.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(A){this.triggerRenderFrameError(A);}},Jt.prototype.play=function(A){A&&this.name!==A||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")));},Jt.prototype.pause=function(A){A&&this.name!==A||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause());},Jt.prototype.togglePause=function(A){A&&this.name!==A||(this.isPaused===!0?this.play():this.pause());},Jt.prototype.stop=function(A){A&&this.name!==A||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0));},Jt.prototype.getMarkerData=function(A){for(var F,j=0;j=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(F>this.totalFrames?F%this.totalFrames:0)||(j=!0,F=this.totalFrames-1):F>=this.totalFrames?(this.playCount+=1,this.checkSegments(F%this.totalFrames)||(this.setCurrentRawFrameValue(F%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(F):F<0?this.checkSegments(F%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+F%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(j=!0,F=0)):this.setCurrentRawFrameValue(F),j&&(this.setCurrentRawFrameValue(F),this.pause(),this.trigger("complete"));}},Jt.prototype.adjustSegment=function(A,F){this.playCount=0,A[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=A[0]-A[1],this.timeCompleted=this.totalFrames,this.firstFrame=A[1],this.setCurrentRawFrameValue(this.totalFrames-.001-F)):A[1]>A[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=A[1]-A[0],this.timeCompleted=this.totalFrames,this.firstFrame=A[0],this.setCurrentRawFrameValue(.001+F)),this.trigger("segmentStart");},Jt.prototype.setSegment=function(A,F){var j=-1;this.isPaused&&(this.currentRawFrame+this.firstFrameF&&(j=F-A)),this.firstFrame=A,this.totalFrames=F-A,this.timeCompleted=this.totalFrames,j!==-1&&this.goToAndStop(j,!0);},Jt.prototype.playSegments=function(A,F){if(F&&(this.segments.length=0),_e(A[0])==="object"){var j,U=A.length;for(j=0;j=0;Y-=1)F[Y].animation.destroy($);}function I($,Y,N){var rt=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),nt,K=rt.length;for(nt=0;nt0?d=I:o=I;while(Math.abs(L)>it&&++H=at?B(O,Q,o,d):Z===0?Q:T(O,M,M+bt,o,d)}},A}(),oe=function(){function A(F){return F.concat(v(F.length))}return {double:A}}(),xe=function(){return function(A,F,j){var U=0,at=A,it=v(at),vt={newElement:Mt,release:bt};function Mt(){var Bt;return U?(U-=1,Bt=it[U]):Bt=F(),Bt}function bt(Bt){U===at&&(it=oe.double(it),at*=2),j&&j(Bt),it[U]=Bt,U+=1;}return vt}}(),ei=function(){function A(){return {addedLength:0,percents:b("float32",ue()),lengths:b("float32",ue())}}return xe(8,A)}(),Je=function(){function A(){return {lengths:[],totalLength:0}}function F(j){var U,at=j.lengths.length;for(U=0;U-.001&&O<.001}function j(St,m,C,T,B,G,O,o,d){if(C===0&&G===0&&d===0)return F(St,m,T,B,O,o);var x=A.sqrt(A.pow(T-St,2)+A.pow(B-m,2)+A.pow(G-C,2)),M=A.sqrt(A.pow(O-St,2)+A.pow(o-m,2)+A.pow(d-C,2)),L=A.sqrt(A.pow(O-T,2)+A.pow(o-B,2)+A.pow(d-G,2)),I;return x>M?x>L?I=x-M-L:I=L-M-x:L>M?I=L-M-x:I=M-x-L,I>-1e-4&&I<1e-4}var U=function(){return function(St,m,C,T){var B=ue(),G,O,o,d,x,M=0,L,I=[],H=[],Q=ei.newElement();for(o=C.length,G=0;GO?-1:1,x=!0;x;)if(T[G]<=O&&T[G+1]>O?(o=(O-T[G])/(T[G+1]-T[G]),x=!1):G+=d,G<0||G>=B-1){if(G===B-1)return C[G];x=!1;}return C[G]+(C[G+1]-C[G])*o}function Bt(St,m,C,T,B,G){var O=bt(B,G),o=1-O,d=A.round((o*o*o*St[0]+(O*o*o+o*O*o+o*o*O)*C[0]+(O*O*o+o*O*O+O*o*O)*T[0]+O*O*O*m[0])*1e3)/1e3,x=A.round((o*o*o*St[1]+(O*o*o+o*O*o+o*o*O)*C[1]+(O*O*o+o*O*O+O*o*O)*T[1]+O*O*O*m[1])*1e3)/1e3;return [d,x]}var It=b("float32",8);function Nt(St,m,C,T,B,G,O){B<0?B=0:B>1&&(B=1);var o=bt(B,O);G=G>1?1:G;var d=bt(G,O),x,M=St.length,L=1-o,I=1-d,H=L*L*L,Q=o*L*L*3,Z=o*o*L*3,st=o*o*o,pt=L*L*I,et=o*L*I+L*o*I+L*L*d,X=o*o*I+L*o*d+o*L*d,$=o*o*d,Y=L*I*I,N=o*I*I+L*d*I+L*I*d,rt=o*d*I+L*d*d+o*I*d,nt=o*d*d,K=I*I*I,ft=d*I*I+I*d*I+I*I*d,dt=d*d*I+I*d*d+d*I*d,xt=d*d*d;for(x=0;x=Bt.t-j){bt.h&&(bt=Bt),at=0;break}if(Bt.t-j>A){at=it;break}it=G||A=G?d.points.length-1:0;for(St=d.points[x].point.length,Nt=0;Nt=I&&M=G)U[0]=o[0],U[1]=o[1],U[2]=o[2];else if(A<=O)U[0]=bt.s[0],U[1]=bt.s[1],U[2]=bt.s[2];else {var et=Rr(bt.s),X=Rr(o),$=(A-O)/(G-O);sa(U,ia(et,X,$));}else for(it=0;it=G?m=1:A1e-6?(St=Math.acos(m),C=Math.sin(St),T=Math.sin((1-j)*St)/C,B=Math.sin(j*St)/C):(T=1-j,B=j),U[0]=T*at+B*bt,U[1]=T*it+B*Bt,U[2]=T*vt+B*It,U[3]=T*Mt+B*Nt,U}function sa(A,F){var j=F[0],U=F[1],at=F[2],it=F[3],vt=Math.atan2(2*U*it-2*j*at,1-2*U*U-2*at*at),Mt=Math.asin(2*j*U+2*at*it),bt=Math.atan2(2*j*it-2*U*at,1-2*j*j-2*at*at);A[0]=vt/ot,A[1]=Mt/ot,A[2]=bt/ot;}function Rr(A){var F=A[0]*ot,j=A[1]*ot,U=A[2]*ot,at=Math.cos(F/2),it=Math.cos(j/2),vt=Math.cos(U/2),Mt=Math.sin(F/2),bt=Math.sin(j/2),Bt=Math.sin(U/2),It=at*it*vt-Mt*bt*Bt,Nt=Mt*bt*vt+at*it*Bt,St=Mt*it*vt+at*bt*Bt,m=at*bt*vt-Mt*it*Bt;return [Nt,St,m,It]}function Br(){var A=this.comp.renderedFrame-this.offsetTime,F=this.keyframes[0].t-this.offsetTime,j=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(A===this._caching.lastFrame||this._caching.lastFrame!==qi&&(this._caching.lastFrame>=j&&A>=j||this._caching.lastFrame=A&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var U=this.interpolateValue(A,this._caching);this.pv=U;}return this._caching.lastFrame=A,this.pv}function Ts(A){var F;if(this.propType==="unidimensional")F=A*this.mult,Zi(this.v-F)>1e-5&&(this.v=F,this._mdf=!0);else for(var j=0,U=this.v.length;j1e-5&&(this.v[j]=F,this._mdf=!0),j+=1;}function Ms(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var A,F=this.effectsSequence.length,j=this.kf?this.pv:this.data.k;for(A=0;A=this._maxLength&&this.doubleArrayLength(),j){case"v":it=this.v;break;case"i":it=this.i;break;case"o":it=this.o;break;default:it=[];break}(!it[U]||it[U]&&!at)&&(it[U]=Kt.newElement()),it[U][0]=A,it[U][1]=F;},Re.prototype.setTripleAt=function(A,F,j,U,at,it,vt,Mt){this.setXYAt(A,F,"v",vt,Mt),this.setXYAt(j,U,"o",vt,Mt),this.setXYAt(at,it,"i",vt,Mt);},Re.prototype.reverse=function(){var A=new Re;A.setPathData(this.c,this._length);var F=this.v,j=this.o,U=this.i,at=0;this.c&&(A.setTripleAt(F[0][0],F[0][1],U[0][0],U[0][1],j[0][0],j[0][1],0,!1),at=1);var it=this._length-1,vt=this._length,Mt;for(Mt=at;Mt=et[et.length-1].t-this.offsetTime)x=et[et.length-1].s?et[et.length-1].s[0]:et[et.length-2].e[0],L=!0;else {for(var X=d,$=et.length-1,Y=!0,N,rt,nt;Y&&(N=et[X],rt=et[X+1],!(rt.t-this.offsetTime>G));)X<$-1?X+=1:Y=!1;if(nt=this.keyframesMetadata[X]||{},L=N.h===1,d=X,!L){if(G>=rt.t-this.offsetTime)st=1;else if(Go&&G>o)||(this._caching.lastIndex=d0||N>-1e-6&&N<0?U(N*rt)/rt:N}function Y(){var N=this.props,rt=$(N[0]),nt=$(N[1]),K=$(N[4]),ft=$(N[5]),dt=$(N[12]),xt=$(N[13]);return "matrix("+rt+","+nt+","+K+","+ft+","+dt+","+xt+")"}return function(){this.reset=at,this.rotate=it,this.rotateX=vt,this.rotateY=Mt,this.rotateZ=bt,this.skew=It,this.skewFromAxis=Nt,this.shear=Bt,this.scale=St,this.setTransform=m,this.translate=C,this.transform=T,this.multiply=B,this.applyToPoint=x,this.applyToX=M,this.applyToY=L,this.applyToZ=I,this.applyToPointArray=pt,this.applyToTriplePoints=st,this.applyToPointStringified=et,this.toCSS=X,this.to2dCSS=Y,this.clone=o,this.cloneFromProps=d,this.equals=O,this.inversePoints=Z,this.inversePoint=Q,this.getInverseMatrix=H,this._t=this.transform,this.isIdentity=G,this._identity=!0,this._identityCalculated=!1,this.props=b("float32",16),this.reset();}}();function ms(A){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ms=function(F){return typeof F}:ms=function(F){return F&&typeof Symbol=="function"&&F.constructor===Symbol&&F!==Symbol.prototype?"symbol":typeof F},ms(A)}var se={};function gr(A){h(A);}function Oe(){te.searchAnimations();}function Ta(A){Xt(A);}function ra(A){pe(A);}function Ma(A){return te.loadAnimation(A)}function wa(A){if(typeof A=="string")switch(A){case"high":ne(200);break;default:case"medium":ne(50);break;case"low":ne(10);break}else !isNaN(A)&&A>1&&ne(A);}function Da(){return typeof navigator<"u"}function Fa(A,F){A==="expressions"&&Qt(F);}function Ia(A){switch(A){case"propertyFactory":return Yt;case"shapePropertyFactory":return ss;case"matrix":return Ce;default:return null}}se.play=te.play,se.pause=te.pause,se.setLocationHref=gr,se.togglePause=te.togglePause,se.setSpeed=te.setSpeed,se.setDirection=te.setDirection,se.stop=te.stop,se.searchAnimations=Oe,se.registerAnimation=te.registerAnimation,se.loadAnimation=Ma,se.setSubframeRendering=Ta,se.resize=te.resize,se.goToAndStop=te.goToAndStop,se.destroy=te.destroy,se.setQuality=wa,se.inBrowser=Da,se.installPlugin=Fa,se.freeze=te.freeze,se.unfreeze=te.unfreeze,se.setVolume=te.setVolume,se.mute=te.mute,se.unmute=te.unmute,se.getRegisteredAnimations=te.getRegisteredAnimations,se.useWebWorker=n,se.setIDPrefix=ra,se.__getFactory=Ia,se.version="5.12.2";function La(){document.readyState==="complete"&&(clearInterval(Ra),Oe());}function Va(A){for(var F=Or.split("&"),j=0;j"u"?"undefined":ms(t))==="object"&&typeof e<"u")&&!(typeof define=="function"&&define.amd)&&(window.bodymovin=se);}catch{}var _i=function(){var A={},F={};A.registerModifier=j,A.getModifier=U;function j(at,it){F[at]||(F[at]=it);}function U(at,it,vt){return new F[at](it,vt)}return A}();function ni(){}ni.prototype.initModifierProperties=function(){},ni.prototype.addShapeToModifier=function(){},ni.prototype.addShape=function(A){if(!this.closed){A.sh.container.addDynamicProperty(A.sh);var F={shape:A.sh,data:A,localShapeCollection:Ue.newShapeCollection()};this.shapes.push(F),this.addShapeToModifier(F),this._isAnimated&&A.setAsAnimated();}},ni.prototype.init=function(A,F){this.shapes=[],this.elem=A,this.initDynamicPropertyContainer(A),this.initModifierProperties(A,F),this.frameId=a,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0);},ni.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties());},c([Ve],ni);function je(){}c([ni],je),je.prototype.initModifierProperties=function(A,F){this.s=Yt.getProp(A,F.s,0,.01,this),this.e=Yt.getProp(A,F.e,0,.01,this),this.o=Yt.getProp(A,F.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=F.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;},je.prototype.addShapeToModifier=function(A){A.pathsData=[];},je.prototype.calculateShapeEdges=function(A,F,j,U,at){var it=[];F<=1?it.push({s:A,e:F}):A>=1?it.push({s:A-1,e:F-1}):(it.push({s:A,e:1}),it.push({s:0,e:F-1}));var vt=[],Mt,bt=it.length,Bt;for(Mt=0;MtU+j)){var It,Nt;Bt.s*at<=U?It=0:It=(Bt.s*at-U)/j,Bt.e*at>=U+j?Nt=1:Nt=(Bt.e*at-U)/j,vt.push([It,Nt]);}return vt.length||vt.push([0,0]),vt},je.prototype.releasePathsData=function(A){var F,j=A.length;for(F=0;F1?F=1+U:this.s.v<0?F=0+U:F=this.s.v+U,this.e.v>1?j=1+U:this.e.v<0?j=0+U:j=this.e.v+U,F>j){var at=F;F=j,j=at;}F=Math.round(F*1e4)*1e-4,j=Math.round(j*1e4)*1e-4,this.sValue=F,this.eValue=j;}else F=this.sValue,j=this.eValue;var it,vt,Mt=this.shapes.length,bt,Bt,It,Nt,St,m=0;if(j===F)for(vt=0;vt=0;vt-=1)if(T=this.shapes[vt],T.shape._mdf){for(B=T.localShapeCollection,B.releaseShapes(),this.m===2&&Mt>1?(d=this.calculateShapeEdges(F,j,T.totalShapeLength,o,m),o+=T.totalShapeLength):d=[[G,O]],Bt=d.length,bt=0;bt=1?C.push({s:T.totalShapeLength*(G-1),e:T.totalShapeLength*(O-1)}):(C.push({s:T.totalShapeLength*G,e:T.totalShapeLength}),C.push({s:0,e:T.totalShapeLength*(O-1)}));var x=this.addShapes(T,C[0]);if(C[0].s!==C[0].e){if(C.length>1){var M=T.shape.paths.shapes[T.shape.paths._length-1];if(M.c){var L=x.pop();this.addPaths(x,B),x=this.addShapes(T,C[1],L);}else this.addPaths(x,B),x=this.addShapes(T,C[1]);}this.addPaths(x,B);}}T.shape.paths=B;}}},je.prototype.addPaths=function(A,F){var j,U=A.length;for(j=0;jF.e){j.c=!1;break}else F.s<=Bt&&F.e>=Bt+It.addedLength?(this.addSegment(at[it].v[Mt-1],at[it].o[Mt-1],at[it].i[Mt],at[it].v[Mt],j,Nt,B),B=!1):(m=mi.getNewSegment(at[it].v[Mt-1],at[it].v[Mt],at[it].o[Mt-1],at[it].i[Mt],(F.s-Bt)/It.addedLength,(F.e-Bt)/It.addedLength,St[Mt-1]),this.addSegmentFromArray(m,j,Nt,B),B=!1,j.c=!1),Bt+=It.addedLength,Nt+=1;if(at[it].c&&St.length){if(It=St[Mt-1],Bt<=F.e){var G=St[Mt-1].addedLength;F.s<=Bt&&F.e>=Bt+G?(this.addSegment(at[it].v[Mt-1],at[it].o[Mt-1],at[it].i[0],at[it].v[0],j,Nt,B),B=!1):(m=mi.getNewSegment(at[it].v[Mt-1],at[it].v[0],at[it].o[Mt-1],at[it].i[0],(F.s-Bt)/G,(F.e-Bt)/G,St[Mt-1]),this.addSegmentFromArray(m,j,Nt,B),B=!1,j.c=!1);}else j.c=!1;Bt+=It.addedLength,Nt+=1;}if(j._length&&(j.setXYAt(j.v[T][0],j.v[T][1],"i",T),j.setXYAt(j.v[j._length-1][0],j.v[j._length-1][1],"o",j._length-1)),Bt>F.e)break;it=this.p.keyframes[this.p.keyframes.length-1].t?(It=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/Bt,0),Nt=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/Bt,0)):(It=this.p.pv,Nt=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/Bt,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){It=[],Nt=[];var St=this.px,m=this.py;St._caching.lastFrame+St.offsetTime<=St.keyframes[0].t?(It[0]=St.getValueAtTime((St.keyframes[0].t+.01)/Bt,0),It[1]=m.getValueAtTime((m.keyframes[0].t+.01)/Bt,0),Nt[0]=St.getValueAtTime(St.keyframes[0].t/Bt,0),Nt[1]=m.getValueAtTime(m.keyframes[0].t/Bt,0)):St._caching.lastFrame+St.offsetTime>=St.keyframes[St.keyframes.length-1].t?(It[0]=St.getValueAtTime(St.keyframes[St.keyframes.length-1].t/Bt,0),It[1]=m.getValueAtTime(m.keyframes[m.keyframes.length-1].t/Bt,0),Nt[0]=St.getValueAtTime((St.keyframes[St.keyframes.length-1].t-.01)/Bt,0),Nt[1]=m.getValueAtTime((m.keyframes[m.keyframes.length-1].t-.01)/Bt,0)):(It=[St.pv,m.pv],Nt[0]=St.getValueAtTime((St._caching.lastFrame+St.offsetTime-.01)/Bt,St.offsetTime),Nt[1]=m.getValueAtTime((m._caching.lastFrame+m.offsetTime-.01)/Bt,m.offsetTime));}else Nt=A,It=Nt;this.v.rotate(-Math.atan2(It[1]-Nt[1],It[0]-Nt[0]));}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}this.frameId=this.elem.globalData.frameId;}}function U(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4);}function at(){}function it(bt){this._addDynamicProperty(bt),this.elem.addDynamicProperty(bt),this._isDirty=!0;}function vt(bt,Bt,It){if(this.elem=bt,this.frameId=-1,this.propType="transform",this.data=Bt,this.v=new Ce,this.pre=new Ce,this.appliedTransformations=0,this.initDynamicPropertyContainer(It||bt),Bt.p&&Bt.p.s?(this.px=Yt.getProp(bt,Bt.p.x,0,0,this),this.py=Yt.getProp(bt,Bt.p.y,0,0,this),Bt.p.z&&(this.pz=Yt.getProp(bt,Bt.p.z,0,0,this))):this.p=Yt.getProp(bt,Bt.p||{k:[0,0,0]},1,0,this),Bt.rx){if(this.rx=Yt.getProp(bt,Bt.rx,0,ot,this),this.ry=Yt.getProp(bt,Bt.ry,0,ot,this),this.rz=Yt.getProp(bt,Bt.rz,0,ot,this),Bt.or.k[0].ti){var Nt,St=Bt.or.k.length;for(Nt=0;Nt0;)j-=1,this._elements.unshift(F[j]);this.dynamicProperties.length?this.k=!0:this.getValue(!0);},oi.prototype.resetElements=function(A){var F,j=A.length;for(F=0;F0?Math.floor(St):Math.ceil(St),T=this.pMatrix.props,B=this.rMatrix.props,G=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var O=0;if(St>0){for(;OC;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),O-=1;m&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-m,!0),O-=m);}U=this.data.m===1?0:this._currentCopies-1,at=this.data.m===1?1:-1,it=this._currentCopies;for(var o,d;it;){if(F=this.elemsData[U].it,j=F[F.length-1].transform.mProps.v.props,d=j.length,F[F.length-1].transform.mProps._mdf=!0,F[F.length-1].transform.op._mdf=!0,F[F.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(U/(this._currentCopies-1)),O!==0){for((U!==0&&at===1||U!==this._currentCopies-1&&at===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(B[0],B[1],B[2],B[3],B[4],B[5],B[6],B[7],B[8],B[9],B[10],B[11],B[12],B[13],B[14],B[15]),this.matrix.transform(G[0],G[1],G[2],G[3],G[4],G[5],G[6],G[7],G[8],G[9],G[10],G[11],G[12],G[13],G[14],G[15]),this.matrix.transform(T[0],T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15]),o=0;o0&&U<1?[F]:[]:[F-U,F+U].filter(function(at){return at>0&&at<1})},Se.prototype.split=function(A){if(A<=0)return [Nr(this.points[0]),this];if(A>=1)return [this,Nr(this.points[this.points.length-1])];var F=Ai(this.points[0],this.points[1],A),j=Ai(this.points[1],this.points[2],A),U=Ai(this.points[2],this.points[3],A),at=Ai(F,j,A),it=Ai(j,U,A),vt=Ai(at,it,A);return [new Se(this.points[0],F,at,vt,!0),new Se(vt,it,U,this.points[3],!0)]};function vr(A,F){var j=A.points[0][F],U=A.points[A.points.length-1][F];if(j>U){var at=U;U=j,j=at;}for(var it=na(3*A.a[F],2*A.b[F],A.c[F]),vt=0;vt0&&it[vt]<1){var Mt=A.point(it[vt])[F];MtU&&(U=Mt);}return {min:j,max:U}}Se.prototype.bounds=function(){return {x:vr(this,0),y:vr(this,1)}},Se.prototype.boundingBox=function(){var A=this.bounds();return {left:A.x.min,right:A.x.max,top:A.y.min,bottom:A.y.max,width:A.x.max-A.x.min,height:A.y.max-A.y.min,cx:(A.x.max+A.x.min)/2,cy:(A.y.max+A.y.min)/2}};function $e(A,F,j){var U=A.boundingBox();return {cx:U.cx,cy:U.cy,width:U.width,height:U.height,bez:A,t:(F+j)/2,t1:F,t2:j}}function br(A){var F=A.bez.split(.5);return [$e(F[0],A.t1,A.t),$e(F[1],A.t,A.t2)]}function _r(A,F){return Math.abs(A.cx-F.cx)*2=it||A.width<=U&&A.height<=U&&F.width<=U&&F.height<=U){at.push([A.t,F.t]);return}var vt=br(A),Mt=br(F);gs(vt[0],Mt[0],j+1,U,at,it),gs(vt[0],Mt[1],j+1,U,at,it),gs(vt[1],Mt[0],j+1,U,at,it),gs(vt[1],Mt[1],j+1,U,at,it);}}Se.prototype.intersections=function(A,F,j){F===void 0&&(F=2),j===void 0&&(j=7);var U=[];return gs($e(this,0,1),$e(A,0,1),0,F,U,j),U},Se.shapeSegment=function(A,F){var j=(F+1)%A.length();return new Se(A.v[F],A.o[F],A.i[j],A.v[j],!0)},Se.shapeSegmentInverted=function(A,F){var j=(F+1)%A.length();return new Se(A.v[j],A.i[j],A.o[F],A.v[F],!0)};function rr(A,F){return [A[1]*F[2]-A[2]*F[1],A[2]*F[0]-A[0]*F[2],A[0]*F[1]-A[1]*F[0]]}function as(A,F,j,U){var at=[A[0],A[1],1],it=[F[0],F[1],1],vt=[j[0],j[1],1],Mt=[U[0],U[1],1],bt=rr(rr(at,it),rr(vt,Mt));return _s(bt[2])?null:[bt[0]/bt[2],bt[1]/bt[2]]}function Wi(A,F,j){return [A[0]+Math.cos(F)*j,A[1]-Math.sin(F)*j]}function ws(A,F){return Math.hypot(A[0]-F[0],A[1]-F[1])}function Fi(A,F){return Di(A[0],F[0])&&Di(A[1],F[1])}function ns(){}c([ni],ns),ns.prototype.initModifierProperties=function(A,F){this.getValue=this.processKeys,this.amplitude=Yt.getProp(A,F.s,0,null,this),this.frequency=Yt.getProp(A,F.r,0,null,this),this.pointsType=Yt.getProp(A,F.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function Ds(A,F,j,U,at,it,vt){var Mt=j-Math.PI/2,bt=j+Math.PI/2,Bt=F[0]+Math.cos(j)*U*at,It=F[1]-Math.sin(j)*U*at;A.setTripleAt(Bt,It,Bt+Math.cos(Mt)*it,It-Math.sin(Mt)*it,Bt+Math.cos(bt)*vt,It-Math.sin(bt)*vt,A.length());}function ar(A,F){var j=[F[0]-A[0],F[1]-A[1]],U=-Math.PI*.5,at=[Math.cos(U)*j[0]-Math.sin(U)*j[1],Math.sin(U)*j[0]+Math.cos(U)*j[1]];return at}function oa(A,F){var j=F===0?A.length()-1:F-1,U=(F+1)%A.length(),at=A.v[j],it=A.v[U],vt=ar(at,it);return Math.atan2(0,1)-Math.atan2(vt[1],vt[0])}function Gr(A,F,j,U,at,it,vt){var Mt=oa(F,j),bt=F.v[j%F._length],Bt=F.v[j===0?F._length-1:j-1],It=F.v[(j+1)%F._length],Nt=it===2?Math.sqrt(Math.pow(bt[0]-Bt[0],2)+Math.pow(bt[1]-Bt[1],2)):0,St=it===2?Math.sqrt(Math.pow(bt[0]-It[0],2)+Math.pow(bt[1]-It[1],2)):0;Ds(A,F.v[j%F._length],Mt,vt,U,St/((at+1)*2),Nt/((at+1)*2));}function Ba(A,F,j,U,at,it){for(var vt=0;vt1&&F.length>1&&(at=Fs(A[0],F[F.length-1]),at)?[[A[0].split(at[0])[0]],[F[F.length-1].split(at[1])[1]]]:[j,U]}function ha(A){for(var F,j=1;j1&&(F=xr(A[A.length-1],A[0]),A[A.length-1]=F[0],A[0]=F[1]),A}function Pr(A,F){var j=A.inflectionPoints(),U,at,it,vt;if(j.length===0)return [os(A,F)];if(j.length===1||Di(j[1],1))return it=A.split(j[0]),U=it[0],at=it[1],[os(U,F),os(at,F)];it=A.split(j[0]),U=it[0];var Mt=(j[1]-j[0])/(1-j[0]);return it=it[1].split(Mt),vt=it[0],at=it[1],[os(U,F),os(vt,F),os(at,F)]}function xs(){}c([ni],xs),xs.prototype.initModifierProperties=function(A,F){this.getValue=this.processKeys,this.amount=Yt.getProp(A,F.a,0,null,this),this.miterLimit=Yt.getProp(A,F.ml,0,null,this),this.lineJoin=F.lj,this._isAnimated=this.amount.effectsSequence.length!==0;},xs.prototype.processPath=function(A,F,j,U){var at=Fe.newElement();at.c=A.c;var it=A.length();A.c||(it-=1);var vt,Mt,bt,Bt=[];for(vt=0;vt=0;vt-=1)bt=Se.shapeSegmentInverted(A,vt),Bt.push(Pr(bt,F));Bt=ha(Bt);var It=null,Nt=null;for(vt=0;vt0&&(ft=!1),ft){var Lt=P("style");Lt.setAttribute("f-forigin",N[rt].fOrigin),Lt.setAttribute("f-origin",N[rt].origin),Lt.setAttribute("f-family",N[rt].fFamily),Lt.type="text/css",Lt.innerText="@font-face {font-family: "+N[rt].fFamily+"; font-style: normal; src: url('"+N[rt].fPath+"');}",Y.appendChild(Lt);}}else if(N[rt].fOrigin==="g"||N[rt].origin===1){for(dt=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),xt=0;xt=55296&&N<=56319){var rt=$.charCodeAt(1);rt>=56320&&rt<=57343&&(Y=(N-55296)*1024+rt-56320+65536);}return Y}function M($,Y){var N=$.toString(16)+Y.toString(16);return Nt.indexOf(N)!==-1}function L($){return $===bt}function I($){return $===Mt}function H($){var Y=x($);return Y>=Bt&&Y<=It}function Q($){return H($.substr(0,2))&&H($.substr(2,2))}function Z($){return j.indexOf($)!==-1}function st($,Y){var N=x($.substr(Y,2));if(N!==U)return !1;var rt=0;for(Y+=2;rt<5;){if(N=x($.substr(Y,2)),Nvt)return !1;rt+=1,Y+=2;}return x($.substr(Y,2))===at}function pt(){this.isLoaded=!0;}var et=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};et.isModifier=M,et.isZeroWidthJoiner=L,et.isFlagEmoji=Q,et.isRegionalCode=H,et.isCombinedCharacter=Z,et.isRegionalFlag=st,et.isVariationSelector=I,et.BLACK_FLAG_CODE_POINT=U;var X={addChars:G,addFonts:B,getCharData:O,getFontByName:d,measureText:o,checkLoadedFonts:C,setIsLoaded:pt};return et.prototype=X,et}();function Er(A){this.animationData=A;}Er.prototype.getProp=function(A){return this.animationData.slots&&this.animationData.slots[A.sid]?Object.assign(A,this.animationData.slots[A.sid].p):A};function Vs(A){return new Er(A)}function Ki(){}Ki.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[];},addRenderableComponent:function(A){this.renderableComponents.indexOf(A)===-1&&this.renderableComponents.push(A);},removeRenderableComponent:function(A){this.renderableComponents.indexOf(A)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(A),1);},prepareRenderableFrame:function(A){this.checkLayerLimits(A);},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show());},checkLayerLimits:function(A){this.data.ip-this.data.st<=A&&this.data.op-this.data.st>A?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide());},renderRenderable:function(){var A,F=this.renderableComponents.length;for(A=0;A.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0));},ke.prototype.show=function(){},ke.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1;},ke.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1;},ke.prototype.resume=function(){this._canPlay=!0;},ke.prototype.setRate=function(A){this.audio.rate(A);},ke.prototype.volume=function(A){this._volumeMultiplier=A,this._previousVolume=A*this._volume,this.audio.volume(this._previousVolume);},ke.prototype.getBaseElement=function(){return null},ke.prototype.destroy=function(){},ke.prototype.sourceRectAtTime=function(){},ke.prototype.initExpressions=function(){};function Te(){}Te.prototype.checkLayers=function(A){var F,j=this.layers.length,U;for(this.completeLayers=!0,F=j-1;F>=0;F-=1)this.elements[F]||(U=this.layers[F],U.ip-U.st<=A-this.layers[F].st&&U.op-U.st>A-this.layers[F].st&&this.buildItem(F)),this.completeLayers=this.elements[F]?this.completeLayers:!1;this.checkPendingElements();},Te.prototype.createItem=function(A){switch(A.ty){case 2:return this.createImage(A);case 0:return this.createComp(A);case 1:return this.createSolid(A);case 3:return this.createNull(A);case 4:return this.createShape(A);case 5:return this.createText(A);case 6:return this.createAudio(A);case 13:return this.createCamera(A);case 15:return this.createFootage(A);default:return this.createNull(A)}},Te.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},Te.prototype.createAudio=function(A){return new ke(A,this.globalData,this)},Te.prototype.createFootage=function(A){return new We(A,this.globalData,this)},Te.prototype.buildAllItems=function(){var A,F=this.layers.length;for(A=0;A0&&(this.maskElement.setAttribute("id",St),this.element.maskedElement.setAttribute(O,"url("+y()+"#"+St+")"),U.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this);}Oi.prototype.getMaskProperty=function(A){return this.viewData[A].prop},Oi.prototype.renderFrame=function(A){var F=this.element.finalTransform.mat,j,U=this.masksProperties.length;for(j=0;j1&&(U+=" C"+F.o[at-1][0]+","+F.o[at-1][1]+" "+F.i[0][0]+","+F.i[0][1]+" "+F.v[0][0]+","+F.v[0][1]),j.lastPath!==U){var vt="";j.elem&&(F.c&&(vt=A.inv?this.solidPath+U:U),j.elem.setAttribute("d",vt)),j.lastPath=U;}},Oi.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null;};var xi=function(){var A={};A.createFilter=F,A.createAlphaToLuminanceFilter=j;function F(U,at){var it=Wt("filter");return it.setAttribute("id",U),at!==!0&&(it.setAttribute("filterUnits","objectBoundingBox"),it.setAttribute("x","0%"),it.setAttribute("y","0%"),it.setAttribute("width","100%"),it.setAttribute("height","100%")),it}function j(){var U=Wt("feColorMatrix");return U.setAttribute("type","matrix"),U.setAttribute("color-interpolation-filters","sRGB"),U.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),U}return A}(),Qi=function(){var A={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return (/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(A.maskType=!1),/firefox/i.test(navigator.userAgent)&&(A.svgLumaHidden=!1),A}(),Ss={},Ar="filter_result_";function Rs(A){var F,j="SourceGraphic",U=A.data.ef?A.data.ef.length:0,at=S(),it=xi.createFilter(at,!0),vt=0;this.filters=[];var Mt;for(F=0;F=0&&(j=this.shapeModifiers[A].processShapes(this._isFirstFrame),!j);A-=1);}},searchProcessedElement:function(A){for(var F=this.processedElements,j=0,U=F.length;j.01)return !1;j+=1;}return !0},hs.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return !1;if(this.data.k.k[0].s)for(var A=0,F=this.data.k.k.length;A0;)G=St.transformers[H].mProps._mdf||G,I-=1,H-=1;if(G)for(I=x-St.styles[o].lvl,H=St.transformers.length-1;I>0;)L.multiply(St.transformers[H].mProps.v),I-=1,H-=1;}else L=A;if(M=St.sh.paths,T=M._length,G){for(B="",C=0;C=1?pt=.99:pt<=-1&&(pt=-.99);var et=Z*pt,X=Math.cos(st+St.a.v)*et+B[0],$=Math.sin(st+St.a.v)*et+B[1];C.setAttribute("fx",X),C.setAttribute("fy",$),T&&!St.g._collapsable&&(St.of.setAttribute("fx",X),St.of.setAttribute("fy",$));}}}function It(Nt,St,m){var C=St.style,T=St.d;T&&(T._mdf||m)&&T.dashStr&&(C.pElem.setAttribute("stroke-dasharray",T.dashStr),C.pElem.setAttribute("stroke-dashoffset",T.dashoffset[0])),St.c&&(St.c._mdf||m)&&C.pElem.setAttribute("stroke","rgb("+z(St.c.v[0])+","+z(St.c.v[1])+","+z(St.c.v[2])+")"),(St.o._mdf||m)&&C.pElem.setAttribute("stroke-opacity",St.o.v),(St.w._mdf||m)&&(C.pElem.setAttribute("stroke-width",St.w.v),C.msElem&&C.msElem.setAttribute("stroke-width",St.w.v));}return j}();function Ee(A,F,j){this.shapes=[],this.shapesData=A.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(A,F,j),this.prevViewData=[];}c([gi,Be,ys,Es,ki,hi,Li],Ee),Ee.prototype.initSecondaryElement=function(){},Ee.prototype.identityMatrix=new Ce,Ee.prototype.buildExpressionInterface=function(){},Ee.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes();},Ee.prototype.filterUniqueShapes=function(){var A,F=this.shapes.length,j,U,at=this.stylesList.length,it,vt=[],Mt=!1;for(U=0;U1&&Mt&&this.setShapesAsAnimated(vt);}},Ee.prototype.setShapesAsAnimated=function(A){var F,j=A.length;for(F=0;F=0;bt-=1){if(B=this.searchProcessedElement(A[bt]),B?F[bt]=j[B-1]:A[bt]._render=vt,A[bt].ty==="fl"||A[bt].ty==="st"||A[bt].ty==="gf"||A[bt].ty==="gs"||A[bt].ty==="no")B?F[bt].style.closed=!1:F[bt]=this.createStyleElement(A[bt],at),A[bt]._render&&F[bt].style.pElem.parentNode!==U&&U.appendChild(F[bt].style.pElem),St.push(F[bt].style);else if(A[bt].ty==="gr"){if(!B)F[bt]=this.createGroupElement(A[bt]);else for(Nt=F[bt].it.length,It=0;It1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},ye.prototype.addEffect=function(A){this.effectsSequence.push(A),this.elem.addDynamicProperty(this);},ye.prototype.getValue=function(A){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!A)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var F=this.currentData,j=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var U,at=this.effectsSequence.length,it=A||this.data.d.k[this.keysIndex].s;for(U=0;UF);)j+=1;return this.keysIndex!==j&&(this.keysIndex=j),this.data.d.k[this.keysIndex].s},ye.prototype.buildFinalText=function(A){for(var F=[],j=0,U=A.length,at,it,vt=!1,Mt=!1,bt="";j=55296&&at<=56319?Ci.isRegionalFlag(A,j)?bt=A.substr(j,14):(it=A.charCodeAt(j+1),it>=56320&&it<=57343&&(Ci.isModifier(at,it)?(bt=A.substr(j,2),vt=!0):Ci.isFlagEmoji(A.substr(j,4))?bt=A.substr(j,4):bt=A.substr(j,2))):at>56319?(it=A.charCodeAt(j+1),Ci.isVariationSelector(at)&&(vt=!0)):Ci.isZeroWidthJoiner(at)&&(vt=!0,Mt=!0),vt?(F[F.length-1]+=bt,vt=!1):F.push(bt),j+=bt.length;return F},ye.prototype.completeTextData=function(A){A.__complete=!0;var F=this.elem.globalData.fontManager,j=this.data,U=[],at,it,vt,Mt=0,bt,Bt=j.m.g,It=0,Nt=0,St=0,m=[],C=0,T=0,B,G,O=F.getFontByName(A.f),o,d=0,x=Sr(O);A.fWeight=x.weight,A.fStyle=x.style,A.finalSize=A.s,A.finalText=this.buildFinalText(A.t),it=A.finalText.length,A.finalLineHeight=A.lh;var M=A.tr/1e3*A.finalSize,L;if(A.sz)for(var I=!0,H=A.sz[0],Q=A.sz[1],Z,st;I;){st=this.buildFinalText(A.t),Z=0,C=0,it=st.length,M=A.tr/1e3*A.finalSize;var pt=-1;for(at=0;atH&&st[at]!==" "?(pt===-1?it+=1:at=pt,Z+=A.finalLineHeight||A.finalSize*1.2,st.splice(at,pt===at?1:0,"\r"),pt=-1,C=0):(C+=d,C+=M);Z+=O.ascent*A.finalSize/100,this.canResize&&A.finalSize>this.minimumFontSize&&QT?C:T,C=-2*M,bt="",vt=!0,St+=1):bt=X,F.chars?(o=F.getCharData(X,O.fStyle,F.getFontByName(A.f).fFamily),d=vt?0:o.w*A.finalSize/100):d=F.measureText(bt,A.f,A.finalSize),X===" "?et+=d+M:(C+=d+M+et,et=0),U.push({l:d,an:d,add:It,n:vt,anIndexes:[],val:bt,line:St,animatorJustifyOffset:0}),Bt==2){if(It+=d,bt===""||bt===" "||at===it-1){for((bt===""||bt===" ")&&(It-=d);Nt<=at;)U[Nt].an=It,U[Nt].ind=Mt,U[Nt].extra=d,Nt+=1;Mt+=1,It=0;}}else if(Bt==3){if(It+=d,bt===""||at===it-1){for(bt===""&&(It-=d);Nt<=at;)U[Nt].an=It,U[Nt].ind=Mt,U[Nt].extra=d,Nt+=1;It=0,Mt+=1;}}else U[Mt].ind=Mt,U[Mt].extra=0,Mt+=1;if(A.l=U,T=C>T?C:T,m.push(C),A.sz)A.boxWidth=A.sz[0],A.justifyOffset=0;else switch(A.boxWidth=T,A.j){case 1:A.justifyOffset=-A.boxWidth;break;case 2:A.justifyOffset=-A.boxWidth/2;break;default:A.justifyOffset=0;}A.lineWidths=m;var $=j.a,Y,N;G=$.length;var rt,nt,K=[];for(B=0;B0?vt=this.ne.v/100:Mt=-this.ne.v/100,this.xe.v>0?bt=1-this.xe.v/100:Bt=1+this.xe.v/100;var It=Ut.getBezierEasing(vt,Mt,bt,Bt).get,Nt=0,St=this.finalS,m=this.finalE,C=this.data.sh;if(C===2)m===St?Nt=it>=m?1:0:Nt=A(0,F(.5/(m-St)+(it-St)/(m-St),1)),Nt=It(Nt);else if(C===3)m===St?Nt=it>=m?0:1:Nt=1-A(0,F(.5/(m-St)+(it-St)/(m-St),1)),Nt=It(Nt);else if(C===4)m===St?Nt=0:(Nt=A(0,F(.5/(m-St)+(it-St)/(m-St),1)),Nt<.5?Nt*=2:Nt=1-2*(Nt-.5)),Nt=It(Nt);else if(C===5){if(m===St)Nt=0;else {var T=m-St;it=F(A(0,it+.5-St),m-St);var B=-T/2+it,G=T/2;Nt=Math.sqrt(1-B*B/(G*G));}Nt=It(Nt);}else C===6?(m===St?Nt=0:(it=F(A(0,it+.5-St),m-St),Nt=(1+Math.cos(Math.PI+Math.PI*2*it/(m-St)))/2),Nt=It(Nt)):(it>=j(St)&&(it-St<0?Nt=A(0,F(F(m,1)-(St-it),1)):Nt=A(0,F(m-it,1))),Nt=It(Nt));if(this.sm.v!==100){var O=this.sm.v*.01;O===0&&(O=1e-8);var o=.5-O*.5;Nt1&&(Nt=1));}return Nt*this.a.v},getValue:function(it){this.iterateDynamicProperties(),this._mdf=it||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,it&&this.data.r===2&&(this.e.v=this._currentTextLength);var vt=this.data.r===2?1:100/this.data.totalChars,Mt=this.o.v/vt,bt=this.s.v/vt+Mt,Bt=this.e.v/vt+Mt;if(bt>Bt){var It=bt;bt=Bt,Bt=It;}this.finalS=bt,this.finalE=Bt;}},c([Ve],U);function at(it,vt,Mt){return new U(it,vt)}return {getTextSelectorProp:at}}();function Vi(A,F,j){var U={propType:!1},at=Yt.getProp,it=F.a;this.a={r:it.r?at(A,it.r,0,ot,j):U,rx:it.rx?at(A,it.rx,0,ot,j):U,ry:it.ry?at(A,it.ry,0,ot,j):U,sk:it.sk?at(A,it.sk,0,ot,j):U,sa:it.sa?at(A,it.sa,0,ot,j):U,s:it.s?at(A,it.s,1,.01,j):U,a:it.a?at(A,it.a,1,0,j):U,o:it.o?at(A,it.o,0,.01,j):U,p:it.p?at(A,it.p,1,0,j):U,sw:it.sw?at(A,it.sw,0,0,j):U,sc:it.sc?at(A,it.sc,1,0,j):U,fc:it.fc?at(A,it.fc,1,0,j):U,fh:it.fh?at(A,it.fh,0,0,j):U,fs:it.fs?at(A,it.fs,0,.01,j):U,fb:it.fb?at(A,it.fb,0,.01,j):U,t:it.t?at(A,it.t,0,0,j):U},this.s=$r.getTextSelectorProp(A,F.s,j),this.s.t=F.s.t;}function Xi(A,F,j){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=A,this._renderType=F,this._elem=j,this._animatorsData=v(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(j);}Xi.prototype.searchProperties=function(){var A,F=this._textData.a.length,j,U=Yt.getProp;for(A=0;A=C+me||!x?(H=(C+me-B)/T.partialLength,xt=d.point[0]+(T.point[0]-d.point[0])*H,Lt=d.point[1]+(T.point[1]-d.point[1])*H,it.translate(-j[0]*St[It].an*.005,-(j[1]*et)*.01),G=!1):x&&(B+=T.partialLength,O+=1,O>=x.length&&(O=0,o+=1,M[o]?x=M[o].points:Z.v.c?(O=0,o=0,x=M[o].points):(B-=T.partialLength,x=null)),x&&(d=T,T=x[O],L=T.partialLength));dt=St[It].an/2-St[It].add,it.translate(-dt,0,0);}else dt=St[It].an/2-St[It].add,it.translate(-dt,0,0),it.translate(-j[0]*St[It].an*.005,-j[1]*et*.01,0);for(N=0;NA?this.textSpans[A].span:Wt(Mt?"g":"text"),o<=A){if(bt.setAttribute("stroke-linecap","butt"),bt.setAttribute("stroke-linejoin","round"),bt.setAttribute("stroke-miterlimit","4"),this.textSpans[A].span=bt,Mt){var x=Wt("g");bt.appendChild(x),this.textSpans[A].childSpan=x;}this.textSpans[A].span=bt,this.layerElement.appendChild(bt);}bt.style.display="inherit";}if(Bt.reset(),Nt&&(vt[A].n&&(St=-T,m+=j.yOffset,m+=C?1:0,C=!1),this.applyTextPropertiesToMatrix(j,Bt,vt[A].line,St,m),St+=vt[A].l||0,St+=T),Mt){d=this.globalData.fontManager.getCharData(j.finalText[A],U.fStyle,this.globalData.fontManager.getFontByName(j.f).fFamily);var M;if(d.t===1)M=new Ze(d.data,this.globalData,this);else {var L=zs;d.data&&d.data.shapes&&(L=this.buildShapeData(d.data,j.finalSize)),M=new Ee(L,this.globalData,this);}if(this.textSpans[A].glyph){var I=this.textSpans[A].glyph;this.textSpans[A].childSpan.removeChild(I.layerElement),I.destroy();}this.textSpans[A].glyph=M,M._debug=!0,M.prepareFrame(0),M.renderFrame(),this.textSpans[A].childSpan.appendChild(M.layerElement),d.t===1&&this.textSpans[A].childSpan.setAttribute("transform","scale("+j.finalSize/100+","+j.finalSize/100+")");}else Nt&&bt.setAttribute("transform","translate("+Bt.props[12]+","+Bt.props[13]+")"),bt.textContent=vt[A].val,bt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");}Nt&&bt&&bt.setAttribute("d",It);}for(;A=0;F-=1)(this.completeLayers||this.elements[F])&&this.elements[F].prepareFrame(A-this.layers[F].st);if(this.globalData._mdf)for(F=0;F=0;j-=1)(this.completeLayers||this.elements[j])&&(this.elements[j].prepareFrame(this.renderedFrame-this.layers[j].st),this.elements[j]._mdf&&(this._mdf=!0));}},ti.prototype.renderInnerContent=function(){var A,F=this.layers.length;for(A=0;Axc});var _c,xc,xl=ls(()=>{qs();_c=is((exports,module)=>{typeof navigator<"u"&&function(t,e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.lottie=e());}(exports,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t;},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t;},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var i,s=t.length,r;for(i=0;i1?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[2]+=e,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[0]+=e/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}var rgbToHex=function(){var t=[],e,i;for(e=0;e<256;e+=1)i=e.toString(16),t[e]=i.length===1?"0"+i:i;return function(s,r,a){return s<0&&(s=0),r<0&&(r=0),a<0&&(a=0),"#"+t[s]+t[r]+t[a]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t;},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t;},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t;},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t;},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t;};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(e){return typeof e}:_typeof$5=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(t)}var dataManager=function(){var t=1,e=[],i,s,r={onmessage:function(){},postMessage:function(l){i({data:l});}},a={postMessage:function(l){r.onmessage({data:l});}};function n(l){if(window.Worker&&window.Blob&&getWebWorker()){var E=new Blob(["var _workerSelf = self; self.onmessage = ",l.toString()],{type:"text/javascript"}),b=URL.createObjectURL(E);return new Worker(b)}return i=l,r}function p(){s||(s=n(function(l){function E(){function v(ht,yt){var D,V,S=ht.length,R,tt,J,Gt;for(V=0;V=0;yt-=1)if(ht[yt].ty==="sh")if(ht[yt].ks.k.i)_(ht[yt].ks.k);else for(S=ht[yt].ks.k.length,V=0;VD[0]?!0:D[0]>ht[0]?!1:ht[1]>D[1]?!0:D[1]>ht[1]?!1:ht[2]>D[2]?!0:D[2]>ht[2]?!1:null}var z=function(){var ht=[4,4,14];function yt(V){var S=V.t.d;V.t.d={k:[{s:S,t:0}]};}function D(V){var S,R=V.length;for(S=0;S=0;S-=1)if(V[S].ty==="sh")if(V[S].ks.k.i)V[S].ks.k.c=V[S].closed;else for(J=V[S].ks.k.length,tt=0;tt500)&&(this._imageLoaded(),clearInterval(g)),f+=1;}.bind(this),50);}function a(u){var f=s(u,this.assetsPath,this.path),g=createNS("image");isSafari?this.testImageLoaded(g):g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.setAttributeNS("http://www.w3.org/1999/xlink","href",f),this._elementHelper.append?this._elementHelper.append(g):this._elementHelper.appendChild(g);var _={img:g,assetData:u};return _}function n(u){var f=s(u,this.assetsPath,this.path),g=createTag("img");g.crossOrigin="anonymous",g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.src=f;var _={img:g,assetData:u};return _}function p(u){var f={assetData:u},g=s(u,this.assetsPath,this.path);return dataManager.loadData(g,function(_){f.img=_,this._footageLoaded();}.bind(this),function(){f.img={},this._footageLoaded();}.bind(this)),f}function h(u,f){this.imagesLoadedCb=f;var g,_=u.length;for(g=0;g<_;g+=1)u[g].layers||(!u[g].t||u[g].t==="seq"?(this.totalImages+=1,this.images.push(this._createImageData(u[g]))):u[g].t===3&&(this.totalFootages+=1,this.images.push(this.createFootageData(u[g]))));}function y(u){this.path=u||"";}function P(u){this.assetsPath=u||"";}function c(u){for(var f=0,g=this.images.length;fthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e=this.animationData.layers,i,s=e.length,r=t.layers,a,n=r.length;for(a=0;athis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame");},AnimationItem.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(t){this.triggerRenderFrameError(t);}},AnimationItem.prototype.play=function(t){t&&this.name!==t||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")));},AnimationItem.prototype.pause=function(t){t&&this.name!==t||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause());},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(this.isPaused===!0?this.play():this.pause());},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0));},AnimationItem.prototype.getMarkerData=function(t){for(var e,i=0;i=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(i=!0,e=this.totalFrames-1):e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):e<0?this.checkSegments(e%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(i=!0,e=0)):this.setCurrentRawFrameValue(e),i&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"));}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart");},AnimationItem.prototype.setSegment=function(t,e){var i=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(i=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,i!==-1&&this.goToAndStop(i,!0);},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),_typeof$4(t[0])==="object"){var i,s=t.length;for(i=0;i=0;V-=1)e[V].animation.destroy(D);}function W(D,V,S){var R=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),tt,J=R.length;for(tt=0;tt0?_=W:g=W;while(Math.abs(q)>a&&++ot=r?w(f,mt,g,_):gt===0?mt:v(f,z,z+h,g,_)}},t}(),pooling=function(){function t(e){return e.concat(createSizedArray(e.length))}return {double:t}}(),poolFactory=function(){return function(t,e,i){var s=0,r=t,a=createSizedArray(r),n={newElement:p,release:h};function p(){var y;return s?(s-=1,y=a[s]):y=e(),y}function h(y){s===r&&(a=pooling.double(a),r*=2),i&&i(y),a[s]=y,s+=1;}return n}}(),bezierLengthPool=function(){function t(){return {addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,t)}(),segmentsLengthPool=function(){function t(){return {lengths:[],totalLength:0}}function e(i){var s,r=i.lengths.length;for(s=0;s-.001&&f<.001}function i(l,E,b,v,w,u,f,g,_){if(b===0&&u===0&&_===0)return e(l,E,v,w,f,g);var k=t.sqrt(t.pow(v-l,2)+t.pow(w-E,2)+t.pow(u-b,2)),z=t.sqrt(t.pow(f-l,2)+t.pow(g-E,2)+t.pow(_-b,2)),q=t.sqrt(t.pow(f-v,2)+t.pow(g-w,2)+t.pow(_-u,2)),W;return k>z?k>q?W=k-z-q:W=q-z-k:q>z?W=q-z-k:W=z-k-q,W>-1e-4&&W<1e-4}var s=function(){return function(l,E,b,v){var w=getDefaultCurveSegments(),u,f,g,_,k,z=0,q,W=[],ot=[],mt=bezierLengthPool.newElement();for(g=b.length,u=0;uf?-1:1,k=!0;k;)if(v[u]<=f&&v[u+1]>f?(g=(f-v[u])/(v[u+1]-v[u]),k=!1):u+=_,u<0||u>=w-1){if(u===w-1)return b[u];k=!1;}return b[u]+(b[u+1]-b[u])*g}function y(l,E,b,v,w,u){var f=h(w,u),g=1-f,_=t.round((g*g*g*l[0]+(f*g*g+g*f*g+g*g*f)*b[0]+(f*f*g+g*f*f+f*g*f)*v[0]+f*f*f*E[0])*1e3)/1e3,k=t.round((g*g*g*l[1]+(f*g*g+g*f*g+g*g*f)*b[1]+(f*f*g+g*f*f+f*g*f)*v[1]+f*f*f*E[1])*1e3)/1e3;return [_,k]}var P=createTypedArray("float32",8);function c(l,E,b,v,w,u,f){w<0?w=0:w>1&&(w=1);var g=h(w,f);u=u>1?1:u;var _=h(u,f),k,z=l.length,q=1-g,W=1-_,ot=q*q*q,mt=g*q*q*3,gt=g*g*q*3,ut=g*g*g,Ct=q*q*W,ht=g*q*W+q*g*W+q*q*_,yt=g*g*W+q*g*_+g*q*_,D=g*g*_,V=q*W*W,S=g*W*W+q*_*W+q*W*_,R=g*_*W+q*_*_+g*W*_,tt=g*_*_,J=W*W*W,Gt=_*W*W+W*_*W+W*W*_,Vt=_*_*W+W*_*_+_*W*_,Xt=_*_*_;for(k=0;k=y.t-i){h.h&&(h=y),r=0;break}if(y.t-i>t){r=a;break}a=u||t=u?_.points.length-1:0;for(l=_.points[k].point.length,c=0;c=W&&z=u)s[0]=g[0],s[1]=g[1],s[2]=g[2];else if(t<=f)s[0]=h.s[0],s[1]=h.s[1],s[2]=h.s[2];else {var ht=createQuaternion(h.s),yt=createQuaternion(g),D=(t-f)/(u-f);quaternionToEuler(s,slerp(ht,yt,D));}else for(a=0;a=u?E=1:t1e-6?(l=Math.acos(E),b=Math.sin(l),v=Math.sin((1-i)*l)/b,w=Math.sin(i*l)/b):(v=1-i,w=i),s[0]=v*r+w*h,s[1]=v*a+w*y,s[2]=v*n+w*P,s[3]=v*p+w*c,s}function quaternionToEuler(t,e){var i=e[0],s=e[1],r=e[2],a=e[3],n=Math.atan2(2*s*a-2*i*r,1-2*s*s-2*r*r),p=Math.asin(2*i*s+2*r*a),h=Math.atan2(2*i*a-2*s*r,1-2*i*i-2*r*r);t[0]=n/degToRads,t[1]=p/degToRads,t[2]=h/degToRads;}function createQuaternion(t){var e=t[0]*degToRads,i=t[1]*degToRads,s=t[2]*degToRads,r=Math.cos(e/2),a=Math.cos(i/2),n=Math.cos(s/2),p=Math.sin(e/2),h=Math.sin(i/2),y=Math.sin(s/2),P=r*a*n-p*h*y,c=p*h*n+r*a*y,l=p*a*n+r*h*y,E=r*h*n-p*a*y;return [c,l,E,P]}function getValueAtCurrentTime(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=i&&t>=i||this._caching.lastFrame=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var s=this.interpolateValue(t,this._caching);this.pv=s;}return this._caching.lastFrame=t,this.pv}function setVValue(t){var e;if(this.propType==="unidimensional")e=t*this.mult,mathAbs(this.v-e)>1e-5&&(this.v=e,this._mdf=!0);else for(var i=0,s=this.v.length;i1e-5&&(this.v[i]=e,this._mdf=!0),i+=1;}function processEffectsSequence(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var t,e=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),i){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[];break}(!a[s]||a[s]&&!r)&&(a[s]=pointPool.newElement()),a[s][0]=t,a[s][1]=e;},ShapePath.prototype.setTripleAt=function(t,e,i,s,r,a,n,p){this.setXYAt(t,e,"v",n,p),this.setXYAt(i,s,"o",n,p),this.setXYAt(r,a,"i",n,p);},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,i=this.o,s=this.i,r=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],s[0][0],s[0][1],i[0][0],i[0][1],0,!1),r=1);var a=this._length-1,n=this._length,p;for(p=r;p=ht[ht.length-1].t-this.offsetTime)k=ht[ht.length-1].s?ht[ht.length-1].s[0]:ht[ht.length-2].e[0],q=!0;else {for(var yt=_,D=ht.length-1,V=!0,S,R,tt;V&&(S=ht[yt],R=ht[yt+1],!(R.t-this.offsetTime>u));)yt=R.t-this.offsetTime)ut=1;else if(ug&&u>g)||(this._caching.lastIndex=_0||S>-1e-6&&S<0?s(S*R)/R:S}function V(){var S=this.props,R=D(S[0]),tt=D(S[1]),J=D(S[4]),Gt=D(S[5]),Vt=D(S[12]),Xt=D(S[13]);return "matrix("+R+","+tt+","+J+","+Gt+","+Vt+","+Xt+")"}return function(){this.reset=r,this.rotate=a,this.rotateX=n,this.rotateY=p,this.rotateZ=h,this.skew=P,this.skewFromAxis=c,this.shear=y,this.scale=l,this.setTransform=E,this.translate=b,this.transform=v,this.multiply=w,this.applyToPoint=k,this.applyToX=z,this.applyToY=q,this.applyToZ=W,this.applyToPointArray=Ct,this.applyToTriplePoints=ut,this.applyToPointStringified=ht,this.toCSS=yt,this.to2dCSS=V,this.clone=g,this.cloneFromProps=_,this.equals=f,this.inversePoints=gt,this.inversePoint=mt,this.getInverseMatrix=ot,this._t=this.transform,this.isIdentity=u,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset();}}();function _typeof$3(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(e){return typeof e}:_typeof$3=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(t)}var lottie={};function setLocation(t){setLocationHref(t);}function searchAnimations(){animationManager.searchAnimations();}function setSubframeRendering(t){setSubframeEnabled(t);}function setPrefix(t){setIdPrefix(t);}function loadAnimation(t){return animationManager.loadAnimation(t)}function setQuality(t){if(typeof t=="string")switch(t){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else !isNaN(t)&&t>1&&setDefaultCurveSegments(t);}function inBrowser(){return typeof navigator<"u"}function installPlugin(t,e){t==="expressions"&&setExpressionsPlugin(e);}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations());}function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i"u"?"undefined":_typeof$3(exports))==="object"&&typeof module<"u")&&!(typeof define=="function"&&define.amd)&&(window.bodymovin=lottie);}catch(t){}var ShapeModifiers=function(){var t={},e={};t.registerModifier=i,t.getModifier=s;function i(r,a){e[r]||(e[r]=a);}function s(r,a,n){return new e[r](a,n)}return t}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(t){if(!this.closed){t.sh.container.addDynamicProperty(t.sh);var e={shape:t.sh,data:t,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated&&t.setAsAnimated();}},ShapeModifier.prototype.init=function(t,e){this.shapes=[],this.elem=t,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0);},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties());},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(t,e){this.s=PropertyFactory.getProp(t,e.s,0,.01,this),this.e=PropertyFactory.getProp(t,e.e,0,.01,this),this.o=PropertyFactory.getProp(t,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;},TrimModifier.prototype.addShapeToModifier=function(t){t.pathsData=[];},TrimModifier.prototype.calculateShapeEdges=function(t,e,i,s,r){var a=[];e<=1?a.push({s:t,e}):t>=1?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n=[],p,h=a.length,y;for(p=0;ps+i)){var P,c;y.s*r<=s?P=0:P=(y.s*r-s)/i,y.e*r>=s+i?c=1:c=(y.e*r-s)/i,n.push([P,c]);}return n.length||n.push([0,0]),n},TrimModifier.prototype.releasePathsData=function(t){var e,i=t.length;for(e=0;e1?e=1+s:this.s.v<0?e=0+s:e=this.s.v+s,this.e.v>1?i=1+s:this.e.v<0?i=0+s:i=this.e.v+s,e>i){var r=e;e=i,i=r;}e=Math.round(e*1e4)*1e-4,i=Math.round(i*1e4)*1e-4,this.sValue=e,this.eValue=i;}else e=this.sValue,i=this.eValue;var a,n,p=this.shapes.length,h,y,P,c,l,E=0;if(i===e)for(n=0;n=0;n-=1)if(v=this.shapes[n],v.shape._mdf){for(w=v.localShapeCollection,w.releaseShapes(),this.m===2&&p>1?(_=this.calculateShapeEdges(e,i,v.totalShapeLength,g,E),g+=v.totalShapeLength):_=[[u,f]],y=_.length,h=0;h=1?b.push({s:v.totalShapeLength*(u-1),e:v.totalShapeLength*(f-1)}):(b.push({s:v.totalShapeLength*u,e:v.totalShapeLength}),b.push({s:0,e:v.totalShapeLength*(f-1)}));var k=this.addShapes(v,b[0]);if(b[0].s!==b[0].e){if(b.length>1){var z=v.shape.paths.shapes[v.shape.paths._length-1];if(z.c){var q=k.pop();this.addPaths(k,w),k=this.addShapes(v,b[1],q);}else this.addPaths(k,w),k=this.addShapes(v,b[1]);}this.addPaths(k,w);}}v.shape.paths=w;}}},TrimModifier.prototype.addPaths=function(t,e){var i,s=t.length;for(i=0;ie.e){i.c=!1;break}else e.s<=y&&e.e>=y+P.addedLength?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[p],r[a].v[p],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[p],r[a].o[p-1],r[a].i[p],(e.s-y)/P.addedLength,(e.e-y)/P.addedLength,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1),y+=P.addedLength,c+=1;if(r[a].c&&l.length){if(P=l[p-1],y<=e.e){var u=l[p-1].addedLength;e.s<=y&&e.e>=y+u?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[0],r[a].v[0],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[0],r[a].o[p-1],r[a].i[0],(e.s-y)/u,(e.e-y)/u,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1);}else i.c=!1;y+=P.addedLength,c+=1;}if(i._length&&(i.setXYAt(i.v[v][0],i.v[v][1],"i",v),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),y>e.e)break;a=this.p.keyframes[this.p.keyframes.length-1].t?(P=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/y,0),c=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/y,0)):(P=this.p.pv,c=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/y,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){P=[],c=[];var l=this.px,E=this.py;l._caching.lastFrame+l.offsetTime<=l.keyframes[0].t?(P[0]=l.getValueAtTime((l.keyframes[0].t+.01)/y,0),P[1]=E.getValueAtTime((E.keyframes[0].t+.01)/y,0),c[0]=l.getValueAtTime(l.keyframes[0].t/y,0),c[1]=E.getValueAtTime(E.keyframes[0].t/y,0)):l._caching.lastFrame+l.offsetTime>=l.keyframes[l.keyframes.length-1].t?(P[0]=l.getValueAtTime(l.keyframes[l.keyframes.length-1].t/y,0),P[1]=E.getValueAtTime(E.keyframes[E.keyframes.length-1].t/y,0),c[0]=l.getValueAtTime((l.keyframes[l.keyframes.length-1].t-.01)/y,0),c[1]=E.getValueAtTime((E.keyframes[E.keyframes.length-1].t-.01)/y,0)):(P=[l.pv,E.pv],c[0]=l.getValueAtTime((l._caching.lastFrame+l.offsetTime-.01)/y,l.offsetTime),c[1]=E.getValueAtTime((E._caching.lastFrame+E.offsetTime-.01)/y,E.offsetTime));}else c=t,P=c;this.v.rotate(-Math.atan2(P[1]-c[1],P[0]-c[0]));}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}this.frameId=this.elem.globalData.frameId;}}function s(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4);}function r(){}function a(h){this._addDynamicProperty(h),this.elem.addDynamicProperty(h),this._isDirty=!0;}function n(h,y,P){if(this.elem=h,this.frameId=-1,this.propType="transform",this.data=y,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(P||h),y.p&&y.p.s?(this.px=PropertyFactory.getProp(h,y.p.x,0,0,this),this.py=PropertyFactory.getProp(h,y.p.y,0,0,this),y.p.z&&(this.pz=PropertyFactory.getProp(h,y.p.z,0,0,this))):this.p=PropertyFactory.getProp(h,y.p||{k:[0,0,0]},1,0,this),y.rx){if(this.rx=PropertyFactory.getProp(h,y.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(h,y.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(h,y.rz,0,degToRads,this),y.or.k[0].ti){var c,l=y.or.k.length;for(c=0;c0;)i-=1,this._elements.unshift(e[i]);this.dynamicProperties.length?this.k=!0:this.getValue(!0);},RepeaterModifier.prototype.resetElements=function(t){var e,i=t.length;for(e=0;e0?Math.floor(l):Math.ceil(l),v=this.pMatrix.props,w=this.rMatrix.props,u=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var f=0;if(l>0){for(;fb;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),f-=1;E&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-E,!0),f-=E);}s=this.data.m===1?0:this._currentCopies-1,r=this.data.m===1?1:-1,a=this._currentCopies;for(var g,_;a;){if(e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,_=i.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(s/(this._currentCopies-1)),f!==0){for((s!==0&&r===1||s!==this._currentCopies-1&&r===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9],w[10],w[11],w[12],w[13],w[14],w[15]),this.matrix.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),this.matrix.transform(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15]),g=0;g<_;g+=1)i[g]=this.matrix.props[g];this.matrix.reset();}else for(this.matrix.reset(),g=0;g<_;g+=1)i[g]=this.matrix.props[g];f+=1,a-=1,s+=r;}}else for(a=this._currentCopies,s=0,r=1;a;)e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,a-=1,s+=r;return n},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(t,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length;},RoundCornersModifier.prototype.processPath=function(t,e){var i=shapePool.newElement();i.c=t.c;var s,r=t._length,a,n,p,h,y,P,c=0,l,E,b,v,w,u;for(s=0;s0&&s<1?[e]:[]:[e-s,e+s].filter(function(r){return r>0&&r<1})},PolynomialBezier.prototype.split=function(t){if(t<=0)return [singlePoint(this.points[0]),this];if(t>=1)return [this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),i=lerpPoint(this.points[1],this.points[2],t),s=lerpPoint(this.points[2],this.points[3],t),r=lerpPoint(e,i,t),a=lerpPoint(i,s,t),n=lerpPoint(r,a,t);return [new PolynomialBezier(this.points[0],e,r,n,!0),new PolynomialBezier(n,a,s,this.points[3],!0)]};function extrema(t,e){var i=t.points[0][e],s=t.points[t.points.length-1][e];if(i>s){var r=s;s=i,i=r;}for(var a=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),n=0;n0&&a[n]<1){var p=t.point(a[n])[e];ps&&(s=p);}return {min:i,max:s}}PolynomialBezier.prototype.bounds=function(){return {x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return {left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}};function intersectData(t,e,i){var s=t.boundingBox();return {cx:s.cx,cy:s.cy,width:s.width,height:s.height,bez:t,t:(e+i)/2,t1:e,t2:i}}function splitData(t){var e=t.bez.split(.5);return [intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return Math.abs(t.cx-e.cx)*2=a||t.width<=s&&t.height<=s&&e.width<=s&&e.height<=s){r.push([t.t,e.t]);return}var n=splitData(t),p=splitData(e);intersectsImpl(n[0],p[0],i+1,s,r,a),intersectsImpl(n[0],p[1],i+1,s,r,a),intersectsImpl(n[1],p[0],i+1,s,r,a),intersectsImpl(n[1],p[1],i+1,s,r,a);}}PolynomialBezier.prototype.intersections=function(t,e,i){e===void 0&&(e=2),i===void 0&&(i=7);var s=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,s,i),s},PolynomialBezier.shapeSegment=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[i],t.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[i],t.i[i],t.o[e],t.v[e],!0)};function crossProduct(t,e){return [t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,i,s){var r=[t[0],t[1],1],a=[e[0],e[1],1],n=[i[0],i[1],1],p=[s[0],s[1],1],h=crossProduct(crossProduct(r,a),crossProduct(n,p));return floatZero(h[2])?null:[h[0]/h[2],h[1]/h[2]]}function polarOffset(t,e,i){return [t[0]+Math.cos(e)*i,t[1]-Math.sin(e)*i]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function setPoint(t,e,i,s,r,a,n){var p=i-Math.PI/2,h=i+Math.PI/2,y=e[0]+Math.cos(i)*s*r,P=e[1]-Math.sin(i)*s*r;t.setTripleAt(y,P,y+Math.cos(p)*a,P-Math.sin(p)*a,y+Math.cos(h)*n,P-Math.sin(h)*n,t.length());}function getPerpendicularVector(t,e){var i=[e[0]-t[0],e[1]-t[1]],s=-Math.PI*.5,r=[Math.cos(s)*i[0]-Math.sin(s)*i[1],Math.sin(s)*i[0]+Math.cos(s)*i[1]];return r}function getProjectingAngle(t,e){var i=e===0?t.length()-1:e-1,s=(e+1)%t.length(),r=t.v[i],a=t.v[s],n=getPerpendicularVector(r,a);return Math.atan2(0,1)-Math.atan2(n[1],n[0])}function zigZagCorner(t,e,i,s,r,a,n){var p=getProjectingAngle(e,i),h=e.v[i%e._length],y=e.v[i===0?e._length-1:i-1],P=e.v[(i+1)%e._length],c=a===2?Math.sqrt(Math.pow(h[0]-y[0],2)+Math.pow(h[1]-y[1],2)):0,l=a===2?Math.sqrt(Math.pow(h[0]-P[0],2)+Math.pow(h[1]-P[1],2)):0;setPoint(t,e.v[i%e._length],p,n,s,l/((r+1)*2),c/((r+1)*2));}function zigZagSegment(t,e,i,s,r,a){for(var n=0;n1&&e.length>1&&(r=getIntersection(t[0],e[e.length-1]),r)?[[t[0].split(r[0])[0]],[e[e.length-1].split(r[1])[1]]]:[i,s]}function pruneIntersections(t){for(var e,i=1;i1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var i=t.inflectionPoints(),s,r,a,n;if(i.length===0)return [offsetSegment(t,e)];if(i.length===1||floatEqual(i[1],1))return a=t.split(i[0]),s=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(r,e)];a=t.split(i[0]),s=a[0];var p=(i[1]-i[0])/(1-i[0]);return a=a[1].split(p),n=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(n,e),offsetSegment(r,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(t,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0;},OffsetPathModifier.prototype.processPath=function(t,e,i,s){var r=shapePool.newElement();r.c=t.c;var a=t.length();t.c||(a-=1);var n,p,h,y=[];for(n=0;n=0;n-=1)h=PolynomialBezier.shapeSegmentInverted(t,n),y.push(offsetSegmentSplit(h,e));y=pruneIntersections(y);var P=null,c=null;for(n=0;n0&&(Gt=!1),Gt){var Ht=createTag("style");Ht.setAttribute("f-forigin",S[R].fOrigin),Ht.setAttribute("f-origin",S[R].origin),Ht.setAttribute("f-family",S[R].fFamily),Ht.type="text/css",Ht.innerText="@font-face {font-family: "+S[R].fFamily+"; font-style: normal; src: url('"+S[R].fPath+"');}",V.appendChild(Ht);}}else if(S[R].fOrigin==="g"||S[R].origin===1){for(Vt=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),Xt=0;Xt=55296&&S<=56319){var R=D.charCodeAt(1);R>=56320&&R<=57343&&(V=(S-55296)*1024+R-56320+65536);}return V}function z(D,V){var S=D.toString(16)+V.toString(16);return c.indexOf(S)!==-1}function q(D){return D===h}function W(D){return D===p}function ot(D){var V=k(D);return V>=y&&V<=P}function mt(D){return ot(D.substr(0,2))&&ot(D.substr(2,2))}function gt(D){return i.indexOf(D)!==-1}function ut(D,V){var S=k(D.substr(V,2));if(S!==s)return !1;var R=0;for(V+=2;R<5;){if(S=k(D.substr(V,2)),Sn)return !1;R+=1,V+=2;}return k(D.substr(V,2))===r}function Ct(){this.isLoaded=!0;}var ht=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};ht.isModifier=z,ht.isZeroWidthJoiner=q,ht.isFlagEmoji=mt,ht.isRegionalCode=ot,ht.isCombinedCharacter=gt,ht.isRegionalFlag=ut,ht.isVariationSelector=W,ht.BLACK_FLAG_CODE_POINT=s;var yt={addChars:u,addFonts:w,getCharData:f,getFontByName:_,measureText:g,checkLoadedFonts:b,setIsLoaded:Ct};return ht.prototype=yt,ht}();function SlotManager(t){this.animationData=t;}SlotManager.prototype.getProp=function(t){return this.animationData.slots&&this.animationData.slots[t.sid]?Object.assign(t,this.animationData.slots[t.sid].p):t};function slotFactory(t){return new SlotManager(t)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[];},addRenderableComponent:function(t){this.renderableComponents.indexOf(t)===-1&&this.renderableComponents.push(t);},removeRenderableComponent:function(t){this.renderableComponents.indexOf(t)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(t),1);},prepareRenderableFrame:function(t){this.checkLayerLimits(t);},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show());},checkLayerLimits:function(t){this.data.ip-this.data.st<=t&&this.data.op-this.data.st>t?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide());},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0));},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1;},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1;},AudioElement.prototype.resume=function(){this._canPlay=!0;},AudioElement.prototype.setRate=function(t){this.audio.rate(t);},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume);},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(t){var e,i=this.layers.length,s;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(s=this.layers[e],s.ip-s.st<=t-this.layers[e].st&&s.op-s.st>t-this.layers[e].st&&this.buildItem(e)),this.completeLayers=this.elements[e]?this.completeLayers:!1;this.checkPendingElements();},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t0&&(this.maskElement.setAttribute("id",l),this.element.maskedElement.setAttribute(f,"url("+getLocationHref()+"#"+l+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this);}MaskElement.prototype.getMaskProperty=function(t){return this.viewData[t].prop},MaskElement.prototype.renderFrame=function(t){var e=this.element.finalTransform.mat,i,s=this.masksProperties.length;for(i=0;i1&&(s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),i.lastPath!==s){var n="";i.elem&&(e.c&&(n=t.inv?this.solidPath+s:s),i.elem.setAttribute("d",n)),i.lastPath=s;}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null;};var filtersFactory=function(){var t={};t.createFilter=e,t.createAlphaToLuminanceFilter=i;function e(s,r){var a=createNS("filter");return a.setAttribute("id",s),r!==!0&&(a.setAttribute("filterUnits","objectBoundingBox"),a.setAttribute("x","0%"),a.setAttribute("y","0%"),a.setAttribute("width","100%"),a.setAttribute("height","100%")),a}function i(){var s=createNS("feColorMatrix");return s.setAttribute("type","matrix"),s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),s}return t}(),featureSupport=function(){var t={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return (/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),/firefox/i.test(navigator.userAgent)&&(t.svgLumaHidden=!1),t}(),registeredEffects={},idPrefix="filter_result_";function SVGEffects(t){var e,i="SourceGraphic",s=t.data.ef?t.data.ef.length:0,r=createElementID(),a=filtersFactory.createFilter(r,!0),n=0;this.filters=[];var p;for(e=0;e=0&&(i=this.shapeModifiers[t].processShapes(this._isFirstFrame),!i);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,i=0,s=e.length;i.01)return !1;i+=1;}return !0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return !1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)u=l.transformers[ot].mProps._mdf||u,W-=1,ot-=1;if(u)for(W=k-l.styles[g].lvl,ot=l.transformers.length-1;W>0;)q.multiply(l.transformers[ot].mProps.v),W-=1,ot-=1;}else q=t;if(z=l.sh.paths,v=z._length,u){for(w="",b=0;b=1?Ct=.99:Ct<=-1&&(Ct=-.99);var ht=gt*Ct,yt=Math.cos(ut+l.a.v)*ht+w[0],D=Math.sin(ut+l.a.v)*ht+w[1];b.setAttribute("fx",yt),b.setAttribute("fy",D),v&&!l.g._collapsable&&(l.of.setAttribute("fx",yt),l.of.setAttribute("fy",D));}}}function P(c,l,E){var b=l.style,v=l.d;v&&(v._mdf||E)&&v.dashStr&&(b.pElem.setAttribute("stroke-dasharray",v.dashStr),b.pElem.setAttribute("stroke-dashoffset",v.dashoffset[0])),l.c&&(l.c._mdf||E)&&b.pElem.setAttribute("stroke","rgb("+bmFloor(l.c.v[0])+","+bmFloor(l.c.v[1])+","+bmFloor(l.c.v[2])+")"),(l.o._mdf||E)&&b.pElem.setAttribute("stroke-opacity",l.o.v),(l.w._mdf||E)&&(b.pElem.setAttribute("stroke-width",l.w.v),b.msElem&&b.msElem.setAttribute("stroke-width",l.w.v));}return i}();function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,i),this.prevViewData=[];}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes();},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e=this.shapes.length,i,s,r=this.stylesList.length,a,n=[],p=!1;for(s=0;s1&&p&&this.setShapesAsAnimated(n);}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,i=t.length;for(e=0;e=0;h-=1){if(w=this.searchProcessedElement(t[h]),w?e[h]=i[w-1]:t[h]._render=n,t[h].ty==="fl"||t[h].ty==="st"||t[h].ty==="gf"||t[h].ty==="gs"||t[h].ty==="no")w?e[h].style.closed=!1:e[h]=this.createStyleElement(t[h],r),t[h]._render&&e[h].style.pElem.parentNode!==s&&s.appendChild(e[h].style.pElem),l.push(e[h].style);else if(t[h].ty==="gr"){if(!w)e[h]=this.createGroupElement(t[h]);else for(c=e[h].it.length,P=0;P1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this);},TextProperty.prototype.getValue=function(t){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!t)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var s,r=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(s=0;se);)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e=[],i=0,s=t.length,r,a,n=!1,p=!1,h="";i=55296&&r<=56319?FontManager.isRegionalFlag(t,i)?h=t.substr(i,14):(a=t.charCodeAt(i+1),a>=56320&&a<=57343&&(FontManager.isModifier(r,a)?(h=t.substr(i,2),n=!0):FontManager.isFlagEmoji(t.substr(i,4))?h=t.substr(i,4):h=t.substr(i,2))):r>56319?(a=t.charCodeAt(i+1),FontManager.isVariationSelector(r)&&(n=!0)):FontManager.isZeroWidthJoiner(r)&&(n=!0,p=!0),n?(e[e.length-1]+=h,n=!1):e.push(h),i+=h.length;return e},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e=this.elem.globalData.fontManager,i=this.data,s=[],r,a,n,p=0,h,y=i.m.g,P=0,c=0,l=0,E=[],b=0,v=0,w,u,f=e.getFontByName(t.f),g,_=0,k=getFontProperties(f);t.fWeight=k.weight,t.fStyle=k.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),a=t.finalText.length,t.finalLineHeight=t.lh;var z=t.tr/1e3*t.finalSize,q;if(t.sz)for(var W=!0,ot=t.sz[0],mt=t.sz[1],gt,ut;W;){ut=this.buildFinalText(t.t),gt=0,b=0,a=ut.length,z=t.tr/1e3*t.finalSize;var Ct=-1;for(r=0;rot&&ut[r]!==" "?(Ct===-1?a+=1:r=Ct,gt+=t.finalLineHeight||t.finalSize*1.2,ut.splice(r,Ct===r?1:0,"\r"),Ct=-1,b=0):(b+=_,b+=z);gt+=f.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&mtv?b:v,b=-2*z,h="",n=!0,l+=1):h=yt,e.chars?(g=e.getCharData(yt,f.fStyle,e.getFontByName(t.f).fFamily),_=n?0:g.w*t.finalSize/100):_=e.measureText(h,t.f,t.finalSize),yt===" "?ht+=_+z:(b+=_+z+ht,ht=0),s.push({l:_,an:_,add:P,n,anIndexes:[],val:h,line:l,animatorJustifyOffset:0}),y==2){if(P+=_,h===""||h===" "||r===a-1){for((h===""||h===" ")&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;p+=1,P=0;}}else if(y==3){if(P+=_,h===""||r===a-1){for(h===""&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;P=0,p+=1;}}else s[p].ind=p,s[p].extra=0,p+=1;if(t.l=s,v=b>v?b:v,E.push(b),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0;}t.lineWidths=E;var D=i.a,V,S;u=D.length;var R,tt,J=[];for(w=0;w0?n=this.ne.v/100:p=-this.ne.v/100,this.xe.v>0?h=1-this.xe.v/100:y=1+this.xe.v/100;var P=BezierFactory.getBezierEasing(n,p,h,y).get,c=0,l=this.finalS,E=this.finalE,b=this.data.sh;if(b===2)E===l?c=a>=E?1:0:c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===3)E===l?c=a>=E?0:1:c=1-t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===4)E===l?c=0:(c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c<.5?c*=2:c=1-2*(c-.5)),c=P(c);else if(b===5){if(E===l)c=0;else {var v=E-l;a=e(t(0,a+.5-l),E-l);var w=-v/2+a,u=v/2;c=Math.sqrt(1-w*w/(u*u));}c=P(c);}else b===6?(E===l?c=0:(a=e(t(0,a+.5-l),E-l),c=(1+Math.cos(Math.PI+Math.PI*2*a/(E-l)))/2),c=P(c)):(a>=i(l)&&(a-l<0?c=t(0,e(e(E,1)-(l-a),1)):c=t(0,e(E-a,1))),c=P(c));if(this.sm.v!==100){var f=this.sm.v*.01;f===0&&(f=1e-8);var g=.5-f*.5;c1&&(c=1));}return c*this.a.v},getValue:function(a){this.iterateDynamicProperties(),this._mdf=a||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,a&&this.data.r===2&&(this.e.v=this._currentTextLength);var n=this.data.r===2?1:100/this.data.totalChars,p=this.o.v/n,h=this.s.v/n+p,y=this.e.v/n+p;if(h>y){var P=h;h=y,y=P;}this.finalS=h,this.finalE=y;}},extendPrototype([DynamicPropertyContainer],s);function r(a,n,p){return new s(a,n)}return {getTextSelectorProp:r}}();function TextAnimatorDataProperty(t,e,i){var s={propType:!1},r=PropertyFactory.getProp,a=e.a;this.a={r:a.r?r(t,a.r,0,degToRads,i):s,rx:a.rx?r(t,a.rx,0,degToRads,i):s,ry:a.ry?r(t,a.ry,0,degToRads,i):s,sk:a.sk?r(t,a.sk,0,degToRads,i):s,sa:a.sa?r(t,a.sa,0,degToRads,i):s,s:a.s?r(t,a.s,1,.01,i):s,a:a.a?r(t,a.a,1,0,i):s,o:a.o?r(t,a.o,0,.01,i):s,p:a.p?r(t,a.p,1,0,i):s,sw:a.sw?r(t,a.sw,0,0,i):s,sc:a.sc?r(t,a.sc,1,0,i):s,fc:a.fc?r(t,a.fc,1,0,i):s,fh:a.fh?r(t,a.fh,0,0,i):s,fs:a.fs?r(t,a.fs,0,.01,i):s,fb:a.fb?r(t,a.fb,0,.01,i):s,t:a.t?r(t,a.t,0,0,i):s},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,i),this.s.t=e.s.t;}function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i);}TextAnimatorProperty.prototype.searchProperties=function(){var t,e=this._textData.a.length,i,s=PropertyFactory.getProp;for(t=0;t=b+oe||!k?(ot=(b+oe-w)/v.partialLength,Xt=_.point[0]+(v.point[0]-_.point[0])*ot,Ht=_.point[1]+(v.point[1]-_.point[1])*ot,a.translate(-i[0]*l[P].an*.005,-(i[1]*ht)*.01),u=!1):k&&(w+=v.partialLength,f+=1,f>=k.length&&(f=0,g+=1,z[g]?k=z[g].points:gt.v.c?(f=0,g=0,k=z[g].points):(w-=v.partialLength,k=null)),k&&(_=v,v=k[f],q=v.partialLength));Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0);}else Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0),a.translate(-i[0]*l[P].an*.005,-i[1]*ht*.01,0);for(S=0;St?this.textSpans[t].span:createNS(p?"g":"text"),g<=t){if(h.setAttribute("stroke-linecap","butt"),h.setAttribute("stroke-linejoin","round"),h.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=h,p){var k=createNS("g");h.appendChild(k),this.textSpans[t].childSpan=k;}this.textSpans[t].span=h,this.layerElement.appendChild(h);}h.style.display="inherit";}if(y.reset(),c&&(n[t].n&&(l=-v,E+=i.yOffset,E+=b?1:0,b=!1),this.applyTextPropertiesToMatrix(i,y,n[t].line,l,E),l+=n[t].l||0,l+=v),p){_=this.globalData.fontManager.getCharData(i.finalText[t],s.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily);var z;if(_.t===1)z=new SVGCompElement(_.data,this.globalData,this);else {var q=emptyShapeData;_.data&&_.data.shapes&&(q=this.buildShapeData(_.data,i.finalSize)),z=new SVGShapeElement(q,this.globalData,this);}if(this.textSpans[t].glyph){var W=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(W.layerElement),W.destroy();}this.textSpans[t].glyph=z,z._debug=!0,z.prepareFrame(0),z.renderFrame(),this.textSpans[t].childSpan.appendChild(z.layerElement),_.t===1&&this.textSpans[t].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")");}else c&&h.setAttribute("transform","translate("+y.props[12]+","+y.props[13]+")"),h.textContent=n[t].val,h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");}c&&h&&h.setAttribute("d",P);}for(;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;i-=1)(this.completeLayers||this.elements[i])&&(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf&&(this._mdf=!0));}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=y;)mt/=2,gt/=2,ut>>>=1;return (mt+ut)/gt};return ot.int32=function(){return W.g(4)|0},ot.quick=function(){return W.g(4)/4294967296},ot.double=ot,w(f(W.S),t),(_.pass||k||function(mt,gt,ut,Ct){return Ct&&(Ct.S&&b(Ct,W),mt.state=function(){return b(W,{})}),ut?(e[n]=mt,gt):mt})(ot,q,"global"in _?_.global:this==e,_.state)}e["seed"+n]=l;function E(g){var _,k=g.length,z=this,q=0,W=z.i=z.j=0,ot=z.S=[];for(k||(g=[k++]);qi){var s=i;i=e,e=s;}return Math.min(Math.max(t,e),i)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if(typeof t=="number"||t instanceof Number)return e=e||0,Math.abs(t-e);e||(e=helperLengthArray);var i,s=Math.min(t.length,e.length),r=0;for(i=0;i.5?y/(2-r-a):y/(r+a),r){case e:n=(i-s)/y+(i1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function hslToRgb(t){var e=t[0],i=t[1],s=t[2],r,a,n;if(i===0)r=s,n=s,a=s;else {var p=s<.5?s*(1+i):s+i-s*i,h=2*s-p;r=hue2rgb(h,p,e+1/3),a=hue2rgb(h,p,e),n=hue2rgb(h,p,e-1/3);}return [r,a,n,t[3]]}function linear(t,e,i,s,r){if((s===void 0||r===void 0)&&(s=e,r=i,e=0,i=1),i=i)return r;var n=i===e?0:(t-e)/(i-e);if(!s.length)return s+(r-s)*n;var p,h=s.length,y=createTypedArray("float32",h);for(p=0;p1){for(r=0;r1?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(r)){var p,h=r.length,y=createTypedArray("float32",h);for(p=0;pdata.k[e].t&&tdata.k[e+1].t-t?(s=e+2,r=data.k[e+1].t):(s=e+1,r=data.k[e].t);break}s===-1&&(s=e+1,r=data.k[e].t);}var a={};return a.index=s,a.time=r/elem.comp.globalData.frameRate,a}function key(t){var e,i,s;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var r=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(s=r.length,i=0;iw.length-1)&&(E=w.length-1),g=w[w.length-1-E].t,f=u-g);var _,k,z;if(l==="pingpong"){var q=Math.floor((v-g)/f);if(q%2!==0)return this.getValueAtTime((f-(v-g)%f+g)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(g/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(u/this.comp.globalData.frameRate,0),mt=this.getValueAtTime(((v-g)%f+g)/this.comp.globalData.frameRate,0),gt=Math.floor((v-g)/f);if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_=u)return this.pv;var f,g;b?(E?f=Math.abs(this.elem.comp.globalData.frameRate*E):f=Math.max(0,this.elem.data.op-u),g=u+f):((!E||E>w.length-1)&&(E=w.length-1),g=w[E].t,f=g-u);var _,k,z;if(l==="pingpong"){var q=Math.floor((u-v)/f);if(q%2===0)return this.getValueAtTime(((u-v)%f+u)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(u/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(g/this.comp.globalData.frameRate,0),mt=this.getValueAtTime((f-(u-v)%f+u)/this.comp.globalData.frameRate,0),gt=Math.floor((u-v)/f)+1;if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_1?(w-v)/(E-1):1,f=0,g=0,_;this.pv.length?_=createTypedArray("float32",this.pv.length):_=0;for(var k;fu){var z=f,q=b.c&&f===g-1?0:f+1,W=(u-_)/w[f].addedLength;k=bez.getPointInSegment(b.v[z],b.v[q],b.o[z],b.i[q],W,w[f]);break}else _+=w[f].addedLength;f+=1;}return k||(k=b.c?[b.v[0][0],b.v[0][1]]:[b.v[b._length-1][0],b.v[b._length-1][1]]),k},vectorOnPath:function(l,E,b){l==1?l=this.v.c:l==0&&(l=.999);var v=this.pointOnPath(l,E),w=this.pointOnPath(l+.001,E),u=w[0]-v[0],f=w[1]-v[1],g=Math.sqrt(Math.pow(u,2)+Math.pow(f,2));if(g===0)return [0,0];var _=b==="tangent"?[u/g,f/g]:[-f/g,u/g];return _},tangentOnPath:function(l,E){return this.vectorOnPath(l,E,"tangent")},normalOnPath:function(l,E){return this.vectorOnPath(l,E,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([P],h),extendPrototype([P],y),y.prototype.getValueAtTime=p,y.prototype.initiateExpression=ExpressionManager.initiateExpression;var c=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(l,E,b,v,w){var u=c(l,E,b,v,w);return u.propertyIndex=E.ix,u.lock=!1,b===3?expressionHelpers.searchExpressions(l,E.pt,u):b===4&&expressionHelpers.searchExpressions(l,E.ks,u),u.k&&l.addDynamicProperty(u),u};}function initialize$1(){addPropertyDecorator();}function addDecorator(){function t(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(e,i){var s=this.calculateExpression(i);if(e.t!==s){var r={};return this.copyData(r,e),r.t=s.toString(),r.__complete=!1,r}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),i=this.searchExpressions();return this.kf=e||i,this.kf},TextProperty.prototype.searchExpressions=t;}function initialize(){addDecorator();}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function t(e,i){var s=createNS("feMerge");s.setAttribute("result",e);var r,a;for(a=0;a=y?c=b<0?s:r:c=s+E*Math.pow((p-t)/b,1/i),P[l]=c,l+=1,a+=256/(n-1);return P.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,i=this.filterManager.effectElements;this.feFuncRComposed&&(t||i[3].p._mdf||i[4].p._mdf||i[5].p._mdf||i[6].p._mdf||i[7].p._mdf)&&(e=this.getTableValue(i[3].p.v,i[4].p.v,i[5].p.v,i[6].p.v,i[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(t||i[10].p._mdf||i[11].p._mdf||i[12].p._mdf||i[13].p._mdf||i[14].p._mdf)&&(e=this.getTableValue(i[10].p.v,i[11].p.v,i[12].p.v,i[13].p.v,i[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(t||i[17].p._mdf||i[18].p._mdf||i[19].p._mdf||i[20].p._mdf||i[21].p._mdf)&&(e=this.getTableValue(i[17].p.v,i[18].p.v,i[19].p.v,i[20].p.v,i[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(t||i[24].p._mdf||i[25].p._mdf||i[26].p._mdf||i[27].p._mdf||i[28].p._mdf)&&(e=this.getTableValue(i[24].p.v,i[25].p.v,i[26].p.v,i[27].p.v,i[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(t||i[31].p._mdf||i[32].p._mdf||i[33].p._mdf||i[34].p._mdf||i[35].p._mdf)&&(e=this.getTableValue(i[31].p.v,i[32].p.v,i[33].p.v,i[34].p.v,i[35].p.v),this.feFuncA.setAttribute("tableValues",e));}};function SVGDropShadowEffect(t,e,i,s,r){var a=e.container.globalData.renderConfig.filterSize,n=e.data.fs||a;t.setAttribute("x",n.x||a.x),t.setAttribute("y",n.y||a.y),t.setAttribute("width",n.width||a.width),t.setAttribute("height",n.height||a.height),this.filterManager=e;var p=createNS("feGaussianBlur");p.setAttribute("in","SourceAlpha"),p.setAttribute("result",s+"_drop_shadow_1"),p.setAttribute("stdDeviation","0"),this.feGaussianBlur=p,t.appendChild(p);var h=createNS("feOffset");h.setAttribute("dx","25"),h.setAttribute("dy","0"),h.setAttribute("in",s+"_drop_shadow_1"),h.setAttribute("result",s+"_drop_shadow_2"),this.feOffset=h,t.appendChild(h);var y=createNS("feFlood");y.setAttribute("flood-color","#00ff00"),y.setAttribute("flood-opacity","1"),y.setAttribute("result",s+"_drop_shadow_3"),this.feFlood=y,t.appendChild(y);var P=createNS("feComposite");P.setAttribute("in",s+"_drop_shadow_3"),P.setAttribute("in2",s+"_drop_shadow_2"),P.setAttribute("operator","in"),P.setAttribute("result",s+"_drop_shadow_4"),t.appendChild(P);var c=this.createMergeNode(s,[s+"_drop_shadow_4",r]);t.appendChild(c);}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(e[0]*255),Math.round(e[1]*255),Math.round(e[2]*255)));}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var i=this.filterManager.effectElements[3].p.v,s=(this.filterManager.effectElements[2].p.v-90)*degToRads,r=i*Math.cos(s),a=i*Math.sin(s);this.feOffset.setAttribute("dx",r),this.feOffset.setAttribute("dy",a);}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e,this.filterElem=t,this.elem=i,i.matteElement=createNS("g"),i.matteElement.appendChild(i.layerElement),i.matteElement.appendChild(i.transformedElement),i.baseElement=i.matteElement;}SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,i=_svgMatteSymbols.length;eSc});var Pc,Sc,Sl=ls(()=>{qs();Pc=is((t,e)=>{typeof navigator<"u"&&function(i,s){typeof t=="object"&&typeof e<"u"?e.exports=s():typeof define=="function"&&define.amd?define(s):(i=typeof globalThis<"u"?globalThis:i||self,i.lottie=s());}(t,function(){var i="http://www.w3.org/2000/svg",s="",r=!1,a=-999999,n=function(o){r=!!o;},p=function(){return r},h=function(o){s=o;},y=function(){return s};function P(o){return document.createElement(o)}function c(o,d){var x,M=o.length,L;for(x=0;x1?x[1]=1:x[1]<=0&&(x[1]=0),R(x[0],x[1],x[2])}function Gt(o,d){var x=tt(o[0]*255,o[1]*255,o[2]*255);return x[2]+=d,x[2]>1?x[2]=1:x[2]<0&&(x[2]=0),R(x[0],x[1],x[2])}function Vt(o,d){var x=tt(o[0]*255,o[1]*255,o[2]*255);return x[0]+=d/360,x[0]>1?x[0]-=1:x[0]<0&&(x[0]+=1),R(x[0],x[1],x[2])}(function(){var o=[],d,x;for(d=0;d<256;d+=1)x=d.toString(16),o[d]=x.length===1?"0"+x:x;return function(M,L,I){return M<0&&(M=0),L<0&&(L=0),I<0&&(I=0),"#"+o[M]+o[L]+o[I]}})();var Xt=function(o){w=!!o;},Ht=function(){return w},Qt=function(o){u=o;},Zt=function(){return u},ne=function(o){W=o;},ue=function(){return W},pe=function(o){f=o;};function Wt(o){return document.createElementNS(i,o)}function fe(o){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?fe=function(d){return typeof d}:fe=function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},fe(o)}var jt=function(){var o=1,d=[],x,M,L={onmessage:function(){},postMessage:function(X){x({data:X});}},I={postMessage:function(X){L.onmessage({data:X});}};function H(X){if(window.Worker&&window.Blob&&p()){var $=new Blob(["var _workerSelf = self; self.onmessage = ",X.toString()],{type:"text/javascript"}),Y=URL.createObjectURL($);return new Worker(Y)}return x=X,L}function Q(){M||(M=H(function(X){function $(){function N(Dt,Et){var Pt,kt,ct=Dt.length,wt,qt,zt,re;for(kt=0;kt=0;Et-=1)if(Dt[Et].ty==="sh")if(Dt[Et].ks.k.i)dt(Dt[Et].ks.k);else for(ct=Dt[Et].ks.k.length,kt=0;ktPt[0]?!0:Pt[0]>Dt[0]?!1:Dt[1]>Pt[1]?!0:Pt[1]>Dt[1]?!1:Dt[2]>Pt[2]?!0:Pt[2]>Dt[2]?!1:null}var Lt=function(){var Dt=[4,4,14];function Et(kt){var ct=kt.t.d;kt.t.d={k:[{s:ct,t:0}]};}function Pt(kt){var ct,wt=kt.length;for(ct=0;ct=0;ct-=1)if(kt[ct].ty==="sh")if(kt[ct].ks.k.i)kt[ct].ks.k.c=kt[ct].closed;else for(zt=kt[ct].ks.k.length,qt=0;qt500)&&(this._imageLoaded(),clearInterval(ft)),K+=1;}.bind(this),50);}function I(nt){var K=M(nt,this.assetsPath,this.path),ft=Wt("image");g?this.testImageLoaded(ft):ft.addEventListener("load",this._imageLoaded,!1),ft.addEventListener("error",function(){dt.img=o,this._imageLoaded();}.bind(this),!1),ft.setAttributeNS("http://www.w3.org/1999/xlink","href",K),this._elementHelper.append?this._elementHelper.append(ft):this._elementHelper.appendChild(ft);var dt={img:ft,assetData:nt};return dt}function H(nt){var K=M(nt,this.assetsPath,this.path),ft=P("img");ft.crossOrigin="anonymous",ft.addEventListener("load",this._imageLoaded,!1),ft.addEventListener("error",function(){dt.img=o,this._imageLoaded();}.bind(this),!1),ft.src=K;var dt={img:ft,assetData:nt};return dt}function Q(nt){var K={assetData:nt},ft=M(nt,this.assetsPath,this.path);return jt.loadData(ft,function(dt){K.img=dt,this._footageLoaded();}.bind(this),function(){K.img={},this._footageLoaded();}.bind(this)),K}function Z(nt,K){this.imagesLoadedCb=K;var ft,dt=nt.length;for(ft=0;ftthis.animationData.op&&(this.animationData.op=o.op,this.totalFrames=Math.floor(o.op-this.animationData.ip));var d=this.animationData.layers,x,M=d.length,L=o.layers,I,H=L.length;for(I=0;Ithis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame");},Jt.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(o){this.triggerRenderFrameError(o);}},Jt.prototype.play=function(o){o&&this.name!==o||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")));},Jt.prototype.pause=function(o){o&&this.name!==o||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause());},Jt.prototype.togglePause=function(o){o&&this.name!==o||(this.isPaused===!0?this.play():this.pause());},Jt.prototype.stop=function(o){o&&this.name!==o||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0));},Jt.prototype.getMarkerData=function(o){for(var d,x=0;x=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(d>this.totalFrames?d%this.totalFrames:0)||(x=!0,d=this.totalFrames-1):d>=this.totalFrames?(this.playCount+=1,this.checkSegments(d%this.totalFrames)||(this.setCurrentRawFrameValue(d%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(d):d<0?this.checkSegments(d%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+d%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(x=!0,d=0)):this.setCurrentRawFrameValue(d),x&&(this.setCurrentRawFrameValue(d),this.pause(),this.trigger("complete"));}},Jt.prototype.adjustSegment=function(o,d){this.playCount=0,o[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=o[0]-o[1],this.timeCompleted=this.totalFrames,this.firstFrame=o[1],this.setCurrentRawFrameValue(this.totalFrames-.001-d)):o[1]>o[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=o[1]-o[0],this.timeCompleted=this.totalFrames,this.firstFrame=o[0],this.setCurrentRawFrameValue(.001+d)),this.trigger("segmentStart");},Jt.prototype.setSegment=function(o,d){var x=-1;this.isPaused&&(this.currentRawFrame+this.firstFramed&&(x=d-o)),this.firstFrame=o,this.totalFrames=d-o,this.timeCompleted=this.totalFrames,x!==-1&&this.goToAndStop(x,!0);},Jt.prototype.playSegments=function(o,d){if(d&&(this.segments.length=0),_e(o[0])==="object"){var x,M=o.length;for(x=0;x=0;kt-=1)d[kt].animation.destroy(Pt);}function Ft(Pt,kt,ct){var wt=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),qt,zt=wt.length;for(qt=0;qt0?dt=Ft:ft=Ft;while(Math.abs(Ot)>I&&++$t=L?rt(K,_t,ft,dt):At===0?_t:N(K,Lt,Lt+Z,ft,dt)}},o}(),oe=function(){function o(d){return d.concat(v(d.length))}return {double:o}}(),xe=function(){return function(o,d,x){var M=0,L=o,I=v(L),H={newElement:Q,release:Z};function Q(){var st;return M?(M-=1,st=I[M]):st=d(),st}function Z(st){M===L&&(I=oe.double(I),L*=2),x&&x(st),I[M]=st,M+=1;}return H}}(),ei=function(){function o(){return {addedLength:0,percents:b("float32",ue()),lengths:b("float32",ue())}}return xe(8,o)}(),Je=function(){function o(){return {lengths:[],totalLength:0}}function d(x){var M,L=x.lengths.length;for(M=0;M-.001&&K<.001}function x(X,$,Y,N,rt,nt,K,ft,dt){if(Y===0&&nt===0&&dt===0)return d(X,$,N,rt,K,ft);var xt=o.sqrt(o.pow(N-X,2)+o.pow(rt-$,2)+o.pow(nt-Y,2)),Lt=o.sqrt(o.pow(K-X,2)+o.pow(ft-$,2)+o.pow(dt-Y,2)),Ot=o.sqrt(o.pow(K-N,2)+o.pow(ft-rt,2)+o.pow(dt-nt,2)),Ft;return xt>Lt?xt>Ot?Ft=xt-Lt-Ot:Ft=Ot-Lt-xt:Ot>Lt?Ft=Ot-Lt-xt:Ft=Lt-xt-Ot,Ft>-1e-4&&Ft<1e-4}var M=function(){return function(X,$,Y,N){var rt=ue(),nt,K,ft,dt,xt,Lt=0,Ot,Ft=[],$t=[],_t=ei.newElement();for(ft=Y.length,nt=0;ntK?-1:1,xt=!0;xt;)if(N[nt]<=K&&N[nt+1]>K?(ft=(K-N[nt])/(N[nt+1]-N[nt]),xt=!1):nt+=dt,nt<0||nt>=rt-1){if(nt===rt-1)return Y[nt];xt=!1;}return Y[nt]+(Y[nt+1]-Y[nt])*ft}function st(X,$,Y,N,rt,nt){var K=Z(rt,nt),ft=1-K,dt=o.round((ft*ft*ft*X[0]+(K*ft*ft+ft*K*ft+ft*ft*K)*Y[0]+(K*K*ft+ft*K*K+K*ft*K)*N[0]+K*K*K*$[0])*1e3)/1e3,xt=o.round((ft*ft*ft*X[1]+(K*ft*ft+ft*K*ft+ft*ft*K)*Y[1]+(K*K*ft+ft*K*K+K*ft*K)*N[1]+K*K*K*$[1])*1e3)/1e3;return [dt,xt]}var pt=b("float32",8);function et(X,$,Y,N,rt,nt,K){rt<0?rt=0:rt>1&&(rt=1);var ft=Z(rt,K);nt=nt>1?1:nt;var dt=Z(nt,K),xt,Lt=X.length,Ot=1-ft,Ft=1-dt,$t=Ot*Ot*Ot,_t=ft*Ot*Ot*3,At=ft*ft*Ot*3,lt=ft*ft*ft,Tt=Ot*Ot*Ft,Dt=ft*Ot*Ft+Ot*ft*Ft+Ot*Ot*dt,Et=ft*ft*Ft+Ot*ft*dt+ft*Ot*dt,Pt=ft*ft*dt,kt=Ot*Ft*Ft,ct=ft*Ft*Ft+Ot*dt*Ft+Ot*Ft*dt,wt=ft*dt*Ft+Ot*dt*dt+ft*Ft*dt,qt=ft*dt*dt,zt=Ft*Ft*Ft,re=dt*Ft*Ft+Ft*dt*Ft+Ft*Ft*dt,ie=dt*dt*Ft+Ft*dt*dt+dt*Ft*dt,de=dt*dt*dt;for(xt=0;xt=st.t-x){Z.h&&(Z=st),L=0;break}if(st.t-x>o){L=I;break}I=nt||o=nt?dt.points.length-1:0;for(X=dt.points[xt].point.length,et=0;et=Ft&&Lt=nt)M[0]=ft[0],M[1]=ft[1],M[2]=ft[2];else if(o<=K)M[0]=Z.s[0],M[1]=Z.s[1],M[2]=Z.s[2];else {var Dt=Rr(Z.s),Et=Rr(ft),Pt=(o-K)/(nt-K);sa(M,ia(Dt,Et,Pt));}else for(I=0;I=nt?$=1:o1e-6?(X=Math.acos($),Y=Math.sin(X),N=Math.sin((1-x)*X)/Y,rt=Math.sin(x*X)/Y):(N=1-x,rt=x),M[0]=N*L+rt*Z,M[1]=N*I+rt*st,M[2]=N*H+rt*pt,M[3]=N*Q+rt*et,M}function sa(o,d){var x=d[0],M=d[1],L=d[2],I=d[3],H=Math.atan2(2*M*I-2*x*L,1-2*M*M-2*L*L),Q=Math.asin(2*x*M+2*L*I),Z=Math.atan2(2*x*I-2*M*L,1-2*x*x-2*L*L);o[0]=H/ot,o[1]=Q/ot,o[2]=Z/ot;}function Rr(o){var d=o[0]*ot,x=o[1]*ot,M=o[2]*ot,L=Math.cos(d/2),I=Math.cos(x/2),H=Math.cos(M/2),Q=Math.sin(d/2),Z=Math.sin(x/2),st=Math.sin(M/2),pt=L*I*H-Q*Z*st,et=Q*Z*H+L*I*st,X=Q*I*H+L*Z*st,$=L*Z*H-Q*I*st;return [et,X,$,pt]}function Br(){var o=this.comp.renderedFrame-this.offsetTime,d=this.keyframes[0].t-this.offsetTime,x=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(o===this._caching.lastFrame||this._caching.lastFrame!==qi&&(this._caching.lastFrame>=x&&o>=x||this._caching.lastFrame=o&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var M=this.interpolateValue(o,this._caching);this.pv=M;}return this._caching.lastFrame=o,this.pv}function Ts(o){var d;if(this.propType==="unidimensional")d=o*this.mult,Zi(this.v-d)>1e-5&&(this.v=d,this._mdf=!0);else for(var x=0,M=this.v.length;x1e-5&&(this.v[x]=d,this._mdf=!0),x+=1;}function Ms(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var o,d=this.effectsSequence.length,x=this.kf?this.pv:this.data.k;for(o=0;o=this._maxLength&&this.doubleArrayLength(),x){case"v":I=this.v;break;case"i":I=this.i;break;case"o":I=this.o;break;default:I=[];break}(!I[M]||I[M]&&!L)&&(I[M]=Kt.newElement()),I[M][0]=o,I[M][1]=d;},Re.prototype.setTripleAt=function(o,d,x,M,L,I,H,Q){this.setXYAt(o,d,"v",H,Q),this.setXYAt(x,M,"o",H,Q),this.setXYAt(L,I,"i",H,Q);},Re.prototype.reverse=function(){var o=new Re;o.setPathData(this.c,this._length);var d=this.v,x=this.o,M=this.i,L=0;this.c&&(o.setTripleAt(d[0][0],d[0][1],M[0][0],M[0][1],x[0][0],x[0][1],0,!1),L=1);var I=this._length-1,H=this._length,Q;for(Q=L;Q=Dt[Dt.length-1].t-this.offsetTime)xt=Dt[Dt.length-1].s?Dt[Dt.length-1].s[0]:Dt[Dt.length-2].e[0],Ot=!0;else {for(var Et=dt,Pt=Dt.length-1,kt=!0,ct,wt,qt;kt&&(ct=Dt[Et],wt=Dt[Et+1],!(wt.t-this.offsetTime>nt));)Et=wt.t-this.offsetTime)lt=1;else if(ntft&&nt>ft)||(this._caching.lastIndex=dt0||ct>-1e-6&&ct<0?M(ct*wt)/wt:ct}function kt(){var ct=this.props,wt=Pt(ct[0]),qt=Pt(ct[1]),zt=Pt(ct[4]),re=Pt(ct[5]),ie=Pt(ct[12]),de=Pt(ct[13]);return "matrix("+wt+","+qt+","+zt+","+re+","+ie+","+de+")"}return function(){this.reset=L,this.rotate=I,this.rotateX=H,this.rotateY=Q,this.rotateZ=Z,this.skew=pt,this.skewFromAxis=et,this.shear=st,this.scale=X,this.setTransform=$,this.translate=Y,this.transform=N,this.multiply=rt,this.applyToPoint=xt,this.applyToX=Lt,this.applyToY=Ot,this.applyToZ=Ft,this.applyToPointArray=Tt,this.applyToTriplePoints=lt,this.applyToPointStringified=Dt,this.toCSS=Et,this.to2dCSS=kt,this.clone=ft,this.cloneFromProps=dt,this.equals=K,this.inversePoints=At,this.inversePoint=_t,this.getInverseMatrix=$t,this._t=this.transform,this.isIdentity=nt,this._identity=!0,this._identityCalculated=!1,this.props=b("float32",16),this.reset();}}();function ms(o){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ms=function(d){return typeof d}:ms=function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},ms(o)}var se={};function gr(o){h(o);}function Oe(){te.searchAnimations();}function Ta(o){Xt(o);}function ra(o){pe(o);}function Ma(o){return te.loadAnimation(o)}function wa(o){if(typeof o=="string")switch(o){case"high":ne(200);break;default:case"medium":ne(50);break;case"low":ne(10);break}else !isNaN(o)&&o>1&&ne(o);}function Da(){return typeof navigator<"u"}function Fa(o,d){o==="expressions"&&Qt(d);}function Ia(o){switch(o){case"propertyFactory":return Yt;case"shapePropertyFactory":return ss;case"matrix":return Ce;default:return null}}se.play=te.play,se.pause=te.pause,se.setLocationHref=gr,se.togglePause=te.togglePause,se.setSpeed=te.setSpeed,se.setDirection=te.setDirection,se.stop=te.stop,se.searchAnimations=Oe,se.registerAnimation=te.registerAnimation,se.loadAnimation=Ma,se.setSubframeRendering=Ta,se.resize=te.resize,se.goToAndStop=te.goToAndStop,se.destroy=te.destroy,se.setQuality=wa,se.inBrowser=Da,se.installPlugin=Fa,se.freeze=te.freeze,se.unfreeze=te.unfreeze,se.setVolume=te.setVolume,se.mute=te.mute,se.unmute=te.unmute,se.getRegisteredAnimations=te.getRegisteredAnimations,se.useWebWorker=n,se.setIDPrefix=ra,se.__getFactory=Ia,se.version="5.12.2";function La(){document.readyState==="complete"&&(clearInterval(Ra),Oe());}function Va(o){for(var d=Or.split("&"),x=0;x"u"?"undefined":ms(t))==="object"&&typeof e<"u")&&!(typeof define=="function"&&define.amd)&&(window.bodymovin=se);}catch{}var _i=function(){var o={},d={};o.registerModifier=x,o.getModifier=M;function x(L,I){d[L]||(d[L]=I);}function M(L,I,H){return new d[L](I,H)}return o}();function ni(){}ni.prototype.initModifierProperties=function(){},ni.prototype.addShapeToModifier=function(){},ni.prototype.addShape=function(o){if(!this.closed){o.sh.container.addDynamicProperty(o.sh);var d={shape:o.sh,data:o,localShapeCollection:Ue.newShapeCollection()};this.shapes.push(d),this.addShapeToModifier(d),this._isAnimated&&o.setAsAnimated();}},ni.prototype.init=function(o,d){this.shapes=[],this.elem=o,this.initDynamicPropertyContainer(o),this.initModifierProperties(o,d),this.frameId=a,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0);},ni.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties());},c([Ve],ni);function je(){}c([ni],je),je.prototype.initModifierProperties=function(o,d){this.s=Yt.getProp(o,d.s,0,.01,this),this.e=Yt.getProp(o,d.e,0,.01,this),this.o=Yt.getProp(o,d.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=d.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;},je.prototype.addShapeToModifier=function(o){o.pathsData=[];},je.prototype.calculateShapeEdges=function(o,d,x,M,L){var I=[];d<=1?I.push({s:o,e:d}):o>=1?I.push({s:o-1,e:d-1}):(I.push({s:o,e:1}),I.push({s:0,e:d-1}));var H=[],Q,Z=I.length,st;for(Q=0;QM+x)){var pt,et;st.s*L<=M?pt=0:pt=(st.s*L-M)/x,st.e*L>=M+x?et=1:et=(st.e*L-M)/x,H.push([pt,et]);}return H.length||H.push([0,0]),H},je.prototype.releasePathsData=function(o){var d,x=o.length;for(d=0;d1?d=1+M:this.s.v<0?d=0+M:d=this.s.v+M,this.e.v>1?x=1+M:this.e.v<0?x=0+M:x=this.e.v+M,d>x){var L=d;d=x,x=L;}d=Math.round(d*1e4)*1e-4,x=Math.round(x*1e4)*1e-4,this.sValue=d,this.eValue=x;}else d=this.sValue,x=this.eValue;var I,H,Q=this.shapes.length,Z,st,pt,et,X,$=0;if(x===d)for(H=0;H=0;H-=1)if(N=this.shapes[H],N.shape._mdf){for(rt=N.localShapeCollection,rt.releaseShapes(),this.m===2&&Q>1?(dt=this.calculateShapeEdges(d,x,N.totalShapeLength,ft,$),ft+=N.totalShapeLength):dt=[[nt,K]],st=dt.length,Z=0;Z=1?Y.push({s:N.totalShapeLength*(nt-1),e:N.totalShapeLength*(K-1)}):(Y.push({s:N.totalShapeLength*nt,e:N.totalShapeLength}),Y.push({s:0,e:N.totalShapeLength*(K-1)}));var xt=this.addShapes(N,Y[0]);if(Y[0].s!==Y[0].e){if(Y.length>1){var Lt=N.shape.paths.shapes[N.shape.paths._length-1];if(Lt.c){var Ot=xt.pop();this.addPaths(xt,rt),xt=this.addShapes(N,Y[1],Ot);}else this.addPaths(xt,rt),xt=this.addShapes(N,Y[1]);}this.addPaths(xt,rt);}}N.shape.paths=rt;}}},je.prototype.addPaths=function(o,d){var x,M=o.length;for(x=0;xd.e){x.c=!1;break}else d.s<=st&&d.e>=st+pt.addedLength?(this.addSegment(L[I].v[Q-1],L[I].o[Q-1],L[I].i[Q],L[I].v[Q],x,et,rt),rt=!1):($=mi.getNewSegment(L[I].v[Q-1],L[I].v[Q],L[I].o[Q-1],L[I].i[Q],(d.s-st)/pt.addedLength,(d.e-st)/pt.addedLength,X[Q-1]),this.addSegmentFromArray($,x,et,rt),rt=!1,x.c=!1),st+=pt.addedLength,et+=1;if(L[I].c&&X.length){if(pt=X[Q-1],st<=d.e){var nt=X[Q-1].addedLength;d.s<=st&&d.e>=st+nt?(this.addSegment(L[I].v[Q-1],L[I].o[Q-1],L[I].i[0],L[I].v[0],x,et,rt),rt=!1):($=mi.getNewSegment(L[I].v[Q-1],L[I].v[0],L[I].o[Q-1],L[I].i[0],(d.s-st)/nt,(d.e-st)/nt,X[Q-1]),this.addSegmentFromArray($,x,et,rt),rt=!1,x.c=!1);}else x.c=!1;st+=pt.addedLength,et+=1;}if(x._length&&(x.setXYAt(x.v[N][0],x.v[N][1],"i",N),x.setXYAt(x.v[x._length-1][0],x.v[x._length-1][1],"o",x._length-1)),st>d.e)break;I=this.p.keyframes[this.p.keyframes.length-1].t?(pt=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/st,0),et=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/st,0)):(pt=this.p.pv,et=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/st,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){pt=[],et=[];var X=this.px,$=this.py;X._caching.lastFrame+X.offsetTime<=X.keyframes[0].t?(pt[0]=X.getValueAtTime((X.keyframes[0].t+.01)/st,0),pt[1]=$.getValueAtTime(($.keyframes[0].t+.01)/st,0),et[0]=X.getValueAtTime(X.keyframes[0].t/st,0),et[1]=$.getValueAtTime($.keyframes[0].t/st,0)):X._caching.lastFrame+X.offsetTime>=X.keyframes[X.keyframes.length-1].t?(pt[0]=X.getValueAtTime(X.keyframes[X.keyframes.length-1].t/st,0),pt[1]=$.getValueAtTime($.keyframes[$.keyframes.length-1].t/st,0),et[0]=X.getValueAtTime((X.keyframes[X.keyframes.length-1].t-.01)/st,0),et[1]=$.getValueAtTime(($.keyframes[$.keyframes.length-1].t-.01)/st,0)):(pt=[X.pv,$.pv],et[0]=X.getValueAtTime((X._caching.lastFrame+X.offsetTime-.01)/st,X.offsetTime),et[1]=$.getValueAtTime(($._caching.lastFrame+$.offsetTime-.01)/st,$.offsetTime));}else et=o,pt=et;this.v.rotate(-Math.atan2(pt[1]-et[1],pt[0]-et[0]));}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}this.frameId=this.elem.globalData.frameId;}}function M(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4);}function L(){}function I(Z){this._addDynamicProperty(Z),this.elem.addDynamicProperty(Z),this._isDirty=!0;}function H(Z,st,pt){if(this.elem=Z,this.frameId=-1,this.propType="transform",this.data=st,this.v=new Ce,this.pre=new Ce,this.appliedTransformations=0,this.initDynamicPropertyContainer(pt||Z),st.p&&st.p.s?(this.px=Yt.getProp(Z,st.p.x,0,0,this),this.py=Yt.getProp(Z,st.p.y,0,0,this),st.p.z&&(this.pz=Yt.getProp(Z,st.p.z,0,0,this))):this.p=Yt.getProp(Z,st.p||{k:[0,0,0]},1,0,this),st.rx){if(this.rx=Yt.getProp(Z,st.rx,0,ot,this),this.ry=Yt.getProp(Z,st.ry,0,ot,this),this.rz=Yt.getProp(Z,st.rz,0,ot,this),st.or.k[0].ti){var et,X=st.or.k.length;for(et=0;et0;)x-=1,this._elements.unshift(d[x]);this.dynamicProperties.length?this.k=!0:this.getValue(!0);},oi.prototype.resetElements=function(o){var d,x=o.length;for(d=0;d0?Math.floor(X):Math.ceil(X),N=this.pMatrix.props,rt=this.rMatrix.props,nt=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var K=0;if(X>0){for(;KY;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),K-=1;$&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-$,!0),K-=$);}M=this.data.m===1?0:this._currentCopies-1,L=this.data.m===1?1:-1,I=this._currentCopies;for(var ft,dt;I;){if(d=this.elemsData[M].it,x=d[d.length-1].transform.mProps.v.props,dt=x.length,d[d.length-1].transform.mProps._mdf=!0,d[d.length-1].transform.op._mdf=!0,d[d.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(M/(this._currentCopies-1)),K!==0){for((M!==0&&L===1||M!==this._currentCopies-1&&L===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(rt[0],rt[1],rt[2],rt[3],rt[4],rt[5],rt[6],rt[7],rt[8],rt[9],rt[10],rt[11],rt[12],rt[13],rt[14],rt[15]),this.matrix.transform(nt[0],nt[1],nt[2],nt[3],nt[4],nt[5],nt[6],nt[7],nt[8],nt[9],nt[10],nt[11],nt[12],nt[13],nt[14],nt[15]),this.matrix.transform(N[0],N[1],N[2],N[3],N[4],N[5],N[6],N[7],N[8],N[9],N[10],N[11],N[12],N[13],N[14],N[15]),ft=0;ft0&&M<1?[d]:[]:[d-M,d+M].filter(function(L){return L>0&&L<1})},Se.prototype.split=function(o){if(o<=0)return [Nr(this.points[0]),this];if(o>=1)return [this,Nr(this.points[this.points.length-1])];var d=Ai(this.points[0],this.points[1],o),x=Ai(this.points[1],this.points[2],o),M=Ai(this.points[2],this.points[3],o),L=Ai(d,x,o),I=Ai(x,M,o),H=Ai(L,I,o);return [new Se(this.points[0],d,L,H,!0),new Se(H,I,M,this.points[3],!0)]};function vr(o,d){var x=o.points[0][d],M=o.points[o.points.length-1][d];if(x>M){var L=M;M=x,x=L;}for(var I=na(3*o.a[d],2*o.b[d],o.c[d]),H=0;H0&&I[H]<1){var Q=o.point(I[H])[d];QM&&(M=Q);}return {min:x,max:M}}Se.prototype.bounds=function(){return {x:vr(this,0),y:vr(this,1)}},Se.prototype.boundingBox=function(){var o=this.bounds();return {left:o.x.min,right:o.x.max,top:o.y.min,bottom:o.y.max,width:o.x.max-o.x.min,height:o.y.max-o.y.min,cx:(o.x.max+o.x.min)/2,cy:(o.y.max+o.y.min)/2}};function $e(o,d,x){var M=o.boundingBox();return {cx:M.cx,cy:M.cy,width:M.width,height:M.height,bez:o,t:(d+x)/2,t1:d,t2:x}}function br(o){var d=o.bez.split(.5);return [$e(d[0],o.t1,o.t),$e(d[1],o.t,o.t2)]}function _r(o,d){return Math.abs(o.cx-d.cx)*2=I||o.width<=M&&o.height<=M&&d.width<=M&&d.height<=M){L.push([o.t,d.t]);return}var H=br(o),Q=br(d);gs(H[0],Q[0],x+1,M,L,I),gs(H[0],Q[1],x+1,M,L,I),gs(H[1],Q[0],x+1,M,L,I),gs(H[1],Q[1],x+1,M,L,I);}}Se.prototype.intersections=function(o,d,x){d===void 0&&(d=2),x===void 0&&(x=7);var M=[];return gs($e(this,0,1),$e(o,0,1),0,d,M,x),M},Se.shapeSegment=function(o,d){var x=(d+1)%o.length();return new Se(o.v[d],o.o[d],o.i[x],o.v[x],!0)},Se.shapeSegmentInverted=function(o,d){var x=(d+1)%o.length();return new Se(o.v[x],o.i[x],o.o[d],o.v[d],!0)};function rr(o,d){return [o[1]*d[2]-o[2]*d[1],o[2]*d[0]-o[0]*d[2],o[0]*d[1]-o[1]*d[0]]}function as(o,d,x,M){var L=[o[0],o[1],1],I=[d[0],d[1],1],H=[x[0],x[1],1],Q=[M[0],M[1],1],Z=rr(rr(L,I),rr(H,Q));return _s(Z[2])?null:[Z[0]/Z[2],Z[1]/Z[2]]}function Wi(o,d,x){return [o[0]+Math.cos(d)*x,o[1]-Math.sin(d)*x]}function ws(o,d){return Math.hypot(o[0]-d[0],o[1]-d[1])}function Fi(o,d){return Di(o[0],d[0])&&Di(o[1],d[1])}function ns(){}c([ni],ns),ns.prototype.initModifierProperties=function(o,d){this.getValue=this.processKeys,this.amplitude=Yt.getProp(o,d.s,0,null,this),this.frequency=Yt.getProp(o,d.r,0,null,this),this.pointsType=Yt.getProp(o,d.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function Ds(o,d,x,M,L,I,H){var Q=x-Math.PI/2,Z=x+Math.PI/2,st=d[0]+Math.cos(x)*M*L,pt=d[1]-Math.sin(x)*M*L;o.setTripleAt(st,pt,st+Math.cos(Q)*I,pt-Math.sin(Q)*I,st+Math.cos(Z)*H,pt-Math.sin(Z)*H,o.length());}function ar(o,d){var x=[d[0]-o[0],d[1]-o[1]],M=-Math.PI*.5,L=[Math.cos(M)*x[0]-Math.sin(M)*x[1],Math.sin(M)*x[0]+Math.cos(M)*x[1]];return L}function oa(o,d){var x=d===0?o.length()-1:d-1,M=(d+1)%o.length(),L=o.v[x],I=o.v[M],H=ar(L,I);return Math.atan2(0,1)-Math.atan2(H[1],H[0])}function Gr(o,d,x,M,L,I,H){var Q=oa(d,x),Z=d.v[x%d._length],st=d.v[x===0?d._length-1:x-1],pt=d.v[(x+1)%d._length],et=I===2?Math.sqrt(Math.pow(Z[0]-st[0],2)+Math.pow(Z[1]-st[1],2)):0,X=I===2?Math.sqrt(Math.pow(Z[0]-pt[0],2)+Math.pow(Z[1]-pt[1],2)):0;Ds(o,d.v[x%d._length],Q,H,M,X/((L+1)*2),et/((L+1)*2));}function Ba(o,d,x,M,L,I){for(var H=0;H1&&d.length>1&&(L=Fs(o[0],d[d.length-1]),L)?[[o[0].split(L[0])[0]],[d[d.length-1].split(L[1])[1]]]:[x,M]}function ha(o){for(var d,x=1;x1&&(d=xr(o[o.length-1],o[0]),o[o.length-1]=d[0],o[0]=d[1]),o}function Pr(o,d){var x=o.inflectionPoints(),M,L,I,H;if(x.length===0)return [os(o,d)];if(x.length===1||Di(x[1],1))return I=o.split(x[0]),M=I[0],L=I[1],[os(M,d),os(L,d)];I=o.split(x[0]),M=I[0];var Q=(x[1]-x[0])/(1-x[0]);return I=I[1].split(Q),H=I[0],L=I[1],[os(M,d),os(H,d),os(L,d)]}function xs(){}c([ni],xs),xs.prototype.initModifierProperties=function(o,d){this.getValue=this.processKeys,this.amount=Yt.getProp(o,d.a,0,null,this),this.miterLimit=Yt.getProp(o,d.ml,0,null,this),this.lineJoin=d.lj,this._isAnimated=this.amount.effectsSequence.length!==0;},xs.prototype.processPath=function(o,d,x,M){var L=Fe.newElement();L.c=o.c;var I=o.length();o.c||(I-=1);var H,Q,Z,st=[];for(H=0;H=0;H-=1)Z=Se.shapeSegmentInverted(o,H),st.push(Pr(Z,d));st=ha(st);var pt=null,et=null;for(H=0;H0&&(re=!1),re){var he=P("style");he.setAttribute("f-forigin",ct[wt].fOrigin),he.setAttribute("f-origin",ct[wt].origin),he.setAttribute("f-family",ct[wt].fFamily),he.type="text/css",he.innerText="@font-face {font-family: "+ct[wt].fFamily+"; font-style: normal; src: url('"+ct[wt].fPath+"');}",kt.appendChild(he);}}else if(ct[wt].fOrigin==="g"||ct[wt].origin===1){for(ie=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),de=0;de=55296&&ct<=56319){var wt=Pt.charCodeAt(1);wt>=56320&&wt<=57343&&(kt=(ct-55296)*1024+wt-56320+65536);}return kt}function Lt(Pt,kt){var ct=Pt.toString(16)+kt.toString(16);return et.indexOf(ct)!==-1}function Ot(Pt){return Pt===Z}function Ft(Pt){return Pt===Q}function $t(Pt){var kt=xt(Pt);return kt>=st&&kt<=pt}function _t(Pt){return $t(Pt.substr(0,2))&&$t(Pt.substr(2,2))}function At(Pt){return x.indexOf(Pt)!==-1}function lt(Pt,kt){var ct=xt(Pt.substr(kt,2));if(ct!==M)return !1;var wt=0;for(kt+=2;wt<5;){if(ct=xt(Pt.substr(kt,2)),ctH)return !1;wt+=1,kt+=2;}return xt(Pt.substr(kt,2))===L}function Tt(){this.isLoaded=!0;}var Dt=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};Dt.isModifier=Lt,Dt.isZeroWidthJoiner=Ot,Dt.isFlagEmoji=_t,Dt.isRegionalCode=$t,Dt.isCombinedCharacter=At,Dt.isRegionalFlag=lt,Dt.isVariationSelector=Ft,Dt.BLACK_FLAG_CODE_POINT=M;var Et={addChars:nt,addFonts:rt,getCharData:K,getFontByName:dt,measureText:ft,checkLoadedFonts:Y,setIsLoaded:Tt};return Dt.prototype=Et,Dt}();function Er(o){this.animationData=o;}Er.prototype.getProp=function(o){return this.animationData.slots&&this.animationData.slots[o.sid]?Object.assign(o,this.animationData.slots[o.sid].p):o};function Vs(o){return new Er(o)}function Ki(){}Ki.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[];},addRenderableComponent:function(o){this.renderableComponents.indexOf(o)===-1&&this.renderableComponents.push(o);},removeRenderableComponent:function(o){this.renderableComponents.indexOf(o)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(o),1);},prepareRenderableFrame:function(o){this.checkLayerLimits(o);},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show());},checkLayerLimits:function(o){this.data.ip-this.data.st<=o&&this.data.op-this.data.st>o?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide());},renderRenderable:function(){var o,d=this.renderableComponents.length;for(o=0;o.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0));},ke.prototype.show=function(){},ke.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1;},ke.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1;},ke.prototype.resume=function(){this._canPlay=!0;},ke.prototype.setRate=function(o){this.audio.rate(o);},ke.prototype.volume=function(o){this._volumeMultiplier=o,this._previousVolume=o*this._volume,this.audio.volume(this._previousVolume);},ke.prototype.getBaseElement=function(){return null},ke.prototype.destroy=function(){},ke.prototype.sourceRectAtTime=function(){},ke.prototype.initExpressions=function(){};function Te(){}Te.prototype.checkLayers=function(o){var d,x=this.layers.length,M;for(this.completeLayers=!0,d=x-1;d>=0;d-=1)this.elements[d]||(M=this.layers[d],M.ip-M.st<=o-this.layers[d].st&&M.op-M.st>o-this.layers[d].st&&this.buildItem(d)),this.completeLayers=this.elements[d]?this.completeLayers:!1;this.checkPendingElements();},Te.prototype.createItem=function(o){switch(o.ty){case 2:return this.createImage(o);case 0:return this.createComp(o);case 1:return this.createSolid(o);case 3:return this.createNull(o);case 4:return this.createShape(o);case 5:return this.createText(o);case 6:return this.createAudio(o);case 13:return this.createCamera(o);case 15:return this.createFootage(o);default:return this.createNull(o)}},Te.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},Te.prototype.createAudio=function(o){return new ke(o,this.globalData,this)},Te.prototype.createFootage=function(o){return new We(o,this.globalData,this)},Te.prototype.buildAllItems=function(){var o,d=this.layers.length;for(o=0;o0&&(this.maskElement.setAttribute("id",X),this.element.maskedElement.setAttribute(K,"url("+y()+"#"+X+")"),M.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this);}Oi.prototype.getMaskProperty=function(o){return this.viewData[o].prop},Oi.prototype.renderFrame=function(o){var d=this.element.finalTransform.mat,x,M=this.masksProperties.length;for(x=0;x1&&(M+=" C"+d.o[L-1][0]+","+d.o[L-1][1]+" "+d.i[0][0]+","+d.i[0][1]+" "+d.v[0][0]+","+d.v[0][1]),x.lastPath!==M){var H="";x.elem&&(d.c&&(H=o.inv?this.solidPath+M:M),x.elem.setAttribute("d",H)),x.lastPath=M;}},Oi.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null;};var xi=function(){var o={};o.createFilter=d,o.createAlphaToLuminanceFilter=x;function d(M,L){var I=Wt("filter");return I.setAttribute("id",M),L!==!0&&(I.setAttribute("filterUnits","objectBoundingBox"),I.setAttribute("x","0%"),I.setAttribute("y","0%"),I.setAttribute("width","100%"),I.setAttribute("height","100%")),I}function x(){var M=Wt("feColorMatrix");return M.setAttribute("type","matrix"),M.setAttribute("color-interpolation-filters","sRGB"),M.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),M}return o}(),Qi=function(){var o={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return (/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(o.maskType=!1),/firefox/i.test(navigator.userAgent)&&(o.svgLumaHidden=!1),o}(),Ss={},Ar="filter_result_";function Rs(o){var d,x="SourceGraphic",M=o.data.ef?o.data.ef.length:0,L=S(),I=xi.createFilter(L,!0),H=0;this.filters=[];var Q;for(d=0;d=0&&(x=this.shapeModifiers[o].processShapes(this._isFirstFrame),!x);o-=1);}},searchProcessedElement:function(o){for(var d=this.processedElements,x=0,M=d.length;x.01)return !1;x+=1;}return !0},hs.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return !1;if(this.data.k.k[0].s)for(var o=0,d=this.data.k.k.length;o0;)nt=X.transformers[$t].mProps._mdf||nt,Ft-=1,$t-=1;if(nt)for(Ft=xt-X.styles[ft].lvl,$t=X.transformers.length-1;Ft>0;)Ot.multiply(X.transformers[$t].mProps.v),Ft-=1,$t-=1;}else Ot=o;if(Lt=X.sh.paths,N=Lt._length,nt){for(rt="",Y=0;Y=1?Tt=.99:Tt<=-1&&(Tt=-.99);var Dt=At*Tt,Et=Math.cos(lt+X.a.v)*Dt+rt[0],Pt=Math.sin(lt+X.a.v)*Dt+rt[1];Y.setAttribute("fx",Et),Y.setAttribute("fy",Pt),N&&!X.g._collapsable&&(X.of.setAttribute("fx",Et),X.of.setAttribute("fy",Pt));}}}function pt(et,X,$){var Y=X.style,N=X.d;N&&(N._mdf||$)&&N.dashStr&&(Y.pElem.setAttribute("stroke-dasharray",N.dashStr),Y.pElem.setAttribute("stroke-dashoffset",N.dashoffset[0])),X.c&&(X.c._mdf||$)&&Y.pElem.setAttribute("stroke","rgb("+z(X.c.v[0])+","+z(X.c.v[1])+","+z(X.c.v[2])+")"),(X.o._mdf||$)&&Y.pElem.setAttribute("stroke-opacity",X.o.v),(X.w._mdf||$)&&(Y.pElem.setAttribute("stroke-width",X.w.v),Y.msElem&&Y.msElem.setAttribute("stroke-width",X.w.v));}return x}();function Ee(o,d,x){this.shapes=[],this.shapesData=o.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(o,d,x),this.prevViewData=[];}c([gi,Be,ys,Es,ki,hi,Li],Ee),Ee.prototype.initSecondaryElement=function(){},Ee.prototype.identityMatrix=new Ce,Ee.prototype.buildExpressionInterface=function(){},Ee.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes();},Ee.prototype.filterUniqueShapes=function(){var o,d=this.shapes.length,x,M,L=this.stylesList.length,I,H=[],Q=!1;for(M=0;M1&&Q&&this.setShapesAsAnimated(H);}},Ee.prototype.setShapesAsAnimated=function(o){var d,x=o.length;for(d=0;d=0;Z-=1){if(rt=this.searchProcessedElement(o[Z]),rt?d[Z]=x[rt-1]:o[Z]._render=H,o[Z].ty==="fl"||o[Z].ty==="st"||o[Z].ty==="gf"||o[Z].ty==="gs"||o[Z].ty==="no")rt?d[Z].style.closed=!1:d[Z]=this.createStyleElement(o[Z],L),o[Z]._render&&d[Z].style.pElem.parentNode!==M&&M.appendChild(d[Z].style.pElem),X.push(d[Z].style);else if(o[Z].ty==="gr"){if(!rt)d[Z]=this.createGroupElement(o[Z]);else for(et=d[Z].it.length,pt=0;pt1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},ye.prototype.addEffect=function(o){this.effectsSequence.push(o),this.elem.addDynamicProperty(this);},ye.prototype.getValue=function(o){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!o)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var d=this.currentData,x=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var M,L=this.effectsSequence.length,I=o||this.data.d.k[this.keysIndex].s;for(M=0;Md);)x+=1;return this.keysIndex!==x&&(this.keysIndex=x),this.data.d.k[this.keysIndex].s},ye.prototype.buildFinalText=function(o){for(var d=[],x=0,M=o.length,L,I,H=!1,Q=!1,Z="";x=55296&&L<=56319?Ci.isRegionalFlag(o,x)?Z=o.substr(x,14):(I=o.charCodeAt(x+1),I>=56320&&I<=57343&&(Ci.isModifier(L,I)?(Z=o.substr(x,2),H=!0):Ci.isFlagEmoji(o.substr(x,4))?Z=o.substr(x,4):Z=o.substr(x,2))):L>56319?(I=o.charCodeAt(x+1),Ci.isVariationSelector(L)&&(H=!0)):Ci.isZeroWidthJoiner(L)&&(H=!0,Q=!0),H?(d[d.length-1]+=Z,H=!1):d.push(Z),x+=Z.length;return d},ye.prototype.completeTextData=function(o){o.__complete=!0;var d=this.elem.globalData.fontManager,x=this.data,M=[],L,I,H,Q=0,Z,st=x.m.g,pt=0,et=0,X=0,$=[],Y=0,N=0,rt,nt,K=d.getFontByName(o.f),ft,dt=0,xt=Sr(K);o.fWeight=xt.weight,o.fStyle=xt.style,o.finalSize=o.s,o.finalText=this.buildFinalText(o.t),I=o.finalText.length,o.finalLineHeight=o.lh;var Lt=o.tr/1e3*o.finalSize,Ot;if(o.sz)for(var Ft=!0,$t=o.sz[0],_t=o.sz[1],At,lt;Ft;){lt=this.buildFinalText(o.t),At=0,Y=0,I=lt.length,Lt=o.tr/1e3*o.finalSize;var Tt=-1;for(L=0;L$t&<[L]!==" "?(Tt===-1?I+=1:L=Tt,At+=o.finalLineHeight||o.finalSize*1.2,lt.splice(L,Tt===L?1:0,"\r"),Tt=-1,Y=0):(Y+=dt,Y+=Lt);At+=K.ascent*o.finalSize/100,this.canResize&&o.finalSize>this.minimumFontSize&&_tN?Y:N,Y=-2*Lt,Z="",H=!0,X+=1):Z=Et,d.chars?(ft=d.getCharData(Et,K.fStyle,d.getFontByName(o.f).fFamily),dt=H?0:ft.w*o.finalSize/100):dt=d.measureText(Z,o.f,o.finalSize),Et===" "?Dt+=dt+Lt:(Y+=dt+Lt+Dt,Dt=0),M.push({l:dt,an:dt,add:pt,n:H,anIndexes:[],val:Z,line:X,animatorJustifyOffset:0}),st==2){if(pt+=dt,Z===""||Z===" "||L===I-1){for((Z===""||Z===" ")&&(pt-=dt);et<=L;)M[et].an=pt,M[et].ind=Q,M[et].extra=dt,et+=1;Q+=1,pt=0;}}else if(st==3){if(pt+=dt,Z===""||L===I-1){for(Z===""&&(pt-=dt);et<=L;)M[et].an=pt,M[et].ind=Q,M[et].extra=dt,et+=1;pt=0,Q+=1;}}else M[Q].ind=Q,M[Q].extra=0,Q+=1;if(o.l=M,N=Y>N?Y:N,$.push(Y),o.sz)o.boxWidth=o.sz[0],o.justifyOffset=0;else switch(o.boxWidth=N,o.j){case 1:o.justifyOffset=-o.boxWidth;break;case 2:o.justifyOffset=-o.boxWidth/2;break;default:o.justifyOffset=0;}o.lineWidths=$;var Pt=x.a,kt,ct;nt=Pt.length;var wt,qt,zt=[];for(rt=0;rt0?H=this.ne.v/100:Q=-this.ne.v/100,this.xe.v>0?Z=1-this.xe.v/100:st=1+this.xe.v/100;var pt=Ut.getBezierEasing(H,Q,Z,st).get,et=0,X=this.finalS,$=this.finalE,Y=this.data.sh;if(Y===2)$===X?et=I>=$?1:0:et=o(0,d(.5/($-X)+(I-X)/($-X),1)),et=pt(et);else if(Y===3)$===X?et=I>=$?0:1:et=1-o(0,d(.5/($-X)+(I-X)/($-X),1)),et=pt(et);else if(Y===4)$===X?et=0:(et=o(0,d(.5/($-X)+(I-X)/($-X),1)),et<.5?et*=2:et=1-2*(et-.5)),et=pt(et);else if(Y===5){if($===X)et=0;else {var N=$-X;I=d(o(0,I+.5-X),$-X);var rt=-N/2+I,nt=N/2;et=Math.sqrt(1-rt*rt/(nt*nt));}et=pt(et);}else Y===6?($===X?et=0:(I=d(o(0,I+.5-X),$-X),et=(1+Math.cos(Math.PI+Math.PI*2*I/($-X)))/2),et=pt(et)):(I>=x(X)&&(I-X<0?et=o(0,d(d($,1)-(X-I),1)):et=o(0,d($-I,1))),et=pt(et));if(this.sm.v!==100){var K=this.sm.v*.01;K===0&&(K=1e-8);var ft=.5-K*.5;et1&&(et=1));}return et*this.a.v},getValue:function(I){this.iterateDynamicProperties(),this._mdf=I||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,I&&this.data.r===2&&(this.e.v=this._currentTextLength);var H=this.data.r===2?1:100/this.data.totalChars,Q=this.o.v/H,Z=this.s.v/H+Q,st=this.e.v/H+Q;if(Z>st){var pt=Z;Z=st,st=pt;}this.finalS=Z,this.finalE=st;}},c([Ve],M);function L(I,H,Q){return new M(I,H)}return {getTextSelectorProp:L}}();function Vi(o,d,x){var M={propType:!1},L=Yt.getProp,I=d.a;this.a={r:I.r?L(o,I.r,0,ot,x):M,rx:I.rx?L(o,I.rx,0,ot,x):M,ry:I.ry?L(o,I.ry,0,ot,x):M,sk:I.sk?L(o,I.sk,0,ot,x):M,sa:I.sa?L(o,I.sa,0,ot,x):M,s:I.s?L(o,I.s,1,.01,x):M,a:I.a?L(o,I.a,1,0,x):M,o:I.o?L(o,I.o,0,.01,x):M,p:I.p?L(o,I.p,1,0,x):M,sw:I.sw?L(o,I.sw,0,0,x):M,sc:I.sc?L(o,I.sc,1,0,x):M,fc:I.fc?L(o,I.fc,1,0,x):M,fh:I.fh?L(o,I.fh,0,0,x):M,fs:I.fs?L(o,I.fs,0,.01,x):M,fb:I.fb?L(o,I.fb,0,.01,x):M,t:I.t?L(o,I.t,0,0,x):M},this.s=$r.getTextSelectorProp(o,d.s,x),this.s.t=d.s.t;}function Xi(o,d,x){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=o,this._renderType=d,this._elem=x,this._animatorsData=v(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(x);}Xi.prototype.searchProperties=function(){var o,d=this._textData.a.length,x,M=Yt.getProp;for(o=0;o=Y+Ns||!xt?($t=(Y+Ns-rt)/N.partialLength,de=dt.point[0]+(N.point[0]-dt.point[0])*$t,he=dt.point[1]+(N.point[1]-dt.point[1])*$t,I.translate(-x[0]*X[pt].an*.005,-(x[1]*Dt)*.01),nt=!1):xt&&(rt+=N.partialLength,K+=1,K>=xt.length&&(K=0,ft+=1,Lt[ft]?xt=Lt[ft].points:At.v.c?(K=0,ft=0,xt=Lt[ft].points):(rt-=N.partialLength,xt=null)),xt&&(dt=N,N=xt[K],Ot=N.partialLength));ie=X[pt].an/2-X[pt].add,I.translate(-ie,0,0);}else ie=X[pt].an/2-X[pt].add,I.translate(-ie,0,0),I.translate(-x[0]*X[pt].an*.005,-x[1]*Dt*.01,0);for(ct=0;cto?this.textSpans[o].span:Wt(Q?"g":"text"),ft<=o){if(Z.setAttribute("stroke-linecap","butt"),Z.setAttribute("stroke-linejoin","round"),Z.setAttribute("stroke-miterlimit","4"),this.textSpans[o].span=Z,Q){var xt=Wt("g");Z.appendChild(xt),this.textSpans[o].childSpan=xt;}this.textSpans[o].span=Z,this.layerElement.appendChild(Z);}Z.style.display="inherit";}if(st.reset(),et&&(H[o].n&&(X=-N,$+=x.yOffset,$+=Y?1:0,Y=!1),this.applyTextPropertiesToMatrix(x,st,H[o].line,X,$),X+=H[o].l||0,X+=N),Q){dt=this.globalData.fontManager.getCharData(x.finalText[o],M.fStyle,this.globalData.fontManager.getFontByName(x.f).fFamily);var Lt;if(dt.t===1)Lt=new Ze(dt.data,this.globalData,this);else {var Ot=zs;dt.data&&dt.data.shapes&&(Ot=this.buildShapeData(dt.data,x.finalSize)),Lt=new Ee(Ot,this.globalData,this);}if(this.textSpans[o].glyph){var Ft=this.textSpans[o].glyph;this.textSpans[o].childSpan.removeChild(Ft.layerElement),Ft.destroy();}this.textSpans[o].glyph=Lt,Lt._debug=!0,Lt.prepareFrame(0),Lt.renderFrame(),this.textSpans[o].childSpan.appendChild(Lt.layerElement),dt.t===1&&this.textSpans[o].childSpan.setAttribute("transform","scale("+x.finalSize/100+","+x.finalSize/100+")");}else et&&Z.setAttribute("transform","translate("+st.props[12]+","+st.props[13]+")"),Z.textContent=H[o].val,Z.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");}et&&Z&&Z.setAttribute("d",pt);}for(;o=0;d-=1)(this.completeLayers||this.elements[d])&&this.elements[d].prepareFrame(o-this.layers[d].st);if(this.globalData._mdf)for(d=0;d=0;x-=1)(this.completeLayers||this.elements[x])&&(this.elements[x].prepareFrame(this.renderedFrame-this.layers[x].st),this.elements[x]._mdf&&(this._mdf=!0));}},ti.prototype.renderInnerContent=function(){var o,d=this.layers.length;for(o=0;o=0;x-=1)o.finalTransform.multiply(o.transforms[x].transform.mProps.v);o._mdf=L;},processSequences:function(o){var d,x=this.sequenceList.length;for(d=0;d=1){this.buffers=[];var o=this.globalData.canvasContext,d=U.createCanvas(o.canvas.width,o.canvas.height);this.buffers.push(d);var x=U.createCanvas(o.canvas.width,o.canvas.height);this.buffers.push(x),this.data.tt>=3&&!document._isProxy&&U.loadLumaCanvas();}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new it(this),this.searchEffectTransforms();},createContent:function(){},setBlendMode:function(){var o=this.globalData;if(o.blendMode!==this.data.bm){o.blendMode=this.data.bm;var d=Ys(this.data.bm);o.canvasContext.globalCompositeOperation=d;}},createRenderableComponents:function(){this.maskManager=new vt(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(Ii.TRANSFORM_EFFECT);},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0);},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0);},clearCanvas:function(o){o.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy);},prepareLayer:function(){if(this.data.tt>=1){var o=this.buffers[0],d=o.getContext("2d");this.clearCanvas(d),d.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);}},exitLayer:function(){if(this.data.tt>=1){var o=this.buffers[1],d=o.getContext("2d");this.clearCanvas(d),d.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var x=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(x.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var M=U.getLumaCanvas(this.canvasContext.canvas),L=M.getContext("2d");L.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(M,0,0);}this.canvasContext.globalCompositeOperation=bt[this.data.tt],this.canvasContext.drawImage(o,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over";}},renderFrame:function(o){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!o)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var d=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(d),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(d),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1);}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy();},mHelper:new Ce},Mt.prototype.hide=Mt.prototype.hideElement,Mt.prototype.show=Mt.prototype.showElement;function Bt(o,d,x,M){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var L=4;d.ty==="rc"?L=5:d.ty==="el"?L=6:d.ty==="sr"&&(L=7),this.sh=ss.getShapeProp(o,d,L,o);var I,H=x.length,Q;for(I=0;I=0;I-=1){if(et=this.searchProcessedElement(o[I]),et?d[I]=x[et-1]:o[I]._shouldRender=M,o[I].ty==="fl"||o[I].ty==="st"||o[I].ty==="gf"||o[I].ty==="gs")et?d[I].style.closed=!1:d[I]=this.createStyleElement(o[I],Y),st.push(d[I].style);else if(o[I].ty==="gr"){if(!et)d[I]=this.createGroupElement(o[I]);else for(Z=d[I].it.length,Q=0;Q=0;L-=1)d[L].ty==="tr"?(H=x[L].transform,this.renderShapeTransform(o,H)):d[L].ty==="sh"||d[L].ty==="el"||d[L].ty==="rc"||d[L].ty==="sr"?this.renderPath(d[L],x[L]):d[L].ty==="fl"?this.renderFill(d[L],x[L],H):d[L].ty==="st"?this.renderStroke(d[L],x[L],H):d[L].ty==="gf"||d[L].ty==="gs"?this.renderGradientFill(d[L],x[L],H):d[L].ty==="gr"?this.renderShape(H,d[L].it,x[L].it):d[L].ty;M&&this.drawLayer();},It.prototype.renderStyledShape=function(o,d){if(this._isFirstFrame||d._mdf||o.transforms._mdf){var x=o.trNodes,M=d.paths,L,I,H,Q=M._length;x.length=0;var Z=o.transforms.finalTransform;for(H=0;H=1?pt=.99:pt<=-1&&(pt=-.99);var et=Z*pt,X=Math.cos(st+d.a.v)*et+H[0],$=Math.sin(st+d.a.v)*et+H[1];L=I.createRadialGradient(X,$,0,H[0],H[1],Z);}var Y,N=o.g.p,rt=d.g.c,nt=1;for(Y=0;YI&&Z==="xMidYMid slice"||LL&&Q==="meet"||IL&&Q==="slice")?this.transformCanvas.tx=(x-this.transformCanvas.w*(M/this.transformCanvas.h))/2*this.renderConfig.dpr:st==="xMax"&&(IL&&Q==="slice")?this.transformCanvas.tx=(x-this.transformCanvas.w*(M/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,pt==="YMid"&&(I>L&&Q==="meet"||IL&&Q==="meet"||I=0;o-=1)this.elements[o]&&this.elements[o].destroy&&this.elements[o].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0;},C.prototype.renderFrame=function(o,d){if(!(this.renderedFrame===o&&this.renderConfig.clearCanvas===!0&&!d||this.destroyed||o===-1)){this.renderedFrame=o,this.globalData.frameNum=o-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||d,this.globalData.projectInterface.currentFrame=o;var x,M=this.layers.length;for(this.completeLayers||this.checkLayers(o),x=M-1;x>=0;x-=1)(this.completeLayers||this.elements[x])&&this.elements[x].prepareFrame(o-this.layers[x].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),x=M-1;x>=0;x-=1)(this.completeLayers||this.elements[x])&&this.elements[x].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore();}}},C.prototype.buildItem=function(o){var d=this.elements;if(!(d[o]||this.layers[o].ty===99)){var x=this.createItem(this.layers[o],this,this.globalData);d[o]=x,x.initExpressions();}},C.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var o=this.pendingElements.pop();o.checkParenting();}},C.prototype.hide=function(){this.animationItem.container.style.display="none";},C.prototype.show=function(){this.animationItem.container.style.display="block";};function T(){this.opacity=-1,this.transform=b("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random();}function B(){this.stack=[],this.cArrPos=0,this.cTr=new Ce;var o,d=15;for(o=0;o=0;d-=1)(this.completeLayers||this.elements[d])&&this.elements[d].renderFrame();},G.prototype.destroy=function(){var o,d=this.layers.length;for(o=d-1;o>=0;o-=1)this.elements[o]&&this.elements[o].destroy();this.layers=null,this.elements=null;},G.prototype.createComp=function(o){return new G(o,this.globalData,this)};function O(o,d){this.animationItem=o,this.renderConfig={clearCanvas:d&&d.clearCanvas!==void 0?d.clearCanvas:!0,context:d&&d.context||null,progressiveLoad:d&&d.progressiveLoad||!1,preserveAspectRatio:d&&d.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:d&&d.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:d&&d.contentVisibility||"visible",className:d&&d.className||"",id:d&&d.id||"",runExpressions:!d||d.runExpressions===void 0||d.runExpressions},this.renderConfig.dpr=d&&d.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=d&&d.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new B,this.elements=[],this.pendingElements=[],this.transformMat=new Ce,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData));}return c([C],O),O.prototype.createComp=function(o){return new G(o,this.globalData,this)},Ae("canvas",O),_i.registerModifier("tm",je),_i.registerModifier("pb",di),_i.registerModifier("rp",oi),_i.registerModifier("rd",rs),_i.registerModifier("zz",ns),_i.registerModifier("op",xs),se});}),Sc=Pc();});var El={};fr(El,{default:()=>Ac});var Ec,Ac,Al=ls(()=>{qs();Ec=is((exports,module)=>{typeof navigator<"u"&&function(t,e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.lottie=e());}(exports,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t;},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t;},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var i,s=t.length,r;for(i=0;i1?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[2]+=e,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[0]+=e/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}(function(){var t=[],e,i;for(e=0;e<256;e+=1)i=e.toString(16),t[e]=i.length===1?"0"+i:i;return function(s,r,a){return s<0&&(s=0),r<0&&(r=0),a<0&&(a=0),"#"+t[s]+t[r]+t[a]}})();var setSubframeEnabled=function(t){subframeEnabled=!!t;},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t;},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t;},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t;},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t;};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(e){return typeof e}:_typeof$5=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(t)}var dataManager=function(){var t=1,e=[],i,s,r={onmessage:function(){},postMessage:function(l){i({data:l});}},a={postMessage:function(l){r.onmessage({data:l});}};function n(l){if(window.Worker&&window.Blob&&getWebWorker()){var E=new Blob(["var _workerSelf = self; self.onmessage = ",l.toString()],{type:"text/javascript"}),b=URL.createObjectURL(E);return new Worker(b)}return i=l,r}function p(){s||(s=n(function(l){function E(){function v(ht,yt){var D,V,S=ht.length,R,tt,J,Gt;for(V=0;V=0;yt-=1)if(ht[yt].ty==="sh")if(ht[yt].ks.k.i)_(ht[yt].ks.k);else for(S=ht[yt].ks.k.length,V=0;VD[0]?!0:D[0]>ht[0]?!1:ht[1]>D[1]?!0:D[1]>ht[1]?!1:ht[2]>D[2]?!0:D[2]>ht[2]?!1:null}var z=function(){var ht=[4,4,14];function yt(V){var S=V.t.d;V.t.d={k:[{s:S,t:0}]};}function D(V){var S,R=V.length;for(S=0;S=0;S-=1)if(V[S].ty==="sh")if(V[S].ks.k.i)V[S].ks.k.c=V[S].closed;else for(J=V[S].ks.k.length,tt=0;tt500)&&(this._imageLoaded(),clearInterval(g)),f+=1;}.bind(this),50);}function a(u){var f=s(u,this.assetsPath,this.path),g=createNS("image");isSafari?this.testImageLoaded(g):g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.setAttributeNS("http://www.w3.org/1999/xlink","href",f),this._elementHelper.append?this._elementHelper.append(g):this._elementHelper.appendChild(g);var _={img:g,assetData:u};return _}function n(u){var f=s(u,this.assetsPath,this.path),g=createTag("img");g.crossOrigin="anonymous",g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.src=f;var _={img:g,assetData:u};return _}function p(u){var f={assetData:u},g=s(u,this.assetsPath,this.path);return dataManager.loadData(g,function(_){f.img=_,this._footageLoaded();}.bind(this),function(){f.img={},this._footageLoaded();}.bind(this)),f}function h(u,f){this.imagesLoadedCb=f;var g,_=u.length;for(g=0;g<_;g+=1)u[g].layers||(!u[g].t||u[g].t==="seq"?(this.totalImages+=1,this.images.push(this._createImageData(u[g]))):u[g].t===3&&(this.totalFootages+=1,this.images.push(this.createFootageData(u[g]))));}function y(u){this.path=u||"";}function P(u){this.assetsPath=u||"";}function c(u){for(var f=0,g=this.images.length;fthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e=this.animationData.layers,i,s=e.length,r=t.layers,a,n=r.length;for(a=0;athis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame");},AnimationItem.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(t){this.triggerRenderFrameError(t);}},AnimationItem.prototype.play=function(t){t&&this.name!==t||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")));},AnimationItem.prototype.pause=function(t){t&&this.name!==t||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause());},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(this.isPaused===!0?this.play():this.pause());},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0));},AnimationItem.prototype.getMarkerData=function(t){for(var e,i=0;i=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(i=!0,e=this.totalFrames-1):e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):e<0?this.checkSegments(e%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(i=!0,e=0)):this.setCurrentRawFrameValue(e),i&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"));}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart");},AnimationItem.prototype.setSegment=function(t,e){var i=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(i=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,i!==-1&&this.goToAndStop(i,!0);},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),_typeof$4(t[0])==="object"){var i,s=t.length;for(i=0;i=0;V-=1)e[V].animation.destroy(D);}function W(D,V,S){var R=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),tt,J=R.length;for(tt=0;tt0?_=W:g=W;while(Math.abs(q)>a&&++ot=r?w(f,mt,g,_):gt===0?mt:v(f,z,z+h,g,_)}},t}(),pooling=function(){function t(e){return e.concat(createSizedArray(e.length))}return {double:t}}(),poolFactory=function(){return function(t,e,i){var s=0,r=t,a=createSizedArray(r),n={newElement:p,release:h};function p(){var y;return s?(s-=1,y=a[s]):y=e(),y}function h(y){s===r&&(a=pooling.double(a),r*=2),i&&i(y),a[s]=y,s+=1;}return n}}(),bezierLengthPool=function(){function t(){return {addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,t)}(),segmentsLengthPool=function(){function t(){return {lengths:[],totalLength:0}}function e(i){var s,r=i.lengths.length;for(s=0;s-.001&&f<.001}function i(l,E,b,v,w,u,f,g,_){if(b===0&&u===0&&_===0)return e(l,E,v,w,f,g);var k=t.sqrt(t.pow(v-l,2)+t.pow(w-E,2)+t.pow(u-b,2)),z=t.sqrt(t.pow(f-l,2)+t.pow(g-E,2)+t.pow(_-b,2)),q=t.sqrt(t.pow(f-v,2)+t.pow(g-w,2)+t.pow(_-u,2)),W;return k>z?k>q?W=k-z-q:W=q-z-k:q>z?W=q-z-k:W=z-k-q,W>-1e-4&&W<1e-4}var s=function(){return function(l,E,b,v){var w=getDefaultCurveSegments(),u,f,g,_,k,z=0,q,W=[],ot=[],mt=bezierLengthPool.newElement();for(g=b.length,u=0;uf?-1:1,k=!0;k;)if(v[u]<=f&&v[u+1]>f?(g=(f-v[u])/(v[u+1]-v[u]),k=!1):u+=_,u<0||u>=w-1){if(u===w-1)return b[u];k=!1;}return b[u]+(b[u+1]-b[u])*g}function y(l,E,b,v,w,u){var f=h(w,u),g=1-f,_=t.round((g*g*g*l[0]+(f*g*g+g*f*g+g*g*f)*b[0]+(f*f*g+g*f*f+f*g*f)*v[0]+f*f*f*E[0])*1e3)/1e3,k=t.round((g*g*g*l[1]+(f*g*g+g*f*g+g*g*f)*b[1]+(f*f*g+g*f*f+f*g*f)*v[1]+f*f*f*E[1])*1e3)/1e3;return [_,k]}var P=createTypedArray("float32",8);function c(l,E,b,v,w,u,f){w<0?w=0:w>1&&(w=1);var g=h(w,f);u=u>1?1:u;var _=h(u,f),k,z=l.length,q=1-g,W=1-_,ot=q*q*q,mt=g*q*q*3,gt=g*g*q*3,ut=g*g*g,Ct=q*q*W,ht=g*q*W+q*g*W+q*q*_,yt=g*g*W+q*g*_+g*q*_,D=g*g*_,V=q*W*W,S=g*W*W+q*_*W+q*W*_,R=g*_*W+q*_*_+g*W*_,tt=g*_*_,J=W*W*W,Gt=_*W*W+W*_*W+W*W*_,Vt=_*_*W+W*_*_+_*W*_,Xt=_*_*_;for(k=0;k=y.t-i){h.h&&(h=y),r=0;break}if(y.t-i>t){r=a;break}a=u||t=u?_.points.length-1:0;for(l=_.points[k].point.length,c=0;c=W&&z=u)s[0]=g[0],s[1]=g[1],s[2]=g[2];else if(t<=f)s[0]=h.s[0],s[1]=h.s[1],s[2]=h.s[2];else {var ht=createQuaternion(h.s),yt=createQuaternion(g),D=(t-f)/(u-f);quaternionToEuler(s,slerp(ht,yt,D));}else for(a=0;a=u?E=1:t1e-6?(l=Math.acos(E),b=Math.sin(l),v=Math.sin((1-i)*l)/b,w=Math.sin(i*l)/b):(v=1-i,w=i),s[0]=v*r+w*h,s[1]=v*a+w*y,s[2]=v*n+w*P,s[3]=v*p+w*c,s}function quaternionToEuler(t,e){var i=e[0],s=e[1],r=e[2],a=e[3],n=Math.atan2(2*s*a-2*i*r,1-2*s*s-2*r*r),p=Math.asin(2*i*s+2*r*a),h=Math.atan2(2*i*a-2*s*r,1-2*i*i-2*r*r);t[0]=n/degToRads,t[1]=p/degToRads,t[2]=h/degToRads;}function createQuaternion(t){var e=t[0]*degToRads,i=t[1]*degToRads,s=t[2]*degToRads,r=Math.cos(e/2),a=Math.cos(i/2),n=Math.cos(s/2),p=Math.sin(e/2),h=Math.sin(i/2),y=Math.sin(s/2),P=r*a*n-p*h*y,c=p*h*n+r*a*y,l=p*a*n+r*h*y,E=r*h*n-p*a*y;return [c,l,E,P]}function getValueAtCurrentTime(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=i&&t>=i||this._caching.lastFrame=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var s=this.interpolateValue(t,this._caching);this.pv=s;}return this._caching.lastFrame=t,this.pv}function setVValue(t){var e;if(this.propType==="unidimensional")e=t*this.mult,mathAbs(this.v-e)>1e-5&&(this.v=e,this._mdf=!0);else for(var i=0,s=this.v.length;i1e-5&&(this.v[i]=e,this._mdf=!0),i+=1;}function processEffectsSequence(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var t,e=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),i){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[];break}(!a[s]||a[s]&&!r)&&(a[s]=pointPool.newElement()),a[s][0]=t,a[s][1]=e;},ShapePath.prototype.setTripleAt=function(t,e,i,s,r,a,n,p){this.setXYAt(t,e,"v",n,p),this.setXYAt(i,s,"o",n,p),this.setXYAt(r,a,"i",n,p);},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,i=this.o,s=this.i,r=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],s[0][0],s[0][1],i[0][0],i[0][1],0,!1),r=1);var a=this._length-1,n=this._length,p;for(p=r;p=ht[ht.length-1].t-this.offsetTime)k=ht[ht.length-1].s?ht[ht.length-1].s[0]:ht[ht.length-2].e[0],q=!0;else {for(var yt=_,D=ht.length-1,V=!0,S,R,tt;V&&(S=ht[yt],R=ht[yt+1],!(R.t-this.offsetTime>u));)yt=R.t-this.offsetTime)ut=1;else if(ug&&u>g)||(this._caching.lastIndex=_0||S>-1e-6&&S<0?s(S*R)/R:S}function V(){var S=this.props,R=D(S[0]),tt=D(S[1]),J=D(S[4]),Gt=D(S[5]),Vt=D(S[12]),Xt=D(S[13]);return "matrix("+R+","+tt+","+J+","+Gt+","+Vt+","+Xt+")"}return function(){this.reset=r,this.rotate=a,this.rotateX=n,this.rotateY=p,this.rotateZ=h,this.skew=P,this.skewFromAxis=c,this.shear=y,this.scale=l,this.setTransform=E,this.translate=b,this.transform=v,this.multiply=w,this.applyToPoint=k,this.applyToX=z,this.applyToY=q,this.applyToZ=W,this.applyToPointArray=Ct,this.applyToTriplePoints=ut,this.applyToPointStringified=ht,this.toCSS=yt,this.to2dCSS=V,this.clone=g,this.cloneFromProps=_,this.equals=f,this.inversePoints=gt,this.inversePoint=mt,this.getInverseMatrix=ot,this._t=this.transform,this.isIdentity=u,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset();}}();function _typeof$3(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(e){return typeof e}:_typeof$3=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(t)}var lottie={};function setLocation(t){setLocationHref(t);}function searchAnimations(){animationManager.searchAnimations();}function setSubframeRendering(t){setSubframeEnabled(t);}function setPrefix(t){setIdPrefix(t);}function loadAnimation(t){return animationManager.loadAnimation(t)}function setQuality(t){if(typeof t=="string")switch(t){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else !isNaN(t)&&t>1&&setDefaultCurveSegments(t);}function inBrowser(){return typeof navigator<"u"}function installPlugin(t,e){t==="expressions"&&setExpressionsPlugin(e);}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations());}function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i"u"?"undefined":_typeof$3(exports))==="object"&&typeof module<"u")&&!(typeof define=="function"&&define.amd)&&(window.bodymovin=lottie);}catch(t){}var ShapeModifiers=function(){var t={},e={};t.registerModifier=i,t.getModifier=s;function i(r,a){e[r]||(e[r]=a);}function s(r,a,n){return new e[r](a,n)}return t}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(t){if(!this.closed){t.sh.container.addDynamicProperty(t.sh);var e={shape:t.sh,data:t,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated&&t.setAsAnimated();}},ShapeModifier.prototype.init=function(t,e){this.shapes=[],this.elem=t,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0);},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties());},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(t,e){this.s=PropertyFactory.getProp(t,e.s,0,.01,this),this.e=PropertyFactory.getProp(t,e.e,0,.01,this),this.o=PropertyFactory.getProp(t,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;},TrimModifier.prototype.addShapeToModifier=function(t){t.pathsData=[];},TrimModifier.prototype.calculateShapeEdges=function(t,e,i,s,r){var a=[];e<=1?a.push({s:t,e}):t>=1?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n=[],p,h=a.length,y;for(p=0;ps+i)){var P,c;y.s*r<=s?P=0:P=(y.s*r-s)/i,y.e*r>=s+i?c=1:c=(y.e*r-s)/i,n.push([P,c]);}return n.length||n.push([0,0]),n},TrimModifier.prototype.releasePathsData=function(t){var e,i=t.length;for(e=0;e1?e=1+s:this.s.v<0?e=0+s:e=this.s.v+s,this.e.v>1?i=1+s:this.e.v<0?i=0+s:i=this.e.v+s,e>i){var r=e;e=i,i=r;}e=Math.round(e*1e4)*1e-4,i=Math.round(i*1e4)*1e-4,this.sValue=e,this.eValue=i;}else e=this.sValue,i=this.eValue;var a,n,p=this.shapes.length,h,y,P,c,l,E=0;if(i===e)for(n=0;n=0;n-=1)if(v=this.shapes[n],v.shape._mdf){for(w=v.localShapeCollection,w.releaseShapes(),this.m===2&&p>1?(_=this.calculateShapeEdges(e,i,v.totalShapeLength,g,E),g+=v.totalShapeLength):_=[[u,f]],y=_.length,h=0;h=1?b.push({s:v.totalShapeLength*(u-1),e:v.totalShapeLength*(f-1)}):(b.push({s:v.totalShapeLength*u,e:v.totalShapeLength}),b.push({s:0,e:v.totalShapeLength*(f-1)}));var k=this.addShapes(v,b[0]);if(b[0].s!==b[0].e){if(b.length>1){var z=v.shape.paths.shapes[v.shape.paths._length-1];if(z.c){var q=k.pop();this.addPaths(k,w),k=this.addShapes(v,b[1],q);}else this.addPaths(k,w),k=this.addShapes(v,b[1]);}this.addPaths(k,w);}}v.shape.paths=w;}}},TrimModifier.prototype.addPaths=function(t,e){var i,s=t.length;for(i=0;ie.e){i.c=!1;break}else e.s<=y&&e.e>=y+P.addedLength?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[p],r[a].v[p],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[p],r[a].o[p-1],r[a].i[p],(e.s-y)/P.addedLength,(e.e-y)/P.addedLength,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1),y+=P.addedLength,c+=1;if(r[a].c&&l.length){if(P=l[p-1],y<=e.e){var u=l[p-1].addedLength;e.s<=y&&e.e>=y+u?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[0],r[a].v[0],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[0],r[a].o[p-1],r[a].i[0],(e.s-y)/u,(e.e-y)/u,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1);}else i.c=!1;y+=P.addedLength,c+=1;}if(i._length&&(i.setXYAt(i.v[v][0],i.v[v][1],"i",v),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),y>e.e)break;a=this.p.keyframes[this.p.keyframes.length-1].t?(P=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/y,0),c=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/y,0)):(P=this.p.pv,c=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/y,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){P=[],c=[];var l=this.px,E=this.py;l._caching.lastFrame+l.offsetTime<=l.keyframes[0].t?(P[0]=l.getValueAtTime((l.keyframes[0].t+.01)/y,0),P[1]=E.getValueAtTime((E.keyframes[0].t+.01)/y,0),c[0]=l.getValueAtTime(l.keyframes[0].t/y,0),c[1]=E.getValueAtTime(E.keyframes[0].t/y,0)):l._caching.lastFrame+l.offsetTime>=l.keyframes[l.keyframes.length-1].t?(P[0]=l.getValueAtTime(l.keyframes[l.keyframes.length-1].t/y,0),P[1]=E.getValueAtTime(E.keyframes[E.keyframes.length-1].t/y,0),c[0]=l.getValueAtTime((l.keyframes[l.keyframes.length-1].t-.01)/y,0),c[1]=E.getValueAtTime((E.keyframes[E.keyframes.length-1].t-.01)/y,0)):(P=[l.pv,E.pv],c[0]=l.getValueAtTime((l._caching.lastFrame+l.offsetTime-.01)/y,l.offsetTime),c[1]=E.getValueAtTime((E._caching.lastFrame+E.offsetTime-.01)/y,E.offsetTime));}else c=t,P=c;this.v.rotate(-Math.atan2(P[1]-c[1],P[0]-c[0]));}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}this.frameId=this.elem.globalData.frameId;}}function s(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4);}function r(){}function a(h){this._addDynamicProperty(h),this.elem.addDynamicProperty(h),this._isDirty=!0;}function n(h,y,P){if(this.elem=h,this.frameId=-1,this.propType="transform",this.data=y,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(P||h),y.p&&y.p.s?(this.px=PropertyFactory.getProp(h,y.p.x,0,0,this),this.py=PropertyFactory.getProp(h,y.p.y,0,0,this),y.p.z&&(this.pz=PropertyFactory.getProp(h,y.p.z,0,0,this))):this.p=PropertyFactory.getProp(h,y.p||{k:[0,0,0]},1,0,this),y.rx){if(this.rx=PropertyFactory.getProp(h,y.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(h,y.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(h,y.rz,0,degToRads,this),y.or.k[0].ti){var c,l=y.or.k.length;for(c=0;c0;)i-=1,this._elements.unshift(e[i]);this.dynamicProperties.length?this.k=!0:this.getValue(!0);},RepeaterModifier.prototype.resetElements=function(t){var e,i=t.length;for(e=0;e0?Math.floor(l):Math.ceil(l),v=this.pMatrix.props,w=this.rMatrix.props,u=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var f=0;if(l>0){for(;fb;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),f-=1;E&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-E,!0),f-=E);}s=this.data.m===1?0:this._currentCopies-1,r=this.data.m===1?1:-1,a=this._currentCopies;for(var g,_;a;){if(e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,_=i.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(s/(this._currentCopies-1)),f!==0){for((s!==0&&r===1||s!==this._currentCopies-1&&r===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9],w[10],w[11],w[12],w[13],w[14],w[15]),this.matrix.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),this.matrix.transform(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15]),g=0;g<_;g+=1)i[g]=this.matrix.props[g];this.matrix.reset();}else for(this.matrix.reset(),g=0;g<_;g+=1)i[g]=this.matrix.props[g];f+=1,a-=1,s+=r;}}else for(a=this._currentCopies,s=0,r=1;a;)e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,a-=1,s+=r;return n},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(t,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length;},RoundCornersModifier.prototype.processPath=function(t,e){var i=shapePool.newElement();i.c=t.c;var s,r=t._length,a,n,p,h,y,P,c=0,l,E,b,v,w,u;for(s=0;s0&&s<1?[e]:[]:[e-s,e+s].filter(function(r){return r>0&&r<1})},PolynomialBezier.prototype.split=function(t){if(t<=0)return [singlePoint(this.points[0]),this];if(t>=1)return [this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),i=lerpPoint(this.points[1],this.points[2],t),s=lerpPoint(this.points[2],this.points[3],t),r=lerpPoint(e,i,t),a=lerpPoint(i,s,t),n=lerpPoint(r,a,t);return [new PolynomialBezier(this.points[0],e,r,n,!0),new PolynomialBezier(n,a,s,this.points[3],!0)]};function extrema(t,e){var i=t.points[0][e],s=t.points[t.points.length-1][e];if(i>s){var r=s;s=i,i=r;}for(var a=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),n=0;n0&&a[n]<1){var p=t.point(a[n])[e];ps&&(s=p);}return {min:i,max:s}}PolynomialBezier.prototype.bounds=function(){return {x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return {left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}};function intersectData(t,e,i){var s=t.boundingBox();return {cx:s.cx,cy:s.cy,width:s.width,height:s.height,bez:t,t:(e+i)/2,t1:e,t2:i}}function splitData(t){var e=t.bez.split(.5);return [intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return Math.abs(t.cx-e.cx)*2=a||t.width<=s&&t.height<=s&&e.width<=s&&e.height<=s){r.push([t.t,e.t]);return}var n=splitData(t),p=splitData(e);intersectsImpl(n[0],p[0],i+1,s,r,a),intersectsImpl(n[0],p[1],i+1,s,r,a),intersectsImpl(n[1],p[0],i+1,s,r,a),intersectsImpl(n[1],p[1],i+1,s,r,a);}}PolynomialBezier.prototype.intersections=function(t,e,i){e===void 0&&(e=2),i===void 0&&(i=7);var s=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,s,i),s},PolynomialBezier.shapeSegment=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[i],t.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[i],t.i[i],t.o[e],t.v[e],!0)};function crossProduct(t,e){return [t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,i,s){var r=[t[0],t[1],1],a=[e[0],e[1],1],n=[i[0],i[1],1],p=[s[0],s[1],1],h=crossProduct(crossProduct(r,a),crossProduct(n,p));return floatZero(h[2])?null:[h[0]/h[2],h[1]/h[2]]}function polarOffset(t,e,i){return [t[0]+Math.cos(e)*i,t[1]-Math.sin(e)*i]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function setPoint(t,e,i,s,r,a,n){var p=i-Math.PI/2,h=i+Math.PI/2,y=e[0]+Math.cos(i)*s*r,P=e[1]-Math.sin(i)*s*r;t.setTripleAt(y,P,y+Math.cos(p)*a,P-Math.sin(p)*a,y+Math.cos(h)*n,P-Math.sin(h)*n,t.length());}function getPerpendicularVector(t,e){var i=[e[0]-t[0],e[1]-t[1]],s=-Math.PI*.5,r=[Math.cos(s)*i[0]-Math.sin(s)*i[1],Math.sin(s)*i[0]+Math.cos(s)*i[1]];return r}function getProjectingAngle(t,e){var i=e===0?t.length()-1:e-1,s=(e+1)%t.length(),r=t.v[i],a=t.v[s],n=getPerpendicularVector(r,a);return Math.atan2(0,1)-Math.atan2(n[1],n[0])}function zigZagCorner(t,e,i,s,r,a,n){var p=getProjectingAngle(e,i),h=e.v[i%e._length],y=e.v[i===0?e._length-1:i-1],P=e.v[(i+1)%e._length],c=a===2?Math.sqrt(Math.pow(h[0]-y[0],2)+Math.pow(h[1]-y[1],2)):0,l=a===2?Math.sqrt(Math.pow(h[0]-P[0],2)+Math.pow(h[1]-P[1],2)):0;setPoint(t,e.v[i%e._length],p,n,s,l/((r+1)*2),c/((r+1)*2));}function zigZagSegment(t,e,i,s,r,a){for(var n=0;n1&&e.length>1&&(r=getIntersection(t[0],e[e.length-1]),r)?[[t[0].split(r[0])[0]],[e[e.length-1].split(r[1])[1]]]:[i,s]}function pruneIntersections(t){for(var e,i=1;i1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var i=t.inflectionPoints(),s,r,a,n;if(i.length===0)return [offsetSegment(t,e)];if(i.length===1||floatEqual(i[1],1))return a=t.split(i[0]),s=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(r,e)];a=t.split(i[0]),s=a[0];var p=(i[1]-i[0])/(1-i[0]);return a=a[1].split(p),n=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(n,e),offsetSegment(r,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(t,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0;},OffsetPathModifier.prototype.processPath=function(t,e,i,s){var r=shapePool.newElement();r.c=t.c;var a=t.length();t.c||(a-=1);var n,p,h,y=[];for(n=0;n=0;n-=1)h=PolynomialBezier.shapeSegmentInverted(t,n),y.push(offsetSegmentSplit(h,e));y=pruneIntersections(y);var P=null,c=null;for(n=0;n0&&(Gt=!1),Gt){var Ht=createTag("style");Ht.setAttribute("f-forigin",S[R].fOrigin),Ht.setAttribute("f-origin",S[R].origin),Ht.setAttribute("f-family",S[R].fFamily),Ht.type="text/css",Ht.innerText="@font-face {font-family: "+S[R].fFamily+"; font-style: normal; src: url('"+S[R].fPath+"');}",V.appendChild(Ht);}}else if(S[R].fOrigin==="g"||S[R].origin===1){for(Vt=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),Xt=0;Xt=55296&&S<=56319){var R=D.charCodeAt(1);R>=56320&&R<=57343&&(V=(S-55296)*1024+R-56320+65536);}return V}function z(D,V){var S=D.toString(16)+V.toString(16);return c.indexOf(S)!==-1}function q(D){return D===h}function W(D){return D===p}function ot(D){var V=k(D);return V>=y&&V<=P}function mt(D){return ot(D.substr(0,2))&&ot(D.substr(2,2))}function gt(D){return i.indexOf(D)!==-1}function ut(D,V){var S=k(D.substr(V,2));if(S!==s)return !1;var R=0;for(V+=2;R<5;){if(S=k(D.substr(V,2)),Sn)return !1;R+=1,V+=2;}return k(D.substr(V,2))===r}function Ct(){this.isLoaded=!0;}var ht=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};ht.isModifier=z,ht.isZeroWidthJoiner=q,ht.isFlagEmoji=mt,ht.isRegionalCode=ot,ht.isCombinedCharacter=gt,ht.isRegionalFlag=ut,ht.isVariationSelector=W,ht.BLACK_FLAG_CODE_POINT=s;var yt={addChars:u,addFonts:w,getCharData:f,getFontByName:_,measureText:g,checkLoadedFonts:b,setIsLoaded:Ct};return ht.prototype=yt,ht}();function SlotManager(t){this.animationData=t;}SlotManager.prototype.getProp=function(t){return this.animationData.slots&&this.animationData.slots[t.sid]?Object.assign(t,this.animationData.slots[t.sid].p):t};function slotFactory(t){return new SlotManager(t)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[];},addRenderableComponent:function(t){this.renderableComponents.indexOf(t)===-1&&this.renderableComponents.push(t);},removeRenderableComponent:function(t){this.renderableComponents.indexOf(t)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(t),1);},prepareRenderableFrame:function(t){this.checkLayerLimits(t);},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show());},checkLayerLimits:function(t){this.data.ip-this.data.st<=t&&this.data.op-this.data.st>t?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide());},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0));},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1;},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1;},AudioElement.prototype.resume=function(){this._canPlay=!0;},AudioElement.prototype.setRate=function(t){this.audio.rate(t);},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume);},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(t){var e,i=this.layers.length,s;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(s=this.layers[e],s.ip-s.st<=t-this.layers[e].st&&s.op-s.st>t-this.layers[e].st&&this.buildItem(e)),this.completeLayers=this.elements[e]?this.completeLayers:!1;this.checkPendingElements();},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t0&&(this.maskElement.setAttribute("id",l),this.element.maskedElement.setAttribute(f,"url("+getLocationHref()+"#"+l+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this);}MaskElement.prototype.getMaskProperty=function(t){return this.viewData[t].prop},MaskElement.prototype.renderFrame=function(t){var e=this.element.finalTransform.mat,i,s=this.masksProperties.length;for(i=0;i1&&(s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),i.lastPath!==s){var n="";i.elem&&(e.c&&(n=t.inv?this.solidPath+s:s),i.elem.setAttribute("d",n)),i.lastPath=s;}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null;};var filtersFactory=function(){var t={};t.createFilter=e,t.createAlphaToLuminanceFilter=i;function e(s,r){var a=createNS("filter");return a.setAttribute("id",s),r!==!0&&(a.setAttribute("filterUnits","objectBoundingBox"),a.setAttribute("x","0%"),a.setAttribute("y","0%"),a.setAttribute("width","100%"),a.setAttribute("height","100%")),a}function i(){var s=createNS("feColorMatrix");return s.setAttribute("type","matrix"),s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),s}return t}(),featureSupport=function(){var t={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return (/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),/firefox/i.test(navigator.userAgent)&&(t.svgLumaHidden=!1),t}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(t){var e,i="SourceGraphic",s=t.data.ef?t.data.ef.length:0,r=createElementID(),a=filtersFactory.createFilter(r,!0),n=0;this.filters=[];var p;for(e=0;e=0&&(i=this.shapeModifiers[t].processShapes(this._isFirstFrame),!i);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,i=0,s=e.length;i.01)return !1;i+=1;}return !0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return !1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)u=l.transformers[ot].mProps._mdf||u,W-=1,ot-=1;if(u)for(W=k-l.styles[g].lvl,ot=l.transformers.length-1;W>0;)q.multiply(l.transformers[ot].mProps.v),W-=1,ot-=1;}else q=t;if(z=l.sh.paths,v=z._length,u){for(w="",b=0;b=1?Ct=.99:Ct<=-1&&(Ct=-.99);var ht=gt*Ct,yt=Math.cos(ut+l.a.v)*ht+w[0],D=Math.sin(ut+l.a.v)*ht+w[1];b.setAttribute("fx",yt),b.setAttribute("fy",D),v&&!l.g._collapsable&&(l.of.setAttribute("fx",yt),l.of.setAttribute("fy",D));}}}function P(c,l,E){var b=l.style,v=l.d;v&&(v._mdf||E)&&v.dashStr&&(b.pElem.setAttribute("stroke-dasharray",v.dashStr),b.pElem.setAttribute("stroke-dashoffset",v.dashoffset[0])),l.c&&(l.c._mdf||E)&&b.pElem.setAttribute("stroke","rgb("+bmFloor(l.c.v[0])+","+bmFloor(l.c.v[1])+","+bmFloor(l.c.v[2])+")"),(l.o._mdf||E)&&b.pElem.setAttribute("stroke-opacity",l.o.v),(l.w._mdf||E)&&(b.pElem.setAttribute("stroke-width",l.w.v),b.msElem&&b.msElem.setAttribute("stroke-width",l.w.v));}return i}();function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,i),this.prevViewData=[];}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes();},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e=this.shapes.length,i,s,r=this.stylesList.length,a,n=[],p=!1;for(s=0;s1&&p&&this.setShapesAsAnimated(n);}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,i=t.length;for(e=0;e=0;h-=1){if(w=this.searchProcessedElement(t[h]),w?e[h]=i[w-1]:t[h]._render=n,t[h].ty==="fl"||t[h].ty==="st"||t[h].ty==="gf"||t[h].ty==="gs"||t[h].ty==="no")w?e[h].style.closed=!1:e[h]=this.createStyleElement(t[h],r),t[h]._render&&e[h].style.pElem.parentNode!==s&&s.appendChild(e[h].style.pElem),l.push(e[h].style);else if(t[h].ty==="gr"){if(!w)e[h]=this.createGroupElement(t[h]);else for(c=e[h].it.length,P=0;P1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this);},TextProperty.prototype.getValue=function(t){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!t)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var s,r=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(s=0;se);)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e=[],i=0,s=t.length,r,a,n=!1,p=!1,h="";i=55296&&r<=56319?FontManager.isRegionalFlag(t,i)?h=t.substr(i,14):(a=t.charCodeAt(i+1),a>=56320&&a<=57343&&(FontManager.isModifier(r,a)?(h=t.substr(i,2),n=!0):FontManager.isFlagEmoji(t.substr(i,4))?h=t.substr(i,4):h=t.substr(i,2))):r>56319?(a=t.charCodeAt(i+1),FontManager.isVariationSelector(r)&&(n=!0)):FontManager.isZeroWidthJoiner(r)&&(n=!0,p=!0),n?(e[e.length-1]+=h,n=!1):e.push(h),i+=h.length;return e},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e=this.elem.globalData.fontManager,i=this.data,s=[],r,a,n,p=0,h,y=i.m.g,P=0,c=0,l=0,E=[],b=0,v=0,w,u,f=e.getFontByName(t.f),g,_=0,k=getFontProperties(f);t.fWeight=k.weight,t.fStyle=k.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),a=t.finalText.length,t.finalLineHeight=t.lh;var z=t.tr/1e3*t.finalSize,q;if(t.sz)for(var W=!0,ot=t.sz[0],mt=t.sz[1],gt,ut;W;){ut=this.buildFinalText(t.t),gt=0,b=0,a=ut.length,z=t.tr/1e3*t.finalSize;var Ct=-1;for(r=0;rot&&ut[r]!==" "?(Ct===-1?a+=1:r=Ct,gt+=t.finalLineHeight||t.finalSize*1.2,ut.splice(r,Ct===r?1:0,"\r"),Ct=-1,b=0):(b+=_,b+=z);gt+=f.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&mtv?b:v,b=-2*z,h="",n=!0,l+=1):h=yt,e.chars?(g=e.getCharData(yt,f.fStyle,e.getFontByName(t.f).fFamily),_=n?0:g.w*t.finalSize/100):_=e.measureText(h,t.f,t.finalSize),yt===" "?ht+=_+z:(b+=_+z+ht,ht=0),s.push({l:_,an:_,add:P,n,anIndexes:[],val:h,line:l,animatorJustifyOffset:0}),y==2){if(P+=_,h===""||h===" "||r===a-1){for((h===""||h===" ")&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;p+=1,P=0;}}else if(y==3){if(P+=_,h===""||r===a-1){for(h===""&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;P=0,p+=1;}}else s[p].ind=p,s[p].extra=0,p+=1;if(t.l=s,v=b>v?b:v,E.push(b),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0;}t.lineWidths=E;var D=i.a,V,S;u=D.length;var R,tt,J=[];for(w=0;w0?n=this.ne.v/100:p=-this.ne.v/100,this.xe.v>0?h=1-this.xe.v/100:y=1+this.xe.v/100;var P=BezierFactory.getBezierEasing(n,p,h,y).get,c=0,l=this.finalS,E=this.finalE,b=this.data.sh;if(b===2)E===l?c=a>=E?1:0:c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===3)E===l?c=a>=E?0:1:c=1-t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===4)E===l?c=0:(c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c<.5?c*=2:c=1-2*(c-.5)),c=P(c);else if(b===5){if(E===l)c=0;else {var v=E-l;a=e(t(0,a+.5-l),E-l);var w=-v/2+a,u=v/2;c=Math.sqrt(1-w*w/(u*u));}c=P(c);}else b===6?(E===l?c=0:(a=e(t(0,a+.5-l),E-l),c=(1+Math.cos(Math.PI+Math.PI*2*a/(E-l)))/2),c=P(c)):(a>=i(l)&&(a-l<0?c=t(0,e(e(E,1)-(l-a),1)):c=t(0,e(E-a,1))),c=P(c));if(this.sm.v!==100){var f=this.sm.v*.01;f===0&&(f=1e-8);var g=.5-f*.5;c1&&(c=1));}return c*this.a.v},getValue:function(a){this.iterateDynamicProperties(),this._mdf=a||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,a&&this.data.r===2&&(this.e.v=this._currentTextLength);var n=this.data.r===2?1:100/this.data.totalChars,p=this.o.v/n,h=this.s.v/n+p,y=this.e.v/n+p;if(h>y){var P=h;h=y,y=P;}this.finalS=h,this.finalE=y;}},extendPrototype([DynamicPropertyContainer],s);function r(a,n,p){return new s(a,n)}return {getTextSelectorProp:r}}();function TextAnimatorDataProperty(t,e,i){var s={propType:!1},r=PropertyFactory.getProp,a=e.a;this.a={r:a.r?r(t,a.r,0,degToRads,i):s,rx:a.rx?r(t,a.rx,0,degToRads,i):s,ry:a.ry?r(t,a.ry,0,degToRads,i):s,sk:a.sk?r(t,a.sk,0,degToRads,i):s,sa:a.sa?r(t,a.sa,0,degToRads,i):s,s:a.s?r(t,a.s,1,.01,i):s,a:a.a?r(t,a.a,1,0,i):s,o:a.o?r(t,a.o,0,.01,i):s,p:a.p?r(t,a.p,1,0,i):s,sw:a.sw?r(t,a.sw,0,0,i):s,sc:a.sc?r(t,a.sc,1,0,i):s,fc:a.fc?r(t,a.fc,1,0,i):s,fh:a.fh?r(t,a.fh,0,0,i):s,fs:a.fs?r(t,a.fs,0,.01,i):s,fb:a.fb?r(t,a.fb,0,.01,i):s,t:a.t?r(t,a.t,0,0,i):s},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,i),this.s.t=e.s.t;}function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i);}TextAnimatorProperty.prototype.searchProperties=function(){var t,e=this._textData.a.length,i,s=PropertyFactory.getProp;for(t=0;t=b+oe||!k?(ot=(b+oe-w)/v.partialLength,Xt=_.point[0]+(v.point[0]-_.point[0])*ot,Ht=_.point[1]+(v.point[1]-_.point[1])*ot,a.translate(-i[0]*l[P].an*.005,-(i[1]*ht)*.01),u=!1):k&&(w+=v.partialLength,f+=1,f>=k.length&&(f=0,g+=1,z[g]?k=z[g].points:gt.v.c?(f=0,g=0,k=z[g].points):(w-=v.partialLength,k=null)),k&&(_=v,v=k[f],q=v.partialLength));Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0);}else Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0),a.translate(-i[0]*l[P].an*.005,-i[1]*ht*.01,0);for(S=0;St?this.textSpans[t].span:createNS(p?"g":"text"),g<=t){if(h.setAttribute("stroke-linecap","butt"),h.setAttribute("stroke-linejoin","round"),h.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=h,p){var k=createNS("g");h.appendChild(k),this.textSpans[t].childSpan=k;}this.textSpans[t].span=h,this.layerElement.appendChild(h);}h.style.display="inherit";}if(y.reset(),c&&(n[t].n&&(l=-v,E+=i.yOffset,E+=b?1:0,b=!1),this.applyTextPropertiesToMatrix(i,y,n[t].line,l,E),l+=n[t].l||0,l+=v),p){_=this.globalData.fontManager.getCharData(i.finalText[t],s.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily);var z;if(_.t===1)z=new SVGCompElement(_.data,this.globalData,this);else {var q=emptyShapeData;_.data&&_.data.shapes&&(q=this.buildShapeData(_.data,i.finalSize)),z=new SVGShapeElement(q,this.globalData,this);}if(this.textSpans[t].glyph){var W=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(W.layerElement),W.destroy();}this.textSpans[t].glyph=z,z._debug=!0,z.prepareFrame(0),z.renderFrame(),this.textSpans[t].childSpan.appendChild(z.layerElement),_.t===1&&this.textSpans[t].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")");}else c&&h.setAttribute("transform","translate("+y.props[12]+","+y.props[13]+")"),h.textContent=n[t].val,h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");}c&&h&&h.setAttribute("d",P);}for(;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;i-=1)(this.completeLayers||this.elements[i])&&(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf&&(this._mdf=!0));}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t=0;i-=1)t.finalTransform.multiply(t.transforms[i].transform.mProps.v);t._mdf=r;},processSequences:function(t){var e,i=this.sequenceList.length;for(e=0;e=1){this.buffers=[];var t=this.globalData.canvasContext,e=assetLoader.createCanvas(t.canvas.width,t.canvas.height);this.buffers.push(e);var i=assetLoader.createCanvas(t.canvas.width,t.canvas.height);this.buffers.push(i),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas();}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms();},createContent:function(){},setBlendMode:function(){var t=this.globalData;if(t.blendMode!==this.data.bm){t.blendMode=this.data.bm;var e=getBlendMode(this.data.bm);t.canvasContext.globalCompositeOperation=e;}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);},hideElement:function(){!this.hidden&&(!this.isInRange||this.isTransparent)&&(this.hidden=!0);},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0);},clearCanvas:function(t){t.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy);},prepareLayer:function(){if(this.data.tt>=1){var t=this.buffers[0],e=t.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);}},exitLayer:function(){if(this.data.tt>=1){var t=this.buffers[1],e=t.getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var i=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(i.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var s=assetLoader.getLumaCanvas(this.canvasContext.canvas),r=s.getContext("2d");r.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(s,0,0);}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(t,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over";}},renderFrame:function(t){if(!(this.hidden||this.data.hd)&&!(this.data.td===1&&!t)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var e=this.data.ty===0;this.prepareLayer(),this.globalData.renderer.save(e),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(e),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1);}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy();},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(t,e,i,s){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var r=4;e.ty==="rc"?r=5:e.ty==="el"?r=6:e.ty==="sr"&&(r=7),this.sh=ShapePropertyFactory.getShapeProp(t,e,r,t);var a,n=i.length,p;for(a=0;a=0;a-=1){if(c=this.searchProcessedElement(t[a]),c?e[a]=i[c-1]:t[a]._shouldRender=s,t[a].ty==="fl"||t[a].ty==="st"||t[a].ty==="gf"||t[a].ty==="gs")c?e[a].style.closed=!1:e[a]=this.createStyleElement(t[a],b),y.push(e[a].style);else if(t[a].ty==="gr"){if(!c)e[a]=this.createGroupElement(t[a]);else for(h=e[a].it.length,p=0;p=0;r-=1)e[r].ty==="tr"?(n=i[r].transform,this.renderShapeTransform(t,n)):e[r].ty==="sh"||e[r].ty==="el"||e[r].ty==="rc"||e[r].ty==="sr"?this.renderPath(e[r],i[r]):e[r].ty==="fl"?this.renderFill(e[r],i[r],n):e[r].ty==="st"?this.renderStroke(e[r],i[r],n):e[r].ty==="gf"||e[r].ty==="gs"?this.renderGradientFill(e[r],i[r],n):e[r].ty==="gr"?this.renderShape(n,e[r].it,i[r].it):e[r].ty;s&&this.drawLayer();},CVShapeElement.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var i=t.trNodes,s=e.paths,r,a,n,p=s._length;i.length=0;var h=t.transforms.finalTransform;for(n=0;n=1?P=.99:P<=-1&&(P=-.99);var c=h*P,l=Math.cos(y+e.a.v)*c+n[0],E=Math.sin(y+e.a.v)*c+n[1];r=a.createRadialGradient(l,E,0,n[0],n[1],h);}var b,v=t.g.p,w=e.g.c,u=1;for(b=0;ba&&h==="xMidYMid slice"||rr&&p==="meet"||ar&&p==="slice")?this.transformCanvas.tx=(i-this.transformCanvas.w*(s/this.transformCanvas.h))/2*this.renderConfig.dpr:y==="xMax"&&(ar&&p==="slice")?this.transformCanvas.tx=(i-this.transformCanvas.w*(s/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,P==="YMid"&&(a>r&&p==="meet"||ar&&p==="meet"||a=0;t-=1)this.elements[t]&&this.elements[t].destroy&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0;},CanvasRendererBase.prototype.renderFrame=function(t,e){if(!(this.renderedFrame===t&&this.renderConfig.clearCanvas===!0&&!e||this.destroyed||t===-1)){this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var i,s=this.layers.length;for(this.completeLayers||this.checkLayers(t),i=s-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].prepareFrame(t-this.layers[i].st);if(this.globalData._mdf){for(this.renderConfig.clearCanvas===!0?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),i=s-1;i>=0;i-=1)(this.completeLayers||this.elements[i])&&this.elements[i].renderFrame();this.renderConfig.clearCanvas!==!0&&this.restore();}}},CanvasRendererBase.prototype.buildItem=function(t){var e=this.elements;if(!(e[t]||this.layers[t].ty===99)){var i=this.createItem(this.layers[t],this,this.globalData);e[t]=i,i.initExpressions();}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var t=this.pendingElements.pop();t.checkParenting();}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none";},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block";};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random();}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var t,e=15;for(t=0;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame();},CVCompElement.prototype.destroy=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null;},CVCompElement.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)};function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={clearCanvas:e&&e.clearCanvas!==void 0?e.clearCanvas:!0,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",className:e&&e.className||"",id:e&&e.id||"",runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData));}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},registerRenderer("canvas",CanvasRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier);var CompExpressionInterface=function(){return function(t){function e(i){for(var s=0,r=t.layers.length;s=y;)mt/=2,gt/=2,ut>>>=1;return (mt+ut)/gt};return ot.int32=function(){return W.g(4)|0},ot.quick=function(){return W.g(4)/4294967296},ot.double=ot,w(f(W.S),t),(_.pass||k||function(mt,gt,ut,Ct){return Ct&&(Ct.S&&b(Ct,W),mt.state=function(){return b(W,{})}),ut?(e[n]=mt,gt):mt})(ot,q,"global"in _?_.global:this==e,_.state)}e["seed"+n]=l;function E(g){var _,k=g.length,z=this,q=0,W=z.i=z.j=0,ot=z.S=[];for(k||(g=[k++]);qi){var s=i;i=e,e=s;}return Math.min(Math.max(t,e),i)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if(typeof t=="number"||t instanceof Number)return e=e||0,Math.abs(t-e);e||(e=helperLengthArray);var i,s=Math.min(t.length,e.length),r=0;for(i=0;i.5?y/(2-r-a):y/(r+a),r){case e:n=(i-s)/y+(i1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function hslToRgb(t){var e=t[0],i=t[1],s=t[2],r,a,n;if(i===0)r=s,n=s,a=s;else {var p=s<.5?s*(1+i):s+i-s*i,h=2*s-p;r=hue2rgb(h,p,e+1/3),a=hue2rgb(h,p,e),n=hue2rgb(h,p,e-1/3);}return [r,a,n,t[3]]}function linear(t,e,i,s,r){if((s===void 0||r===void 0)&&(s=e,r=i,e=0,i=1),i=i)return r;var n=i===e?0:(t-e)/(i-e);if(!s.length)return s+(r-s)*n;var p,h=s.length,y=createTypedArray("float32",h);for(p=0;p1){for(r=0;r1?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(r)){var p,h=r.length,y=createTypedArray("float32",h);for(p=0;pdata.k[e].t&&tdata.k[e+1].t-t?(s=e+2,r=data.k[e+1].t):(s=e+1,r=data.k[e].t);break}s===-1&&(s=e+1,r=data.k[e].t);}var a={};return a.index=s,a.time=r/elem.comp.globalData.frameRate,a}function key(t){var e,i,s;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var r=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(s=r.length,i=0;iw.length-1)&&(E=w.length-1),g=w[w.length-1-E].t,f=u-g);var _,k,z;if(l==="pingpong"){var q=Math.floor((v-g)/f);if(q%2!==0)return this.getValueAtTime((f-(v-g)%f+g)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(g/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(u/this.comp.globalData.frameRate,0),mt=this.getValueAtTime(((v-g)%f+g)/this.comp.globalData.frameRate,0),gt=Math.floor((v-g)/f);if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_=u)return this.pv;var f,g;b?(E?f=Math.abs(this.elem.comp.globalData.frameRate*E):f=Math.max(0,this.elem.data.op-u),g=u+f):((!E||E>w.length-1)&&(E=w.length-1),g=w[E].t,f=g-u);var _,k,z;if(l==="pingpong"){var q=Math.floor((u-v)/f);if(q%2===0)return this.getValueAtTime(((u-v)%f+u)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(u/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(g/this.comp.globalData.frameRate,0),mt=this.getValueAtTime((f-(u-v)%f+u)/this.comp.globalData.frameRate,0),gt=Math.floor((u-v)/f)+1;if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_1?(w-v)/(E-1):1,f=0,g=0,_;this.pv.length?_=createTypedArray("float32",this.pv.length):_=0;for(var k;fu){var z=f,q=b.c&&f===g-1?0:f+1,W=(u-_)/w[f].addedLength;k=bez.getPointInSegment(b.v[z],b.v[q],b.o[z],b.i[q],W,w[f]);break}else _+=w[f].addedLength;f+=1;}return k||(k=b.c?[b.v[0][0],b.v[0][1]]:[b.v[b._length-1][0],b.v[b._length-1][1]]),k},vectorOnPath:function(l,E,b){l==1?l=this.v.c:l==0&&(l=.999);var v=this.pointOnPath(l,E),w=this.pointOnPath(l+.001,E),u=w[0]-v[0],f=w[1]-v[1],g=Math.sqrt(Math.pow(u,2)+Math.pow(f,2));if(g===0)return [0,0];var _=b==="tangent"?[u/g,f/g]:[-f/g,u/g];return _},tangentOnPath:function(l,E){return this.vectorOnPath(l,E,"tangent")},normalOnPath:function(l,E){return this.vectorOnPath(l,E,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([P],h),extendPrototype([P],y),y.prototype.getValueAtTime=p,y.prototype.initiateExpression=ExpressionManager.initiateExpression;var c=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(l,E,b,v,w){var u=c(l,E,b,v,w);return u.propertyIndex=E.ix,u.lock=!1,b===3?expressionHelpers.searchExpressions(l,E.pt,u):b===4&&expressionHelpers.searchExpressions(l,E.ks,u),u.k&&l.addDynamicProperty(u),u};}function initialize$1(){addPropertyDecorator();}function addDecorator(){function t(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(e,i){var s=this.calculateExpression(i);if(e.t!==s){var r={};return this.copyData(r,e),r.t=s.toString(),r.__complete=!1,r}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),i=this.searchExpressions();return this.kf=e||i,this.kf},TextProperty.prototype.searchExpressions=t;}function initialize(){addDecorator();}function TransformEffect(){}TransformEffect.prototype.init=function(t){this.effectsManager=t,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1;},TransformEffect.prototype.renderFrame=function(t){if(this._opMdf=!1,this._mdf=!1,t||this.effectsManager._mdf){var e=this.effectsManager.effectElements,i=e[0].p.v,s=e[1].p.v,r=e[2].p.v===1,a=e[3].p.v,n=r?a:e[4].p.v,p=e[5].p.v,h=e[6].p.v,y=e[7].p.v;this.matrix.reset(),this.matrix.translate(-i[0],-i[1],i[2]),this.matrix.scale(n*.01,a*.01,1),this.matrix.rotate(-y*degToRads),this.matrix.skewFromAxis(-p*degToRads,(h+90)*degToRads),this.matrix.translate(s[0],s[1],0),this._mdf=!0,this.opacity!==e[8].p.v&&(this.opacity=e[8].p.v,this._opMdf=!0);}};function CVTransformEffect(t){this.init(t);}return extendPrototype([TransformEffect],CVTransformEffect),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect(35,CVTransformEffect),lottie});}),Ac=Ec();});var Cl={};fr(Cl,{default:()=>kc});var Cc,kc,kl=ls(()=>{qs();Cc=is((t,e)=>{typeof navigator<"u"&&function(i,s){typeof t=="object"&&typeof e<"u"?e.exports=s():typeof define=="function"&&define.amd?define(s):(i=typeof globalThis<"u"?globalThis:i||self,i.lottie=s());}(t,function(){var i="http://www.w3.org/2000/svg",s="",r=!1,a=-999999,n=function(m){r=!!m;},p=function(){return r},h=function(m){s=m;},y=function(){return s};function P(m){return document.createElement(m)}function c(m,C){var T,B=m.length,G;for(T=0;T1?T[1]=1:T[1]<=0&&(T[1]=0),J(T[0],T[1],T[2])}function Xt(m,C){var T=Gt(m[0]*255,m[1]*255,m[2]*255);return T[2]+=C,T[2]>1?T[2]=1:T[2]<0&&(T[2]=0),J(T[0],T[1],T[2])}function Ht(m,C){var T=Gt(m[0]*255,m[1]*255,m[2]*255);return T[0]+=C/360,T[0]>1?T[0]-=1:T[0]<0&&(T[0]+=1),J(T[0],T[1],T[2])}(function(){var m=[],C,T;for(C=0;C<256;C+=1)T=C.toString(16),m[C]=T.length===1?"0"+T:T;return function(B,G,O){return B<0&&(B=0),G<0&&(G=0),O<0&&(O=0),"#"+m[B]+m[G]+m[O]}})();var Qt=function(m){w=!!m;},Zt=function(){return w},ne=function(m){u=m;},ue=function(){return u},pe=function(m){ot=m;},Wt=function(){return ot},fe=function(m){f=m;};function jt(m){return document.createElementNS(i,m)}function Rt(m){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Rt=function(C){return typeof C}:Rt=function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},Rt(m)}var ve=function(){var m=1,C=[],T,B,G={onmessage:function(){},postMessage:function(H){T({data:H});}},O={postMessage:function(H){G.onmessage({data:H});}};function o(H){if(window.Worker&&window.Blob&&p()){var Q=new Blob(["var _workerSelf = self; self.onmessage = ",H.toString()],{type:"text/javascript"}),Z=URL.createObjectURL(Q);return new Worker(Z)}return T=H,G}function d(){B||(B=o(function(H){function Q(){function st(Ft,$t){var _t,At,lt=Ft.length,Tt,Dt,Et,Pt;for(At=0;At=0;$t-=1)if(Ft[$t].ty==="sh")if(Ft[$t].ks.k.i)Y(Ft[$t].ks.k);else for(lt=Ft[$t].ks.k.length,At=0;At_t[0]?!0:_t[0]>Ft[0]?!1:Ft[1]>_t[1]?!0:_t[1]>Ft[1]?!1:Ft[2]>_t[2]?!0:_t[2]>Ft[2]?!1:null}var rt=function(){var Ft=[4,4,14];function $t(At){var lt=At.t.d;At.t.d={k:[{s:lt,t:0}]};}function _t(At){var lt,Tt=At.length;for(lt=0;lt=0;lt-=1)if(At[lt].ty==="sh")if(At[lt].ks.k.i)At[lt].ks.k.c=At[lt].closed;else for(Et=At[lt].ks.k.length,Dt=0;Dt500)&&(this._imageLoaded(),clearInterval($)),X+=1;}.bind(this),50);}function O(et){var X=B(et,this.assetsPath,this.path),$=jt("image");g?this.testImageLoaded($):$.addEventListener("load",this._imageLoaded,!1),$.addEventListener("error",function(){Y.img=m,this._imageLoaded();}.bind(this),!1),$.setAttributeNS("http://www.w3.org/1999/xlink","href",X),this._elementHelper.append?this._elementHelper.append($):this._elementHelper.appendChild($);var Y={img:$,assetData:et};return Y}function o(et){var X=B(et,this.assetsPath,this.path),$=P("img");$.crossOrigin="anonymous",$.addEventListener("load",this._imageLoaded,!1),$.addEventListener("error",function(){Y.img=m,this._imageLoaded();}.bind(this),!1),$.src=X;var Y={img:$,assetData:et};return Y}function d(et){var X={assetData:et},$=B(et,this.assetsPath,this.path);return ve.loadData($,function(Y){X.img=Y,this._footageLoaded();}.bind(this),function(){X.img={},this._footageLoaded();}.bind(this)),X}function x(et,X){this.imagesLoadedCb=X;var $,Y=et.length;for($=0;$this.animationData.op&&(this.animationData.op=m.op,this.totalFrames=Math.floor(m.op-this.animationData.ip));var C=this.animationData.layers,T,B=C.length,G=m.layers,O,o=G.length;for(O=0;Othis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame");},Ut.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(m){this.triggerRenderFrameError(m);}},Ut.prototype.play=function(m){m&&this.name!==m||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")));},Ut.prototype.pause=function(m){m&&this.name!==m||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause());},Ut.prototype.togglePause=function(m){m&&this.name!==m||(this.isPaused===!0?this.play():this.pause());},Ut.prototype.stop=function(m){m&&this.name!==m||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0));},Ut.prototype.getMarkerData=function(m){for(var C,T=0;T=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(C>this.totalFrames?C%this.totalFrames:0)||(T=!0,C=this.totalFrames-1):C>=this.totalFrames?(this.playCount+=1,this.checkSegments(C%this.totalFrames)||(this.setCurrentRawFrameValue(C%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(C):C<0?this.checkSegments(C%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+C%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(T=!0,C=0)):this.setCurrentRawFrameValue(C),T&&(this.setCurrentRawFrameValue(C),this.pause(),this.trigger("complete"));}},Ut.prototype.adjustSegment=function(m,C){this.playCount=0,m[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=m[0]-m[1],this.timeCompleted=this.totalFrames,this.firstFrame=m[1],this.setCurrentRawFrameValue(this.totalFrames-.001-C)):m[1]>m[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=m[1]-m[0],this.timeCompleted=this.totalFrames,this.firstFrame=m[0],this.setCurrentRawFrameValue(.001+C)),this.trigger("segmentStart");},Ut.prototype.setSegment=function(m,C){var T=-1;this.isPaused&&(this.currentRawFrame+this.firstFrameC&&(T=C-m)),this.firstFrame=m,this.totalFrames=C-m,this.timeCompleted=this.totalFrames,T!==-1&&this.goToAndStop(T,!0);},Ut.prototype.playSegments=function(m,C){if(C&&(this.segments.length=0),te(m[0])==="object"){var T,B=m.length;for(T=0;T=0;At-=1)C[At].animation.destroy(_t);}function K(_t,At,lt){var Tt=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),Dt,Et=Tt.length;for(Dt=0;Dt0?Y=K:$=K;while(Math.abs(nt)>O&&++ft=G?pt(X,dt,$,Y):xt===0?dt:st(X,rt,rt+x,$,Y)}},m}(),ei=function(){function m(C){return C.concat(v(C.length))}return {double:m}}(),Je=function(){return function(m,C,T){var B=0,G=m,O=v(G),o={newElement:d,release:x};function d(){var M;return B?(B-=1,M=O[B]):M=C(),M}function x(M){B===G&&(O=ei.double(O),G*=2),T&&T(M),O[B]=M,B+=1;}return o}}(),pi=function(){function m(){return {addedLength:0,percents:b("float32",Wt()),lengths:b("float32",Wt())}}return Je(8,m)}(),mi=function(){function m(){return {lengths:[],totalLength:0}}function C(T){var B,G=T.lengths.length;for(B=0;B-.001&&X<.001}function T(H,Q,Z,st,pt,et,X,$,Y){if(Z===0&&et===0&&Y===0)return C(H,Q,st,pt,X,$);var N=m.sqrt(m.pow(st-H,2)+m.pow(pt-Q,2)+m.pow(et-Z,2)),rt=m.sqrt(m.pow(X-H,2)+m.pow($-Q,2)+m.pow(Y-Z,2)),nt=m.sqrt(m.pow(X-st,2)+m.pow($-pt,2)+m.pow(Y-et,2)),K;return N>rt?N>nt?K=N-rt-nt:K=nt-rt-N:nt>rt?K=nt-rt-N:K=rt-N-nt,K>-1e-4&&K<1e-4}var B=function(){return function(H,Q,Z,st){var pt=Wt(),et,X,$,Y,N,rt=0,nt,K=[],ft=[],dt=pi.newElement();for($=Z.length,et=0;etX?-1:1,N=!0;N;)if(st[et]<=X&&st[et+1]>X?($=(X-st[et])/(st[et+1]-st[et]),N=!1):et+=Y,et<0||et>=pt-1){if(et===pt-1)return Z[et];N=!1;}return Z[et]+(Z[et+1]-Z[et])*$}function M(H,Q,Z,st,pt,et){var X=x(pt,et),$=1-X,Y=m.round(($*$*$*H[0]+(X*$*$+$*X*$+$*$*X)*Z[0]+(X*X*$+$*X*X+X*$*X)*st[0]+X*X*X*Q[0])*1e3)/1e3,N=m.round(($*$*$*H[1]+(X*$*$+$*X*$+$*$*X)*Z[1]+(X*X*$+$*X*X+X*$*X)*st[1]+X*X*X*Q[1])*1e3)/1e3;return [Y,N]}var L=b("float32",8);function I(H,Q,Z,st,pt,et,X){pt<0?pt=0:pt>1&&(pt=1);var $=x(pt,X);et=et>1?1:et;var Y=x(et,X),N,rt=H.length,nt=1-$,K=1-Y,ft=nt*nt*nt,dt=$*nt*nt*3,xt=$*$*nt*3,Lt=$*$*$,Ot=nt*nt*K,Ft=$*nt*K+nt*$*K+nt*nt*Y,$t=$*$*K+nt*$*Y+$*nt*Y,_t=$*$*Y,At=nt*K*K,lt=$*K*K+nt*Y*K+nt*K*Y,Tt=$*Y*K+nt*Y*Y+$*K*Y,Dt=$*Y*Y,Et=K*K*K,Pt=Y*K*K+K*Y*K+K*K*Y,kt=Y*Y*K+K*Y*Y+Y*K*Y,ct=Y*Y*Y;for(N=0;N=M.t-T){x.h&&(x=M),G=0;break}if(M.t-T>m){G=O;break}O=et||m=et?Y.points.length-1:0;for(H=Y.points[N].point.length,I=0;I=K&&rt=et)B[0]=$[0],B[1]=$[1],B[2]=$[2];else if(m<=X)B[0]=x.s[0],B[1]=x.s[1],B[2]=x.s[2];else {var Ft=Ts(x.s),$t=Ts($),_t=(m-X)/(et-X);Br(B,Rr(Ft,$t,_t));}else for(O=0;O=et?Q=1:m1e-6?(H=Math.acos(Q),Z=Math.sin(H),st=Math.sin((1-T)*H)/Z,pt=Math.sin(T*H)/Z):(st=1-T,pt=T),B[0]=st*G+pt*x,B[1]=st*O+pt*M,B[2]=st*o+pt*L,B[3]=st*d+pt*I,B}function Br(m,C){var T=C[0],B=C[1],G=C[2],O=C[3],o=Math.atan2(2*B*O-2*T*G,1-2*B*B-2*G*G),d=Math.asin(2*T*B+2*G*O),x=Math.atan2(2*T*O-2*B*G,1-2*T*T-2*G*G);m[0]=o/mt,m[1]=d/mt,m[2]=x/mt;}function Ts(m){var C=m[0]*mt,T=m[1]*mt,B=m[2]*mt,G=Math.cos(C/2),O=Math.cos(T/2),o=Math.cos(B/2),d=Math.sin(C/2),x=Math.sin(T/2),M=Math.sin(B/2),L=G*O*o-d*x*M,I=d*x*o+G*O*M,H=d*O*o+G*x*M,Q=G*x*o-d*O*M;return [I,H,Q,L]}function Ms(){var m=this.comp.renderedFrame-this.offsetTime,C=this.keyframes[0].t-this.offsetTime,T=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(m===this._caching.lastFrame||this._caching.lastFrame!==bs&&(this._caching.lastFrame>=T&&m>=T||this._caching.lastFrame=m&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var B=this.interpolateValue(m,this._caching);this.pv=B;}return this._caching.lastFrame=m,this.pv}function us(m){var C;if(this.propType==="unidimensional")C=m*this.mult,ia(this.v-C)>1e-5&&(this.v=C,this._mdf=!0);else for(var T=0,B=this.v.length;T1e-5&&(this.v[T]=C,this._mdf=!0),T+=1;}function mr(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var m,C=this.effectsSequence.length,T=this.kf?this.pv:this.data.k;for(m=0;m=this._maxLength&&this.doubleArrayLength(),T){case"v":O=this.v;break;case"i":O=this.i;break;case"o":O=this.o;break;default:O=[];break}(!O[B]||O[B]&&!G)&&(O[B]=Fe.newElement()),O[B][0]=m,O[B][1]=C;},$i.prototype.setTripleAt=function(m,C,T,B,G,O,o,d){this.setXYAt(m,C,"v",o,d),this.setXYAt(T,B,"o",o,d),this.setXYAt(G,O,"i",o,d);},$i.prototype.reverse=function(){var m=new $i;m.setPathData(this.c,this._length);var C=this.v,T=this.o,B=this.i,G=0;this.c&&(m.setTripleAt(C[0][0],C[0][1],B[0][0],B[0][1],T[0][0],T[0][1],0,!1),G=1);var O=this._length-1,o=this._length,d;for(d=G;d=Ft[Ft.length-1].t-this.offsetTime)N=Ft[Ft.length-1].s?Ft[Ft.length-1].s[0]:Ft[Ft.length-2].e[0],nt=!0;else {for(var $t=Y,_t=Ft.length-1,At=!0,lt,Tt,Dt;At&&(lt=Ft[$t],Tt=Ft[$t+1],!(Tt.t-this.offsetTime>et));)$t<_t-1?$t+=1:At=!1;if(Dt=this.keyframesMetadata[$t]||{},nt=lt.h===1,Y=$t,!nt){if(et>=Tt.t-this.offsetTime)Lt=1;else if(et$&&et>$)||(this._caching.lastIndex=Y0||lt>-1e-6&<<0?B(lt*Tt)/Tt:lt}function At(){var lt=this.props,Tt=_t(lt[0]),Dt=_t(lt[1]),Et=_t(lt[4]),Pt=_t(lt[5]),kt=_t(lt[12]),ct=_t(lt[13]);return "matrix("+Tt+","+Dt+","+Et+","+Pt+","+kt+","+ct+")"}return function(){this.reset=G,this.rotate=O,this.rotateX=o,this.rotateY=d,this.rotateZ=x,this.skew=L,this.skewFromAxis=I,this.shear=M,this.scale=H,this.setTransform=Q,this.translate=Z,this.transform=st,this.multiply=pt,this.applyToPoint=N,this.applyToX=rt,this.applyToY=nt,this.applyToZ=K,this.applyToPointArray=Ot,this.applyToTriplePoints=Lt,this.applyToPointStringified=Ft,this.toCSS=$t,this.to2dCSS=At,this.clone=$,this.cloneFromProps=Y,this.equals=X,this.inversePoints=xt,this.inversePoint=dt,this.getInverseMatrix=ft,this._t=this.transform,this.isIdentity=et,this._identity=!0,this._identityCalculated=!1,this.props=b("float32",16),this.reset();}}();function gr(m){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?gr=function(C){return typeof C}:gr=function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},gr(m)}var Oe={};function Ta(m){h(m);}function ra(){oe.searchAnimations();}function Ma(m){Qt(m);}function wa(m){fe(m);}function Da(m){return oe.loadAnimation(m)}function Fa(m){if(typeof m=="string")switch(m){case"high":pe(200);break;default:case"medium":pe(50);break;case"low":pe(10);break}else !isNaN(m)&&m>1&&pe(m);}function Ia(){return typeof navigator<"u"}function La(m,C){m==="expressions"&&ne(C);}function Va(m){switch(m){case"propertyFactory":return Kt;case"shapePropertyFactory":return ms;case"matrix":return se;default:return null}}Oe.play=oe.play,Oe.pause=oe.pause,Oe.setLocationHref=Ta,Oe.togglePause=oe.togglePause,Oe.setSpeed=oe.setSpeed,Oe.setDirection=oe.setDirection,Oe.stop=oe.stop,Oe.searchAnimations=ra,Oe.registerAnimation=oe.registerAnimation,Oe.loadAnimation=Da,Oe.setSubframeRendering=Ma,Oe.resize=oe.resize,Oe.goToAndStop=oe.goToAndStop,Oe.destroy=oe.destroy,Oe.setQuality=Fa,Oe.inBrowser=Ia,Oe.installPlugin=La,Oe.freeze=oe.freeze,Oe.unfreeze=oe.unfreeze,Oe.setVolume=oe.setVolume,Oe.mute=oe.mute,Oe.unmute=oe.unmute,Oe.getRegisteredAnimations=oe.getRegisteredAnimations,Oe.useWebWorker=n,Oe.setIDPrefix=wa,Oe.__getFactory=Va,Oe.version="5.12.2";function Or(){document.readyState==="complete"&&(clearInterval(ni),ra());}function zr(m){for(var C=aa.split("&"),T=0;T"u"?"undefined":gr(t))==="object"&&typeof e<"u")&&!(typeof define=="function"&&define.amd)&&(window.bodymovin=Oe);}catch{}var je=function(){var m={},C={};m.registerModifier=T,m.getModifier=B;function T(G,O){C[G]||(C[G]=O);}function B(G,O,o){return new C[G](O,o)}return m}();function di(){}di.prototype.initModifierProperties=function(){},di.prototype.addShapeToModifier=function(){},di.prototype.addShape=function(m){if(!this.closed){m.sh.container.addDynamicProperty(m.sh);var C={shape:m.sh,data:m,localShapeCollection:Ce.newShapeCollection()};this.shapes.push(C),this.addShapeToModifier(C),this._isAnimated&&m.setAsAnimated();}},di.prototype.init=function(m,C){this.shapes=[],this.elem=m,this.initDynamicPropertyContainer(m),this.initModifierProperties(m,C),this.frameId=a,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0);},di.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties());},c([Re],di);function wi(){}c([di],wi),wi.prototype.initModifierProperties=function(m,C){this.s=Kt.getProp(m,C.s,0,.01,this),this.e=Kt.getProp(m,C.e,0,.01,this),this.o=Kt.getProp(m,C.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=C.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;},wi.prototype.addShapeToModifier=function(m){m.pathsData=[];},wi.prototype.calculateShapeEdges=function(m,C,T,B,G){var O=[];C<=1?O.push({s:m,e:C}):m>=1?O.push({s:m-1,e:C-1}):(O.push({s:m,e:1}),O.push({s:0,e:C-1}));var o=[],d,x=O.length,M;for(d=0;dB+T)){var L,I;M.s*G<=B?L=0:L=(M.s*G-B)/T,M.e*G>=B+T?I=1:I=(M.e*G-B)/T,o.push([L,I]);}return o.length||o.push([0,0]),o},wi.prototype.releasePathsData=function(m){var C,T=m.length;for(C=0;C1?C=1+B:this.s.v<0?C=0+B:C=this.s.v+B,this.e.v>1?T=1+B:this.e.v<0?T=0+B:T=this.e.v+B,C>T){var G=C;C=T,T=G;}C=Math.round(C*1e4)*1e-4,T=Math.round(T*1e4)*1e-4,this.sValue=C,this.eValue=T;}else C=this.sValue,T=this.eValue;var O,o,d=this.shapes.length,x,M,L,I,H,Q=0;if(T===C)for(o=0;o=0;o-=1)if(st=this.shapes[o],st.shape._mdf){for(pt=st.localShapeCollection,pt.releaseShapes(),this.m===2&&d>1?(Y=this.calculateShapeEdges(C,T,st.totalShapeLength,$,Q),$+=st.totalShapeLength):Y=[[et,X]],M=Y.length,x=0;x=1?Z.push({s:st.totalShapeLength*(et-1),e:st.totalShapeLength*(X-1)}):(Z.push({s:st.totalShapeLength*et,e:st.totalShapeLength}),Z.push({s:0,e:st.totalShapeLength*(X-1)}));var N=this.addShapes(st,Z[0]);if(Z[0].s!==Z[0].e){if(Z.length>1){var rt=st.shape.paths.shapes[st.shape.paths._length-1];if(rt.c){var nt=N.pop();this.addPaths(N,pt),N=this.addShapes(st,Z[1],nt);}else this.addPaths(N,pt),N=this.addShapes(st,Z[1]);}this.addPaths(N,pt);}}st.shape.paths=pt;}}},wi.prototype.addPaths=function(m,C){var T,B=m.length;for(T=0;TC.e){T.c=!1;break}else C.s<=M&&C.e>=M+L.addedLength?(this.addSegment(G[O].v[d-1],G[O].o[d-1],G[O].i[d],G[O].v[d],T,I,pt),pt=!1):(Q=Zi.getNewSegment(G[O].v[d-1],G[O].v[d],G[O].o[d-1],G[O].i[d],(C.s-M)/L.addedLength,(C.e-M)/L.addedLength,H[d-1]),this.addSegmentFromArray(Q,T,I,pt),pt=!1,T.c=!1),M+=L.addedLength,I+=1;if(G[O].c&&H.length){if(L=H[d-1],M<=C.e){var et=H[d-1].addedLength;C.s<=M&&C.e>=M+et?(this.addSegment(G[O].v[d-1],G[O].o[d-1],G[O].i[0],G[O].v[0],T,I,pt),pt=!1):(Q=Zi.getNewSegment(G[O].v[d-1],G[O].v[0],G[O].o[d-1],G[O].i[0],(C.s-M)/et,(C.e-M)/et,H[d-1]),this.addSegmentFromArray(Q,T,I,pt),pt=!1,T.c=!1);}else T.c=!1;M+=L.addedLength,I+=1;}if(T._length&&(T.setXYAt(T.v[st][0],T.v[st][1],"i",st),T.setXYAt(T.v[T._length-1][0],T.v[T._length-1][1],"o",T._length-1)),M>C.e)break;O=this.p.keyframes[this.p.keyframes.length-1].t?(L=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/M,0),I=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/M,0)):(L=this.p.pv,I=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/M,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){L=[],I=[];var H=this.px,Q=this.py;H._caching.lastFrame+H.offsetTime<=H.keyframes[0].t?(L[0]=H.getValueAtTime((H.keyframes[0].t+.01)/M,0),L[1]=Q.getValueAtTime((Q.keyframes[0].t+.01)/M,0),I[0]=H.getValueAtTime(H.keyframes[0].t/M,0),I[1]=Q.getValueAtTime(Q.keyframes[0].t/M,0)):H._caching.lastFrame+H.offsetTime>=H.keyframes[H.keyframes.length-1].t?(L[0]=H.getValueAtTime(H.keyframes[H.keyframes.length-1].t/M,0),L[1]=Q.getValueAtTime(Q.keyframes[Q.keyframes.length-1].t/M,0),I[0]=H.getValueAtTime((H.keyframes[H.keyframes.length-1].t-.01)/M,0),I[1]=Q.getValueAtTime((Q.keyframes[Q.keyframes.length-1].t-.01)/M,0)):(L=[H.pv,Q.pv],I[0]=H.getValueAtTime((H._caching.lastFrame+H.offsetTime-.01)/M,H.offsetTime),I[1]=Q.getValueAtTime((Q._caching.lastFrame+Q.offsetTime-.01)/M,Q.offsetTime));}else I=m,L=I;this.v.rotate(-Math.atan2(L[1]-I[1],L[0]-I[0]));}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}this.frameId=this.elem.globalData.frameId;}}function B(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4);}function G(){}function O(x){this._addDynamicProperty(x),this.elem.addDynamicProperty(x),this._isDirty=!0;}function o(x,M,L){if(this.elem=x,this.frameId=-1,this.propType="transform",this.data=M,this.v=new se,this.pre=new se,this.appliedTransformations=0,this.initDynamicPropertyContainer(L||x),M.p&&M.p.s?(this.px=Kt.getProp(x,M.p.x,0,0,this),this.py=Kt.getProp(x,M.p.y,0,0,this),M.p.z&&(this.pz=Kt.getProp(x,M.p.z,0,0,this))):this.p=Kt.getProp(x,M.p||{k:[0,0,0]},1,0,this),M.rx){if(this.rx=Kt.getProp(x,M.rx,0,mt,this),this.ry=Kt.getProp(x,M.ry,0,mt,this),this.rz=Kt.getProp(x,M.rz,0,mt,this),M.or.k[0].ti){var I,H=M.or.k.length;for(I=0;I0;)T-=1,this._elements.unshift(C[T]);this.dynamicProperties.length?this.k=!0:this.getValue(!0);},Di.prototype.resetElements=function(m){var C,T=m.length;for(C=0;C0?Math.floor(H):Math.ceil(H),st=this.pMatrix.props,pt=this.rMatrix.props,et=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var X=0;if(H>0){for(;XZ;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),X-=1;Q&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-Q,!0),X-=Q);}B=this.data.m===1?0:this._currentCopies-1,G=this.data.m===1?1:-1,O=this._currentCopies;for(var $,Y;O;){if(C=this.elemsData[B].it,T=C[C.length-1].transform.mProps.v.props,Y=T.length,C[C.length-1].transform.mProps._mdf=!0,C[C.length-1].transform.op._mdf=!0,C[C.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(B/(this._currentCopies-1)),X!==0){for((B!==0&&G===1||B!==this._currentCopies-1&&G===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(pt[0],pt[1],pt[2],pt[3],pt[4],pt[5],pt[6],pt[7],pt[8],pt[9],pt[10],pt[11],pt[12],pt[13],pt[14],pt[15]),this.matrix.transform(et[0],et[1],et[2],et[3],et[4],et[5],et[6],et[7],et[8],et[9],et[10],et[11],et[12],et[13],et[14],et[15]),this.matrix.transform(st[0],st[1],st[2],st[3],st[4],st[5],st[6],st[7],st[8],st[9],st[10],st[11],st[12],st[13],st[14],st[15]),$=0;$0&&B<1?[C]:[]:[C-B,C+B].filter(function(G){return G>0&&G<1})},$e.prototype.split=function(m){if(m<=0)return [vr(this.points[0]),this];if(m>=1)return [this,vr(this.points[this.points.length-1])];var C=ds(this.points[0],this.points[1],m),T=ds(this.points[1],this.points[2],m),B=ds(this.points[2],this.points[3],m),G=ds(C,T,m),O=ds(T,B,m),o=ds(G,O,m);return [new $e(this.points[0],C,G,o,!0),new $e(o,O,B,this.points[3],!0)]};function br(m,C){var T=m.points[0][C],B=m.points[m.points.length-1][C];if(T>B){var G=B;B=T,T=G;}for(var O=Nr(3*m.a[C],2*m.b[C],m.c[C]),o=0;o0&&O[o]<1){var d=m.point(O[o])[C];dB&&(B=d);}return {min:T,max:B}}$e.prototype.bounds=function(){return {x:br(this,0),y:br(this,1)}},$e.prototype.boundingBox=function(){var m=this.bounds();return {left:m.x.min,right:m.x.max,top:m.y.min,bottom:m.y.max,width:m.x.max-m.x.min,height:m.y.max-m.y.min,cx:(m.x.max+m.x.min)/2,cy:(m.y.max+m.y.min)/2}};function _r(m,C,T){var B=m.boundingBox();return {cx:B.cx,cy:B.cy,width:B.width,height:B.height,bez:m,t:(C+T)/2,t1:C,t2:T}}function gs(m){var C=m.bez.split(.5);return [_r(C[0],m.t1,m.t),_r(C[1],m.t,m.t2)]}function rr(m,C){return Math.abs(m.cx-C.cx)*2=O||m.width<=B&&m.height<=B&&C.width<=B&&C.height<=B){G.push([m.t,C.t]);return}var o=gs(m),d=gs(C);as(o[0],d[0],T+1,B,G,O),as(o[0],d[1],T+1,B,G,O),as(o[1],d[0],T+1,B,G,O),as(o[1],d[1],T+1,B,G,O);}}$e.prototype.intersections=function(m,C,T){C===void 0&&(C=2),T===void 0&&(T=7);var B=[];return as(_r(this,0,1),_r(m,0,1),0,C,B,T),B},$e.shapeSegment=function(m,C){var T=(C+1)%m.length();return new $e(m.v[C],m.o[C],m.i[T],m.v[T],!0)},$e.shapeSegmentInverted=function(m,C){var T=(C+1)%m.length();return new $e(m.v[T],m.i[T],m.o[C],m.v[C],!0)};function Wi(m,C){return [m[1]*C[2]-m[2]*C[1],m[2]*C[0]-m[0]*C[2],m[0]*C[1]-m[1]*C[0]]}function ws(m,C,T,B){var G=[m[0],m[1],1],O=[C[0],C[1],1],o=[T[0],T[1],1],d=[B[0],B[1],1],x=Wi(Wi(G,O),Wi(o,d));return Ai(x[2])?null:[x[0]/x[2],x[1]/x[2]]}function Fi(m,C,T){return [m[0]+Math.cos(C)*T,m[1]-Math.sin(C)*T]}function ns(m,C){return Math.hypot(m[0]-C[0],m[1]-C[1])}function Ds(m,C){return Ws(m[0],C[0])&&Ws(m[1],C[1])}function ar(){}c([di],ar),ar.prototype.initModifierProperties=function(m,C){this.getValue=this.processKeys,this.amplitude=Kt.getProp(m,C.s,0,null,this),this.frequency=Kt.getProp(m,C.r,0,null,this),this.pointsType=Kt.getProp(m,C.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function oa(m,C,T,B,G,O,o){var d=T-Math.PI/2,x=T+Math.PI/2,M=C[0]+Math.cos(T)*B*G,L=C[1]-Math.sin(T)*B*G;m.setTripleAt(M,L,M+Math.cos(d)*O,L-Math.sin(d)*O,M+Math.cos(x)*o,L-Math.sin(x)*o,m.length());}function Gr(m,C){var T=[C[0]-m[0],C[1]-m[1]],B=-Math.PI*.5,G=[Math.cos(B)*T[0]-Math.sin(B)*T[1],Math.sin(B)*T[0]+Math.cos(B)*T[1]];return G}function Ba(m,C){var T=C===0?m.length()-1:C-1,B=(C+1)%m.length(),G=m.v[T],O=m.v[B],o=Gr(G,O);return Math.atan2(0,1)-Math.atan2(o[1],o[0])}function Xs(m,C,T,B,G,O,o){var d=Ba(C,T),x=C.v[T%C._length],M=C.v[T===0?C._length-1:T-1],L=C.v[(T+1)%C._length],I=O===2?Math.sqrt(Math.pow(x[0]-M[0],2)+Math.pow(x[1]-M[1],2)):0,H=O===2?Math.sqrt(Math.pow(x[0]-L[0],2)+Math.pow(x[1]-L[1],2)):0;oa(m,C.v[T%C._length],d,o,B,H/((G+1)*2),I/((G+1)*2));}function os(m,C,T,B,G,O){for(var o=0;o1&&C.length>1&&(G=ha(m[0],C[C.length-1]),G)?[[m[0].split(G[0])[0]],[C[C.length-1].split(G[1])[1]]]:[T,B]}function xs(m){for(var C,T=1;T1&&(C=Pr(m[m.length-1],m[0]),m[m.length-1]=C[0],m[0]=C[1]),m}function Sr(m,C){var T=m.inflectionPoints(),B,G,O,o;if(T.length===0)return [Fs(m,C)];if(T.length===1||Ws(T[1],1))return O=m.split(T[0]),B=O[0],G=O[1],[Fs(B,C),Fs(G,C)];O=m.split(T[0]),B=O[0];var d=(T[1]-T[0])/(1-T[0]);return O=O[1].split(d),o=O[0],G=O[1],[Fs(B,C),Fs(o,C),Fs(G,C)]}function Ci(){}c([di],Ci),Ci.prototype.initModifierProperties=function(m,C){this.getValue=this.processKeys,this.amount=Kt.getProp(m,C.a,0,null,this),this.miterLimit=Kt.getProp(m,C.ml,0,null,this),this.lineJoin=C.lj,this._isAnimated=this.amount.effectsSequence.length!==0;},Ci.prototype.processPath=function(m,C,T,B){var G=Ue.newElement();G.c=m.c;var O=m.length();m.c||(O-=1);var o,d,x,M=[];for(o=0;o=0;o-=1)x=$e.shapeSegmentInverted(m,o),M.push(Sr(x,C));M=xs(M);var L=null,I=null;for(o=0;o0&&(Pt=!1),Pt){var wt=P("style");wt.setAttribute("f-forigin",lt[Tt].fOrigin),wt.setAttribute("f-origin",lt[Tt].origin),wt.setAttribute("f-family",lt[Tt].fFamily),wt.type="text/css",wt.innerText="@font-face {font-family: "+lt[Tt].fFamily+"; font-style: normal; src: url('"+lt[Tt].fPath+"');}",At.appendChild(wt);}}else if(lt[Tt].fOrigin==="g"||lt[Tt].origin===1){for(kt=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),ct=0;ct=55296&<<=56319){var Tt=_t.charCodeAt(1);Tt>=56320&&Tt<=57343&&(At=(lt-55296)*1024+Tt-56320+65536);}return At}function rt(_t,At){var lt=_t.toString(16)+At.toString(16);return I.indexOf(lt)!==-1}function nt(_t){return _t===x}function K(_t){return _t===d}function ft(_t){var At=N(_t);return At>=M&&At<=L}function dt(_t){return ft(_t.substr(0,2))&&ft(_t.substr(2,2))}function xt(_t){return T.indexOf(_t)!==-1}function Lt(_t,At){var lt=N(_t.substr(At,2));if(lt!==B)return !1;var Tt=0;for(At+=2;Tt<5;){if(lt=N(_t.substr(At,2)),lto)return !1;Tt+=1,At+=2;}return N(_t.substr(At,2))===G}function Ot(){this.isLoaded=!0;}var Ft=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};Ft.isModifier=rt,Ft.isZeroWidthJoiner=nt,Ft.isFlagEmoji=dt,Ft.isRegionalCode=ft,Ft.isCombinedCharacter=xt,Ft.isRegionalFlag=Lt,Ft.isVariationSelector=K,Ft.BLACK_FLAG_CODE_POINT=B;var $t={addChars:et,addFonts:pt,getCharData:X,getFontByName:Y,measureText:$,checkLoadedFonts:Z,setIsLoaded:Ot};return Ft.prototype=$t,Ft}();function Ki(m){this.animationData=m;}Ki.prototype.getProp=function(m){return this.animationData.slots&&this.animationData.slots[m.sid]?Object.assign(m,this.animationData.slots[m.sid].p):m};function Ys(m){return new Ki(m)}function Js(){}Js.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[];},addRenderableComponent:function(m){this.renderableComponents.indexOf(m)===-1&&this.renderableComponents.push(m);},removeRenderableComponent:function(m){this.renderableComponents.indexOf(m)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(m),1);},prepareRenderableFrame:function(m){this.checkLayerLimits(m);},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show());},checkLayerLimits:function(m){this.data.ip-this.data.st<=m&&this.data.op-this.data.st>m?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide());},renderRenderable:function(){var m,C=this.renderableComponents.length;for(m=0;m.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0));},Ii.prototype.show=function(){},Ii.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1;},Ii.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1;},Ii.prototype.resume=function(){this._canPlay=!0;},Ii.prototype.setRate=function(m){this.audio.rate(m);},Ii.prototype.volume=function(m){this._volumeMultiplier=m,this._previousVolume=m*this._volume,this.audio.volume(this._previousVolume);},Ii.prototype.getBaseElement=function(){return null},Ii.prototype.destroy=function(){},Ii.prototype.sourceRectAtTime=function(){},Ii.prototype.initExpressions=function(){};function Be(){}Be.prototype.checkLayers=function(m){var C,T=this.layers.length,B;for(this.completeLayers=!0,C=T-1;C>=0;C-=1)this.elements[C]||(B=this.layers[C],B.ip-B.st<=m-this.layers[C].st&&B.op-B.st>m-this.layers[C].st&&this.buildItem(C)),this.completeLayers=this.elements[C]?this.completeLayers:!1;this.checkPendingElements();},Be.prototype.createItem=function(m){switch(m.ty){case 2:return this.createImage(m);case 0:return this.createComp(m);case 1:return this.createSolid(m);case 3:return this.createNull(m);case 4:return this.createShape(m);case 5:return this.createText(m);case 6:return this.createAudio(m);case 13:return this.createCamera(m);case 15:return this.createFootage(m);default:return this.createNull(m)}},Be.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},Be.prototype.createAudio=function(m){return new Ii(m,this.globalData,this)},Be.prototype.createFootage=function(m){return new Te(m,this.globalData,this)},Be.prototype.buildAllItems=function(){var m,C=this.layers.length;for(m=0;m0&&(this.maskElement.setAttribute("id",H),this.element.maskedElement.setAttribute(X,"url("+y()+"#"+H+")"),B.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this);}Qi.prototype.getMaskProperty=function(m){return this.viewData[m].prop},Qi.prototype.renderFrame=function(m){var C=this.element.finalTransform.mat,T,B=this.masksProperties.length;for(T=0;T1&&(B+=" C"+C.o[G-1][0]+","+C.o[G-1][1]+" "+C.i[0][0]+","+C.i[0][1]+" "+C.v[0][0]+","+C.v[0][1]),T.lastPath!==B){var o="";T.elem&&(C.c&&(o=m.inv?this.solidPath+B:B),T.elem.setAttribute("d",o)),T.lastPath=B;}},Qi.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null;};var Ss=function(){var m={};m.createFilter=C,m.createAlphaToLuminanceFilter=T;function C(B,G){var O=jt("filter");return O.setAttribute("id",B),G!==!0&&(O.setAttribute("filterUnits","objectBoundingBox"),O.setAttribute("x","0%"),O.setAttribute("y","0%"),O.setAttribute("width","100%"),O.setAttribute("height","100%")),O}function T(){var B=jt("feColorMatrix");return B.setAttribute("type","matrix"),B.setAttribute("color-interpolation-filters","sRGB"),B.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),B}return m}(),Ar=function(){var m={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return (/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(m.maskType=!1),/firefox/i.test(navigator.userAgent)&&(m.svgLumaHidden=!1),m}(),Rs={},ys="filter_result_";function ki(m){var C,T="SourceGraphic",B=m.data.ef?m.data.ef.length:0,G=tt(),O=Ss.createFilter(G,!0),o=0;this.filters=[];var d;for(C=0;C=0&&(T=this.shapeModifiers[m].processShapes(this._isFirstFrame),!T);m-=1);}},searchProcessedElement:function(m){for(var C=this.processedElements,T=0,B=C.length;T.01)return !1;T+=1;}return !0},Os.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return !1;if(this.data.k.k[0].s)for(var m=0,C=this.data.k.k.length;m0;)et=H.transformers[ft].mProps._mdf||et,K-=1,ft-=1;if(et)for(K=N-H.styles[$].lvl,ft=H.transformers.length-1;K>0;)nt.multiply(H.transformers[ft].mProps.v),K-=1,ft-=1;}else nt=m;if(rt=H.sh.paths,st=rt._length,et){for(pt="",Z=0;Z=1?Ot=.99:Ot<=-1&&(Ot=-.99);var Ft=xt*Ot,$t=Math.cos(Lt+H.a.v)*Ft+pt[0],_t=Math.sin(Lt+H.a.v)*Ft+pt[1];Z.setAttribute("fx",$t),Z.setAttribute("fy",_t),st&&!H.g._collapsable&&(H.of.setAttribute("fx",$t),H.of.setAttribute("fy",_t));}}}function L(I,H,Q){var Z=H.style,st=H.d;st&&(st._mdf||Q)&&st.dashStr&&(Z.pElem.setAttribute("stroke-dasharray",st.dashStr),Z.pElem.setAttribute("stroke-dashoffset",st.dashoffset[0])),H.c&&(H.c._mdf||Q)&&Z.pElem.setAttribute("stroke","rgb("+z(H.c.v[0])+","+z(H.c.v[1])+","+z(H.c.v[2])+")"),(H.o._mdf||Q)&&Z.pElem.setAttribute("stroke-opacity",H.o.v),(H.w._mdf||Q)&&(Z.pElem.setAttribute("stroke-width",H.w.v),Z.msElem&&Z.msElem.setAttribute("stroke-width",H.w.v));}return T}();function ye(m,C,T){this.shapes=[],this.shapesData=m.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(m,C,T),this.prevViewData=[];}c([We,xi,Li,or,fi,ke,Bs],ye),ye.prototype.initSecondaryElement=function(){},ye.prototype.identityMatrix=new se,ye.prototype.buildExpressionInterface=function(){},ye.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes();},ye.prototype.filterUniqueShapes=function(){var m,C=this.shapes.length,T,B,G=this.stylesList.length,O,o=[],d=!1;for(B=0;B1&&d&&this.setShapesAsAnimated(o);}},ye.prototype.setShapesAsAnimated=function(m){var C,T=m.length;for(C=0;C=0;x-=1){if(pt=this.searchProcessedElement(m[x]),pt?C[x]=T[pt-1]:m[x]._render=o,m[x].ty==="fl"||m[x].ty==="st"||m[x].ty==="gf"||m[x].ty==="gs"||m[x].ty==="no")pt?C[x].style.closed=!1:C[x]=this.createStyleElement(m[x],G),m[x]._render&&C[x].style.pElem.parentNode!==B&&B.appendChild(C[x].style.pElem),H.push(C[x].style);else if(m[x].ty==="gr"){if(!pt)C[x]=this.createGroupElement(m[x]);else for(I=C[x].it.length,L=0;L1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},Vi.prototype.addEffect=function(m){this.effectsSequence.push(m),this.elem.addDynamicProperty(this);},Vi.prototype.getValue=function(m){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!m)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var C=this.currentData,T=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var B,G=this.effectsSequence.length,O=m||this.data.d.k[this.keysIndex].s;for(B=0;BC);)T+=1;return this.keysIndex!==T&&(this.keysIndex=T),this.data.d.k[this.keysIndex].s},Vi.prototype.buildFinalText=function(m){for(var C=[],T=0,B=m.length,G,O,o=!1,d=!1,x="";T=55296&&G<=56319?Vs.isRegionalFlag(m,T)?x=m.substr(T,14):(O=m.charCodeAt(T+1),O>=56320&&O<=57343&&(Vs.isModifier(G,O)?(x=m.substr(T,2),o=!0):Vs.isFlagEmoji(m.substr(T,4))?x=m.substr(T,4):x=m.substr(T,2))):G>56319?(O=m.charCodeAt(T+1),Vs.isVariationSelector(G)&&(o=!0)):Vs.isZeroWidthJoiner(G)&&(o=!0,d=!0),o?(C[C.length-1]+=x,o=!1):C.push(x),T+=x.length;return C},Vi.prototype.completeTextData=function(m){m.__complete=!0;var C=this.elem.globalData.fontManager,T=this.data,B=[],G,O,o,d=0,x,M=T.m.g,L=0,I=0,H=0,Q=[],Z=0,st=0,pt,et,X=C.getFontByName(m.f),$,Y=0,N=Er(X);m.fWeight=N.weight,m.fStyle=N.style,m.finalSize=m.s,m.finalText=this.buildFinalText(m.t),O=m.finalText.length,m.finalLineHeight=m.lh;var rt=m.tr/1e3*m.finalSize,nt;if(m.sz)for(var K=!0,ft=m.sz[0],dt=m.sz[1],xt,Lt;K;){Lt=this.buildFinalText(m.t),xt=0,Z=0,O=Lt.length,rt=m.tr/1e3*m.finalSize;var Ot=-1;for(G=0;Gft&&Lt[G]!==" "?(Ot===-1?O+=1:G=Ot,xt+=m.finalLineHeight||m.finalSize*1.2,Lt.splice(G,Ot===G?1:0,"\r"),Ot=-1,Z=0):(Z+=Y,Z+=rt);xt+=X.ascent*m.finalSize/100,this.canResize&&m.finalSize>this.minimumFontSize&&dtst?Z:st,Z=-2*rt,x="",o=!0,H+=1):x=$t,C.chars?($=C.getCharData($t,X.fStyle,C.getFontByName(m.f).fFamily),Y=o?0:$.w*m.finalSize/100):Y=C.measureText(x,m.f,m.finalSize),$t===" "?Ft+=Y+rt:(Z+=Y+rt+Ft,Ft=0),B.push({l:Y,an:Y,add:L,n:o,anIndexes:[],val:x,line:H,animatorJustifyOffset:0}),M==2){if(L+=Y,x===""||x===" "||G===O-1){for((x===""||x===" ")&&(L-=Y);I<=G;)B[I].an=L,B[I].ind=d,B[I].extra=Y,I+=1;d+=1,L=0;}}else if(M==3){if(L+=Y,x===""||G===O-1){for(x===""&&(L-=Y);I<=G;)B[I].an=L,B[I].ind=d,B[I].extra=Y,I+=1;L=0,d+=1;}}else B[d].ind=d,B[d].extra=0,d+=1;if(m.l=B,st=Z>st?Z:st,Q.push(Z),m.sz)m.boxWidth=m.sz[0],m.justifyOffset=0;else switch(m.boxWidth=st,m.j){case 1:m.justifyOffset=-m.boxWidth;break;case 2:m.justifyOffset=-m.boxWidth/2;break;default:m.justifyOffset=0;}m.lineWidths=Q;var _t=T.a,At,lt;et=_t.length;var Tt,Dt,Et=[];for(pt=0;pt0?o=this.ne.v/100:d=-this.ne.v/100,this.xe.v>0?x=1-this.xe.v/100:M=1+this.xe.v/100;var L=xe.getBezierEasing(o,d,x,M).get,I=0,H=this.finalS,Q=this.finalE,Z=this.data.sh;if(Z===2)Q===H?I=O>=Q?1:0:I=m(0,C(.5/(Q-H)+(O-H)/(Q-H),1)),I=L(I);else if(Z===3)Q===H?I=O>=Q?0:1:I=1-m(0,C(.5/(Q-H)+(O-H)/(Q-H),1)),I=L(I);else if(Z===4)Q===H?I=0:(I=m(0,C(.5/(Q-H)+(O-H)/(Q-H),1)),I<.5?I*=2:I=1-2*(I-.5)),I=L(I);else if(Z===5){if(Q===H)I=0;else {var st=Q-H;O=C(m(0,O+.5-H),Q-H);var pt=-st/2+O,et=st/2;I=Math.sqrt(1-pt*pt/(et*et));}I=L(I);}else Z===6?(Q===H?I=0:(O=C(m(0,O+.5-H),Q-H),I=(1+Math.cos(Math.PI+Math.PI*2*O/(Q-H)))/2),I=L(I)):(O>=T(H)&&(O-H<0?I=m(0,C(C(Q,1)-(H-O),1)):I=m(0,C(Q-O,1))),I=L(I));if(this.sm.v!==100){var X=this.sm.v*.01;X===0&&(X=1e-8);var $=.5-X*.5;I<$?I=0:(I=(I-$)/X,I>1&&(I=1));}return I*this.a.v},getValue:function(O){this.iterateDynamicProperties(),this._mdf=O||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,O&&this.data.r===2&&(this.e.v=this._currentTextLength);var o=this.data.r===2?1:100/this.data.totalChars,d=this.o.v/o,x=this.s.v/o+d,M=this.e.v/o+d;if(x>M){var L=x;x=M,M=L;}this.finalS=x,this.finalE=M;}},c([Re],B);function G(O,o,d){return new B(O,o)}return {getTextSelectorProp:G}}();function ii(m,C,T){var B={propType:!1},G=Kt.getProp,O=C.a;this.a={r:O.r?G(m,O.r,0,mt,T):B,rx:O.rx?G(m,O.rx,0,mt,T):B,ry:O.ry?G(m,O.ry,0,mt,T):B,sk:O.sk?G(m,O.sk,0,mt,T):B,sa:O.sa?G(m,O.sa,0,mt,T):B,s:O.s?G(m,O.s,1,.01,T):B,a:O.a?G(m,O.a,1,0,T):B,o:O.o?G(m,O.o,0,.01,T):B,p:O.p?G(m,O.p,1,0,T):B,sw:O.sw?G(m,O.sw,0,0,T):B,sc:O.sc?G(m,O.sc,1,0,T):B,fc:O.fc?G(m,O.fc,1,0,T):B,fh:O.fh?G(m,O.fh,0,0,T):B,fs:O.fs?G(m,O.fs,0,.01,T):B,fb:O.fb?G(m,O.fb,0,.01,T):B,t:O.t?G(m,O.t,0,0,T):B},this.s=Xi.getTextSelectorProp(m,C.s,T),this.s.t=C.s.t;}function zs(m,C,T){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=m,this._renderType=C,this._elem=T,this._animatorsData=v(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(T);}zs.prototype.searchProperties=function(){var m,C=this._textData.a.length,T,B=Kt.getProp;for(m=0;m=Z+Ti||!N?(ft=(Z+Ti-pt)/st.partialLength,ct=Y.point[0]+(st.point[0]-Y.point[0])*ft,wt=Y.point[1]+(st.point[1]-Y.point[1])*ft,O.translate(-T[0]*H[L].an*.005,-(T[1]*Ft)*.01),et=!1):N&&(pt+=st.partialLength,X+=1,X>=N.length&&(X=0,$+=1,rt[$]?N=rt[$].points:xt.v.c?(X=0,$=0,N=rt[$].points):(pt-=st.partialLength,N=null)),N&&(Y=st,st=N[X],nt=st.partialLength));kt=H[L].an/2-H[L].add,O.translate(-kt,0,0);}else kt=H[L].an/2-H[L].add,O.translate(-kt,0,0),O.translate(-T[0]*H[L].an*.005,-T[1]*Ft*.01,0);for(lt=0;ltm?this.textSpans[m].span:jt(d?"g":"text"),$<=m){if(x.setAttribute("stroke-linecap","butt"),x.setAttribute("stroke-linejoin","round"),x.setAttribute("stroke-miterlimit","4"),this.textSpans[m].span=x,d){var N=jt("g");x.appendChild(N),this.textSpans[m].childSpan=N;}this.textSpans[m].span=x,this.layerElement.appendChild(x);}x.style.display="inherit";}if(M.reset(),I&&(o[m].n&&(H=-st,Q+=T.yOffset,Q+=Z?1:0,Z=!1),this.applyTextPropertiesToMatrix(T,M,o[m].line,H,Q),H+=o[m].l||0,H+=st),d){Y=this.globalData.fontManager.getCharData(T.finalText[m],B.fStyle,this.globalData.fontManager.getFontByName(T.f).fFamily);var rt;if(Y.t===1)rt=new A(Y.data,this.globalData,this);else {var nt=pr;Y.data&&Y.data.shapes&&(nt=this.buildShapeData(Y.data,T.finalSize)),rt=new ye(nt,this.globalData,this);}if(this.textSpans[m].glyph){var K=this.textSpans[m].glyph;this.textSpans[m].childSpan.removeChild(K.layerElement),K.destroy();}this.textSpans[m].glyph=rt,rt._debug=!0,rt.prepareFrame(0),rt.renderFrame(),this.textSpans[m].childSpan.appendChild(rt.layerElement),Y.t===1&&this.textSpans[m].childSpan.setAttribute("transform","scale("+T.finalSize/100+","+T.finalSize/100+")");}else I&&x.setAttribute("transform","translate("+M.props[12]+","+M.props[13]+")"),x.textContent=o[m].val,x.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");}I&&x&&x.setAttribute("d",L);}for(;m=0;C-=1)(this.completeLayers||this.elements[C])&&this.elements[C].prepareFrame(m-this.layers[C].st);if(this.globalData._mdf)for(C=0;C=0;T-=1)(this.completeLayers||this.elements[T])&&(this.elements[T].prepareFrame(this.renderedFrame-this.layers[T].st),this.elements[T]._mdf&&(this._mdf=!0));}},zi.prototype.renderInnerContent=function(){var m,C=this.layers.length;for(m=0;m0&&x<1&&G[H].push(this.calculateF(x,m,C,T,B,H))):(M=o*o-4*d*O,M>=0&&(L=(-o+k(M))/(2*O),L>0&&L<1&&G[H].push(this.calculateF(L,m,C,T,B,H)),I=(-o-k(M))/(2*O),I>0&&I<1&&G[H].push(this.calculateF(I,m,C,T,B,H)))));this.shapeBoundingBox.left=W.apply(null,G[0]),this.shapeBoundingBox.top=W.apply(null,G[1]),this.shapeBoundingBox.right=q.apply(null,G[0]),this.shapeBoundingBox.bottom=q.apply(null,G[1]);},vt.prototype.calculateF=function(m,C,T,B,G,O){return _(1-m,3)*C[O]+3*_(1-m,2)*m*T[O]+3*(1-m)*_(m,2)*B[O]+_(m,3)*G[O]},vt.prototype.calculateBoundingBox=function(m,C){var T,B=m.length;for(T=0;TT&&(T=G);}T*=m.mult;}else T=m.v*m.mult;C.x-=T,C.xMax+=T,C.y-=T,C.yMax+=T;},vt.prototype.currentBoxContains=function(m){return this.currentBBox.x<=m.x&&this.currentBBox.y<=m.y&&this.currentBBox.width+this.currentBBox.x>=m.x+m.width&&this.currentBBox.height+this.currentBBox.y>=m.y+m.height},vt.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var m=this.tempBoundingBox,C=999999;if(m.x=C,m.xMax=-C,m.y=C,m.yMax=-C,this.calculateBoundingBox(this.itemsData,m),m.width=m.xMax=0;C-=1){var B=this.hierarchy[C].finalTransform.mProp;this.mat.translate(-B.p.v[0],-B.p.v[1],B.p.v[2]),this.mat.rotateX(-B.or.v[0]).rotateY(-B.or.v[1]).rotateZ(B.or.v[2]),this.mat.rotateX(-B.rx.v).rotateY(-B.ry.v).rotateZ(B.rz.v),this.mat.scale(1/B.s.v[0],1/B.s.v[1],1/B.s.v[2]),this.mat.translate(B.a.v[0],B.a.v[1],B.a.v[2]);}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var G;this.p?G=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:G=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var O=Math.sqrt(Math.pow(G[0],2)+Math.pow(G[1],2)+Math.pow(G[2],2)),o=[G[0]/O,G[1]/O,G[2]/O],d=Math.sqrt(o[2]*o[2]+o[0]*o[0]),x=Math.atan2(o[1],d),M=Math.atan2(o[0],-o[2]);this.mat.rotateY(M).rotateX(-x);}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var L=!this._prevMat.equals(this.mat);if((L||this.pe._mdf)&&this.comp.threeDElements){T=this.comp.threeDElements.length;var I,H,Q;for(C=0;C=m)return this.threeDElements[C].perspectiveElem;C+=1;}return null},It.prototype.createThreeDContainer=function(m,C){var T=P("div"),B,G;ut(T);var O=P("div");if(ut(O),C==="3d"){B=T.style,B.width=this.globalData.compSize.w+"px",B.height=this.globalData.compSize.h+"px";var o="50% 50%";B.webkitTransformOrigin=o,B.mozTransformOrigin=o,B.transformOrigin=o,G=O.style;var d="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";G.transform=d,G.webkitTransform=d;}T.appendChild(O);var x={container:O,perspectiveElem:T,startPos:m,endPos:m,type:C};return this.threeDElements.push(x),x},It.prototype.build3dContainers=function(){var m,C=this.layers.length,T,B="";for(m=0;m=0;m-=1)this.resizerElem.appendChild(this.threeDElements[m].perspectiveElem);},It.prototype.addTo3dContainer=function(m,C){for(var T=0,B=this.threeDElements.length;TT?(G=m/this.globalData.compSize.w,O=m/this.globalData.compSize.w,o=0,d=(C-this.globalData.compSize.h*(m/this.globalData.compSize.w))/2):(G=C/this.globalData.compSize.h,O=C/this.globalData.compSize.h,o=(m-this.globalData.compSize.w*(C/this.globalData.compSize.h))/2,d=0);var x=this.resizerElem.style;x.webkitTransform="matrix3d("+G+",0,0,0,0,"+O+",0,0,0,0,1,0,"+o+","+d+",0,1)",x.transform=x.webkitTransform;},It.prototype.renderFrame=F.prototype.renderFrame,It.prototype.hide=function(){this.resizerElem.style.display="none";},It.prototype.show=function(){this.resizerElem.style.display="block";},It.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else {var m=this.globalData.compSize.w,C=this.globalData.compSize.h,T,B=this.threeDElements.length;for(T=0;TMc});var Tc,Mc,Ml=ls(()=>{qs();Tc=is((exports,module)=>{typeof navigator<"u"&&function(t,e){typeof exports=="object"&&typeof module<"u"?module.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.lottie=e());}(exports,function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t;},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t;},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var i,s=t.length,r;for(i=0;i1?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[2]+=e,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(t,e){var i=RGBtoHSV(t[0]*255,t[1]*255,t[2]*255);return i[0]+=e/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}var rgbToHex=function(){var t=[],e,i;for(e=0;e<256;e+=1)i=e.toString(16),t[e]=i.length===1?"0"+i:i;return function(s,r,a){return s<0&&(s=0),r<0&&(r=0),a<0&&(a=0),"#"+t[s]+t[r]+t[a]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t;},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t;},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t;},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t;},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t;};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$5=function(e){return typeof e}:_typeof$5=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(t)}var dataManager=function(){var t=1,e=[],i,s,r={onmessage:function(){},postMessage:function(l){i({data:l});}},a={postMessage:function(l){r.onmessage({data:l});}};function n(l){if(window.Worker&&window.Blob&&getWebWorker()){var E=new Blob(["var _workerSelf = self; self.onmessage = ",l.toString()],{type:"text/javascript"}),b=URL.createObjectURL(E);return new Worker(b)}return i=l,r}function p(){s||(s=n(function(l){function E(){function v(ht,yt){var D,V,S=ht.length,R,tt,J,Gt;for(V=0;V=0;yt-=1)if(ht[yt].ty==="sh")if(ht[yt].ks.k.i)_(ht[yt].ks.k);else for(S=ht[yt].ks.k.length,V=0;VD[0]?!0:D[0]>ht[0]?!1:ht[1]>D[1]?!0:D[1]>ht[1]?!1:ht[2]>D[2]?!0:D[2]>ht[2]?!1:null}var z=function(){var ht=[4,4,14];function yt(V){var S=V.t.d;V.t.d={k:[{s:S,t:0}]};}function D(V){var S,R=V.length;for(S=0;S=0;S-=1)if(V[S].ty==="sh")if(V[S].ks.k.i)V[S].ks.k.c=V[S].closed;else for(J=V[S].ks.k.length,tt=0;tt500)&&(this._imageLoaded(),clearInterval(g)),f+=1;}.bind(this),50);}function a(u){var f=s(u,this.assetsPath,this.path),g=createNS("image");isSafari?this.testImageLoaded(g):g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.setAttributeNS("http://www.w3.org/1999/xlink","href",f),this._elementHelper.append?this._elementHelper.append(g):this._elementHelper.appendChild(g);var _={img:g,assetData:u};return _}function n(u){var f=s(u,this.assetsPath,this.path),g=createTag("img");g.crossOrigin="anonymous",g.addEventListener("load",this._imageLoaded,!1),g.addEventListener("error",function(){_.img=t,this._imageLoaded();}.bind(this),!1),g.src=f;var _={img:g,assetData:u};return _}function p(u){var f={assetData:u},g=s(u,this.assetsPath,this.path);return dataManager.loadData(g,function(_){f.img=_,this._footageLoaded();}.bind(this),function(){f.img={},this._footageLoaded();}.bind(this)),f}function h(u,f){this.imagesLoadedCb=f;var g,_=u.length;for(g=0;g<_;g+=1)u[g].layers||(!u[g].t||u[g].t==="seq"?(this.totalImages+=1,this.images.push(this._createImageData(u[g]))):u[g].t===3&&(this.totalFootages+=1,this.images.push(this.createFootageData(u[g]))));}function y(u){this.path=u||"";}function P(u){this.assetsPath=u||"";}function c(u){for(var f=0,g=this.images.length;fthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e=this.animationData.layers,i,s=e.length,r=t.layers,a,n=r.length;for(a=0;athis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame");},AnimationItem.prototype.renderFrame=function(){if(!(this.isLoaded===!1||!this.renderer))try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame);}catch(t){this.triggerRenderFrameError(t);}},AnimationItem.prototype.play=function(t){t&&this.name!==t||this.isPaused===!0&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")));},AnimationItem.prototype.pause=function(t){t&&this.name!==t||this.isPaused===!1&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause());},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(this.isPaused===!0?this.play():this.pause());},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0));},AnimationItem.prototype.getMarkerData=function(t){for(var e,i=0;i=this.totalFrames-1&&this.frameModifier>0?!this.loop||this.playCount===this.loop?this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(i=!0,e=this.totalFrames-1):e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):e<0?this.checkSegments(e%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&this.loop!==!0)?(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(i=!0,e=0)):this.setCurrentRawFrameValue(e),i&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"));}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart");},AnimationItem.prototype.setSegment=function(t,e){var i=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(i=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,i!==-1&&this.goToAndStop(i,!0);},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),_typeof$4(t[0])==="object"){var i,s=t.length;for(i=0;i=0;V-=1)e[V].animation.destroy(D);}function W(D,V,S){var R=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),tt,J=R.length;for(tt=0;tt0?_=W:g=W;while(Math.abs(q)>a&&++ot=r?w(f,mt,g,_):gt===0?mt:v(f,z,z+h,g,_)}},t}(),pooling=function(){function t(e){return e.concat(createSizedArray(e.length))}return {double:t}}(),poolFactory=function(){return function(t,e,i){var s=0,r=t,a=createSizedArray(r),n={newElement:p,release:h};function p(){var y;return s?(s-=1,y=a[s]):y=e(),y}function h(y){s===r&&(a=pooling.double(a),r*=2),i&&i(y),a[s]=y,s+=1;}return n}}(),bezierLengthPool=function(){function t(){return {addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}}return poolFactory(8,t)}(),segmentsLengthPool=function(){function t(){return {lengths:[],totalLength:0}}function e(i){var s,r=i.lengths.length;for(s=0;s-.001&&f<.001}function i(l,E,b,v,w,u,f,g,_){if(b===0&&u===0&&_===0)return e(l,E,v,w,f,g);var k=t.sqrt(t.pow(v-l,2)+t.pow(w-E,2)+t.pow(u-b,2)),z=t.sqrt(t.pow(f-l,2)+t.pow(g-E,2)+t.pow(_-b,2)),q=t.sqrt(t.pow(f-v,2)+t.pow(g-w,2)+t.pow(_-u,2)),W;return k>z?k>q?W=k-z-q:W=q-z-k:q>z?W=q-z-k:W=z-k-q,W>-1e-4&&W<1e-4}var s=function(){return function(l,E,b,v){var w=getDefaultCurveSegments(),u,f,g,_,k,z=0,q,W=[],ot=[],mt=bezierLengthPool.newElement();for(g=b.length,u=0;uf?-1:1,k=!0;k;)if(v[u]<=f&&v[u+1]>f?(g=(f-v[u])/(v[u+1]-v[u]),k=!1):u+=_,u<0||u>=w-1){if(u===w-1)return b[u];k=!1;}return b[u]+(b[u+1]-b[u])*g}function y(l,E,b,v,w,u){var f=h(w,u),g=1-f,_=t.round((g*g*g*l[0]+(f*g*g+g*f*g+g*g*f)*b[0]+(f*f*g+g*f*f+f*g*f)*v[0]+f*f*f*E[0])*1e3)/1e3,k=t.round((g*g*g*l[1]+(f*g*g+g*f*g+g*g*f)*b[1]+(f*f*g+g*f*f+f*g*f)*v[1]+f*f*f*E[1])*1e3)/1e3;return [_,k]}var P=createTypedArray("float32",8);function c(l,E,b,v,w,u,f){w<0?w=0:w>1&&(w=1);var g=h(w,f);u=u>1?1:u;var _=h(u,f),k,z=l.length,q=1-g,W=1-_,ot=q*q*q,mt=g*q*q*3,gt=g*g*q*3,ut=g*g*g,Ct=q*q*W,ht=g*q*W+q*g*W+q*q*_,yt=g*g*W+q*g*_+g*q*_,D=g*g*_,V=q*W*W,S=g*W*W+q*_*W+q*W*_,R=g*_*W+q*_*_+g*W*_,tt=g*_*_,J=W*W*W,Gt=_*W*W+W*_*W+W*W*_,Vt=_*_*W+W*_*_+_*W*_,Xt=_*_*_;for(k=0;k=y.t-i){h.h&&(h=y),r=0;break}if(y.t-i>t){r=a;break}a=u||t=u?_.points.length-1:0;for(l=_.points[k].point.length,c=0;c=W&&z=u)s[0]=g[0],s[1]=g[1],s[2]=g[2];else if(t<=f)s[0]=h.s[0],s[1]=h.s[1],s[2]=h.s[2];else {var ht=createQuaternion(h.s),yt=createQuaternion(g),D=(t-f)/(u-f);quaternionToEuler(s,slerp(ht,yt,D));}else for(a=0;a=u?E=1:t1e-6?(l=Math.acos(E),b=Math.sin(l),v=Math.sin((1-i)*l)/b,w=Math.sin(i*l)/b):(v=1-i,w=i),s[0]=v*r+w*h,s[1]=v*a+w*y,s[2]=v*n+w*P,s[3]=v*p+w*c,s}function quaternionToEuler(t,e){var i=e[0],s=e[1],r=e[2],a=e[3],n=Math.atan2(2*s*a-2*i*r,1-2*s*s-2*r*r),p=Math.asin(2*i*s+2*r*a),h=Math.atan2(2*i*a-2*s*r,1-2*i*i-2*r*r);t[0]=n/degToRads,t[1]=p/degToRads,t[2]=h/degToRads;}function createQuaternion(t){var e=t[0]*degToRads,i=t[1]*degToRads,s=t[2]*degToRads,r=Math.cos(e/2),a=Math.cos(i/2),n=Math.cos(s/2),p=Math.sin(e/2),h=Math.sin(i/2),y=Math.sin(s/2),P=r*a*n-p*h*y,c=p*h*n+r*a*y,l=p*a*n+r*h*y,E=r*h*n-p*a*y;return [c,l,E,P]}function getValueAtCurrentTime(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,i=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=i&&t>=i||this._caching.lastFrame=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var s=this.interpolateValue(t,this._caching);this.pv=s;}return this._caching.lastFrame=t,this.pv}function setVValue(t){var e;if(this.propType==="unidimensional")e=t*this.mult,mathAbs(this.v-e)>1e-5&&(this.v=e,this._mdf=!0);else for(var i=0,s=this.v.length;i1e-5&&(this.v[i]=e,this._mdf=!0),i+=1;}function processEffectsSequence(){if(!(this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var t,e=this.effectsSequence.length,i=this.kf?this.pv:this.data.k;for(t=0;t=this._maxLength&&this.doubleArrayLength(),i){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[];break}(!a[s]||a[s]&&!r)&&(a[s]=pointPool.newElement()),a[s][0]=t,a[s][1]=e;},ShapePath.prototype.setTripleAt=function(t,e,i,s,r,a,n,p){this.setXYAt(t,e,"v",n,p),this.setXYAt(i,s,"o",n,p),this.setXYAt(r,a,"i",n,p);},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,i=this.o,s=this.i,r=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],s[0][0],s[0][1],i[0][0],i[0][1],0,!1),r=1);var a=this._length-1,n=this._length,p;for(p=r;p=ht[ht.length-1].t-this.offsetTime)k=ht[ht.length-1].s?ht[ht.length-1].s[0]:ht[ht.length-2].e[0],q=!0;else {for(var yt=_,D=ht.length-1,V=!0,S,R,tt;V&&(S=ht[yt],R=ht[yt+1],!(R.t-this.offsetTime>u));)yt=R.t-this.offsetTime)ut=1;else if(ug&&u>g)||(this._caching.lastIndex=_0||S>-1e-6&&S<0?s(S*R)/R:S}function V(){var S=this.props,R=D(S[0]),tt=D(S[1]),J=D(S[4]),Gt=D(S[5]),Vt=D(S[12]),Xt=D(S[13]);return "matrix("+R+","+tt+","+J+","+Gt+","+Vt+","+Xt+")"}return function(){this.reset=r,this.rotate=a,this.rotateX=n,this.rotateY=p,this.rotateZ=h,this.skew=P,this.skewFromAxis=c,this.shear=y,this.scale=l,this.setTransform=E,this.translate=b,this.transform=v,this.multiply=w,this.applyToPoint=k,this.applyToX=z,this.applyToY=q,this.applyToZ=W,this.applyToPointArray=Ct,this.applyToTriplePoints=ut,this.applyToPointStringified=ht,this.toCSS=yt,this.to2dCSS=V,this.clone=g,this.cloneFromProps=_,this.equals=f,this.inversePoints=gt,this.inversePoint=mt,this.getInverseMatrix=ot,this._t=this.transform,this.isIdentity=u,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset();}}();function _typeof$3(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof$3=function(e){return typeof e}:_typeof$3=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(t)}var lottie={};function setLocation(t){setLocationHref(t);}function searchAnimations(){animationManager.searchAnimations();}function setSubframeRendering(t){setSubframeEnabled(t);}function setPrefix(t){setIdPrefix(t);}function loadAnimation(t){return animationManager.loadAnimation(t)}function setQuality(t){if(typeof t=="string")switch(t){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else !isNaN(t)&&t>1&&setDefaultCurveSegments(t);}function inBrowser(){return typeof navigator<"u"}function installPlugin(t,e){t==="expressions"&&setExpressionsPlugin(e);}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";function checkReady(){document.readyState==="complete"&&(clearInterval(readyStateCheckInterval),searchAnimations());}function getQueryVariable(t){for(var e=queryString.split("&"),i=0;i"u"?"undefined":_typeof$3(exports))==="object"&&typeof module<"u")&&!(typeof define=="function"&&define.amd)&&(window.bodymovin=lottie);}catch(t){}var ShapeModifiers=function(){var t={},e={};t.registerModifier=i,t.getModifier=s;function i(r,a){e[r]||(e[r]=a);}function s(r,a,n){return new e[r](a,n)}return t}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(t){if(!this.closed){t.sh.container.addDynamicProperty(t.sh);var e={shape:t.sh,data:t,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated&&t.setAsAnimated();}},ShapeModifier.prototype.init=function(t,e){this.shapes=[],this.elem=t,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0);},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties());},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(t,e){this.s=PropertyFactory.getProp(t,e.s,0,.01,this),this.e=PropertyFactory.getProp(t,e.e,0,.01,this),this.o=PropertyFactory.getProp(t,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length;},TrimModifier.prototype.addShapeToModifier=function(t){t.pathsData=[];},TrimModifier.prototype.calculateShapeEdges=function(t,e,i,s,r){var a=[];e<=1?a.push({s:t,e}):t>=1?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n=[],p,h=a.length,y;for(p=0;ps+i)){var P,c;y.s*r<=s?P=0:P=(y.s*r-s)/i,y.e*r>=s+i?c=1:c=(y.e*r-s)/i,n.push([P,c]);}return n.length||n.push([0,0]),n},TrimModifier.prototype.releasePathsData=function(t){var e,i=t.length;for(e=0;e1?e=1+s:this.s.v<0?e=0+s:e=this.s.v+s,this.e.v>1?i=1+s:this.e.v<0?i=0+s:i=this.e.v+s,e>i){var r=e;e=i,i=r;}e=Math.round(e*1e4)*1e-4,i=Math.round(i*1e4)*1e-4,this.sValue=e,this.eValue=i;}else e=this.sValue,i=this.eValue;var a,n,p=this.shapes.length,h,y,P,c,l,E=0;if(i===e)for(n=0;n=0;n-=1)if(v=this.shapes[n],v.shape._mdf){for(w=v.localShapeCollection,w.releaseShapes(),this.m===2&&p>1?(_=this.calculateShapeEdges(e,i,v.totalShapeLength,g,E),g+=v.totalShapeLength):_=[[u,f]],y=_.length,h=0;h=1?b.push({s:v.totalShapeLength*(u-1),e:v.totalShapeLength*(f-1)}):(b.push({s:v.totalShapeLength*u,e:v.totalShapeLength}),b.push({s:0,e:v.totalShapeLength*(f-1)}));var k=this.addShapes(v,b[0]);if(b[0].s!==b[0].e){if(b.length>1){var z=v.shape.paths.shapes[v.shape.paths._length-1];if(z.c){var q=k.pop();this.addPaths(k,w),k=this.addShapes(v,b[1],q);}else this.addPaths(k,w),k=this.addShapes(v,b[1]);}this.addPaths(k,w);}}v.shape.paths=w;}}},TrimModifier.prototype.addPaths=function(t,e){var i,s=t.length;for(i=0;ie.e){i.c=!1;break}else e.s<=y&&e.e>=y+P.addedLength?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[p],r[a].v[p],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[p],r[a].o[p-1],r[a].i[p],(e.s-y)/P.addedLength,(e.e-y)/P.addedLength,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1),y+=P.addedLength,c+=1;if(r[a].c&&l.length){if(P=l[p-1],y<=e.e){var u=l[p-1].addedLength;e.s<=y&&e.e>=y+u?(this.addSegment(r[a].v[p-1],r[a].o[p-1],r[a].i[0],r[a].v[0],i,c,w),w=!1):(E=bez.getNewSegment(r[a].v[p-1],r[a].v[0],r[a].o[p-1],r[a].i[0],(e.s-y)/u,(e.e-y)/u,l[p-1]),this.addSegmentFromArray(E,i,c,w),w=!1,i.c=!1);}else i.c=!1;y+=P.addedLength,c+=1;}if(i._length&&(i.setXYAt(i.v[v][0],i.v[v][1],"i",v),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1)),y>e.e)break;a=this.p.keyframes[this.p.keyframes.length-1].t?(P=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/y,0),c=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/y,0)):(P=this.p.pv,c=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/y,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){P=[],c=[];var l=this.px,E=this.py;l._caching.lastFrame+l.offsetTime<=l.keyframes[0].t?(P[0]=l.getValueAtTime((l.keyframes[0].t+.01)/y,0),P[1]=E.getValueAtTime((E.keyframes[0].t+.01)/y,0),c[0]=l.getValueAtTime(l.keyframes[0].t/y,0),c[1]=E.getValueAtTime(E.keyframes[0].t/y,0)):l._caching.lastFrame+l.offsetTime>=l.keyframes[l.keyframes.length-1].t?(P[0]=l.getValueAtTime(l.keyframes[l.keyframes.length-1].t/y,0),P[1]=E.getValueAtTime(E.keyframes[E.keyframes.length-1].t/y,0),c[0]=l.getValueAtTime((l.keyframes[l.keyframes.length-1].t-.01)/y,0),c[1]=E.getValueAtTime((E.keyframes[E.keyframes.length-1].t-.01)/y,0)):(P=[l.pv,E.pv],c[0]=l.getValueAtTime((l._caching.lastFrame+l.offsetTime-.01)/y,l.offsetTime),c[1]=E.getValueAtTime((E._caching.lastFrame+E.offsetTime-.01)/y,E.offsetTime));}else c=t,P=c;this.v.rotate(-Math.atan2(P[1]-c[1],P[0]-c[0]));}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);}this.frameId=this.elem.globalData.frameId;}}function s(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length&&(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4);}function r(){}function a(h){this._addDynamicProperty(h),this.elem.addDynamicProperty(h),this._isDirty=!0;}function n(h,y,P){if(this.elem=h,this.frameId=-1,this.propType="transform",this.data=y,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(P||h),y.p&&y.p.s?(this.px=PropertyFactory.getProp(h,y.p.x,0,0,this),this.py=PropertyFactory.getProp(h,y.p.y,0,0,this),y.p.z&&(this.pz=PropertyFactory.getProp(h,y.p.z,0,0,this))):this.p=PropertyFactory.getProp(h,y.p||{k:[0,0,0]},1,0,this),y.rx){if(this.rx=PropertyFactory.getProp(h,y.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(h,y.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(h,y.rz,0,degToRads,this),y.or.k[0].ti){var c,l=y.or.k.length;for(c=0;c0;)i-=1,this._elements.unshift(e[i]);this.dynamicProperties.length?this.k=!0:this.getValue(!0);},RepeaterModifier.prototype.resetElements=function(t){var e,i=t.length;for(e=0;e0?Math.floor(l):Math.ceil(l),v=this.pMatrix.props,w=this.rMatrix.props,u=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var f=0;if(l>0){for(;fb;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),f-=1;E&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-E,!0),f-=E);}s=this.data.m===1?0:this._currentCopies-1,r=this.data.m===1?1:-1,a=this._currentCopies;for(var g,_;a;){if(e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,_=i.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(s/(this._currentCopies-1)),f!==0){for((s!==0&&r===1||s!==this._currentCopies-1&&r===-1)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9],w[10],w[11],w[12],w[13],w[14],w[15]),this.matrix.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),this.matrix.transform(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15]),g=0;g<_;g+=1)i[g]=this.matrix.props[g];this.matrix.reset();}else for(this.matrix.reset(),g=0;g<_;g+=1)i[g]=this.matrix.props[g];f+=1,a-=1,s+=r;}}else for(a=this._currentCopies,s=0,r=1;a;)e=this.elemsData[s].it,i=e[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,a-=1,s+=r;return n},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(t,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length;},RoundCornersModifier.prototype.processPath=function(t,e){var i=shapePool.newElement();i.c=t.c;var s,r=t._length,a,n,p,h,y,P,c=0,l,E,b,v,w,u;for(s=0;s0&&s<1?[e]:[]:[e-s,e+s].filter(function(r){return r>0&&r<1})},PolynomialBezier.prototype.split=function(t){if(t<=0)return [singlePoint(this.points[0]),this];if(t>=1)return [this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],t),i=lerpPoint(this.points[1],this.points[2],t),s=lerpPoint(this.points[2],this.points[3],t),r=lerpPoint(e,i,t),a=lerpPoint(i,s,t),n=lerpPoint(r,a,t);return [new PolynomialBezier(this.points[0],e,r,n,!0),new PolynomialBezier(n,a,s,this.points[3],!0)]};function extrema(t,e){var i=t.points[0][e],s=t.points[t.points.length-1][e];if(i>s){var r=s;s=i,i=r;}for(var a=quadRoots(3*t.a[e],2*t.b[e],t.c[e]),n=0;n0&&a[n]<1){var p=t.point(a[n])[e];ps&&(s=p);}return {min:i,max:s}}PolynomialBezier.prototype.bounds=function(){return {x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var t=this.bounds();return {left:t.x.min,right:t.x.max,top:t.y.min,bottom:t.y.max,width:t.x.max-t.x.min,height:t.y.max-t.y.min,cx:(t.x.max+t.x.min)/2,cy:(t.y.max+t.y.min)/2}};function intersectData(t,e,i){var s=t.boundingBox();return {cx:s.cx,cy:s.cy,width:s.width,height:s.height,bez:t,t:(e+i)/2,t1:e,t2:i}}function splitData(t){var e=t.bez.split(.5);return [intersectData(e[0],t.t1,t.t),intersectData(e[1],t.t,t.t2)]}function boxIntersect(t,e){return Math.abs(t.cx-e.cx)*2=a||t.width<=s&&t.height<=s&&e.width<=s&&e.height<=s){r.push([t.t,e.t]);return}var n=splitData(t),p=splitData(e);intersectsImpl(n[0],p[0],i+1,s,r,a),intersectsImpl(n[0],p[1],i+1,s,r,a),intersectsImpl(n[1],p[0],i+1,s,r,a),intersectsImpl(n[1],p[1],i+1,s,r,a);}}PolynomialBezier.prototype.intersections=function(t,e,i){e===void 0&&(e=2),i===void 0&&(i=7);var s=[];return intersectsImpl(intersectData(this,0,1),intersectData(t,0,1),0,e,s,i),s},PolynomialBezier.shapeSegment=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[e],t.o[e],t.i[i],t.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(t,e){var i=(e+1)%t.length();return new PolynomialBezier(t.v[i],t.i[i],t.o[e],t.v[e],!0)};function crossProduct(t,e){return [t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function lineIntersection(t,e,i,s){var r=[t[0],t[1],1],a=[e[0],e[1],1],n=[i[0],i[1],1],p=[s[0],s[1],1],h=crossProduct(crossProduct(r,a),crossProduct(n,p));return floatZero(h[2])?null:[h[0]/h[2],h[1]/h[2]]}function polarOffset(t,e,i){return [t[0]+Math.cos(e)*i,t[1]-Math.sin(e)*i]}function pointDistance(t,e){return Math.hypot(t[0]-e[0],t[1]-e[1])}function pointEqual(t,e){return floatEqual(t[0],e[0])&&floatEqual(t[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(t,e.s,0,null,this),this.frequency=PropertyFactory.getProp(t,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(t,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0;};function setPoint(t,e,i,s,r,a,n){var p=i-Math.PI/2,h=i+Math.PI/2,y=e[0]+Math.cos(i)*s*r,P=e[1]-Math.sin(i)*s*r;t.setTripleAt(y,P,y+Math.cos(p)*a,P-Math.sin(p)*a,y+Math.cos(h)*n,P-Math.sin(h)*n,t.length());}function getPerpendicularVector(t,e){var i=[e[0]-t[0],e[1]-t[1]],s=-Math.PI*.5,r=[Math.cos(s)*i[0]-Math.sin(s)*i[1],Math.sin(s)*i[0]+Math.cos(s)*i[1]];return r}function getProjectingAngle(t,e){var i=e===0?t.length()-1:e-1,s=(e+1)%t.length(),r=t.v[i],a=t.v[s],n=getPerpendicularVector(r,a);return Math.atan2(0,1)-Math.atan2(n[1],n[0])}function zigZagCorner(t,e,i,s,r,a,n){var p=getProjectingAngle(e,i),h=e.v[i%e._length],y=e.v[i===0?e._length-1:i-1],P=e.v[(i+1)%e._length],c=a===2?Math.sqrt(Math.pow(h[0]-y[0],2)+Math.pow(h[1]-y[1],2)):0,l=a===2?Math.sqrt(Math.pow(h[0]-P[0],2)+Math.pow(h[1]-P[1],2)):0;setPoint(t,e.v[i%e._length],p,n,s,l/((r+1)*2),c/((r+1)*2));}function zigZagSegment(t,e,i,s,r,a){for(var n=0;n1&&e.length>1&&(r=getIntersection(t[0],e[e.length-1]),r)?[[t[0].split(r[0])[0]],[e[e.length-1].split(r[1])[1]]]:[i,s]}function pruneIntersections(t){for(var e,i=1;i1&&(e=pruneSegmentIntersection(t[t.length-1],t[0]),t[t.length-1]=e[0],t[0]=e[1]),t}function offsetSegmentSplit(t,e){var i=t.inflectionPoints(),s,r,a,n;if(i.length===0)return [offsetSegment(t,e)];if(i.length===1||floatEqual(i[1],1))return a=t.split(i[0]),s=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(r,e)];a=t.split(i[0]),s=a[0];var p=(i[1]-i[0])/(1-i[0]);return a=a[1].split(p),n=a[0],r=a[1],[offsetSegment(s,e),offsetSegment(n,e),offsetSegment(r,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(t,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0;},OffsetPathModifier.prototype.processPath=function(t,e,i,s){var r=shapePool.newElement();r.c=t.c;var a=t.length();t.c||(a-=1);var n,p,h,y=[];for(n=0;n=0;n-=1)h=PolynomialBezier.shapeSegmentInverted(t,n),y.push(offsetSegmentSplit(h,e));y=pruneIntersections(y);var P=null,c=null;for(n=0;n0&&(Gt=!1),Gt){var Ht=createTag("style");Ht.setAttribute("f-forigin",S[R].fOrigin),Ht.setAttribute("f-origin",S[R].origin),Ht.setAttribute("f-family",S[R].fFamily),Ht.type="text/css",Ht.innerText="@font-face {font-family: "+S[R].fFamily+"; font-style: normal; src: url('"+S[R].fPath+"');}",V.appendChild(Ht);}}else if(S[R].fOrigin==="g"||S[R].origin===1){for(Vt=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),Xt=0;Xt=55296&&S<=56319){var R=D.charCodeAt(1);R>=56320&&R<=57343&&(V=(S-55296)*1024+R-56320+65536);}return V}function z(D,V){var S=D.toString(16)+V.toString(16);return c.indexOf(S)!==-1}function q(D){return D===h}function W(D){return D===p}function ot(D){var V=k(D);return V>=y&&V<=P}function mt(D){return ot(D.substr(0,2))&&ot(D.substr(2,2))}function gt(D){return i.indexOf(D)!==-1}function ut(D,V){var S=k(D.substr(V,2));if(S!==s)return !1;var R=0;for(V+=2;R<5;){if(S=k(D.substr(V,2)),Sn)return !1;R+=1,V+=2;}return k(D.substr(V,2))===r}function Ct(){this.isLoaded=!0;}var ht=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this);};ht.isModifier=z,ht.isZeroWidthJoiner=q,ht.isFlagEmoji=mt,ht.isRegionalCode=ot,ht.isCombinedCharacter=gt,ht.isRegionalFlag=ut,ht.isVariationSelector=W,ht.BLACK_FLAG_CODE_POINT=s;var yt={addChars:u,addFonts:w,getCharData:f,getFontByName:_,measureText:g,checkLoadedFonts:b,setIsLoaded:Ct};return ht.prototype=yt,ht}();function SlotManager(t){this.animationData=t;}SlotManager.prototype.getProp=function(t){return this.animationData.slots&&this.animationData.slots[t.sid]?Object.assign(t,this.animationData.slots[t.sid].p):t};function slotFactory(t){return new SlotManager(t)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[];},addRenderableComponent:function(t){this.renderableComponents.indexOf(t)===-1&&this.renderableComponents.push(t);},removeRenderableComponent:function(t){this.renderableComponents.indexOf(t)!==-1&&this.renderableComponents.splice(this.renderableComponents.indexOf(t),1);},prepareRenderableFrame:function(t){this.checkLayerLimits(t);},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show());},checkLayerLimits:function(t){this.data.ip-this.data.st<=t&&this.data.op-this.data.st>t?this.isInRange!==!0&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):this.isInRange!==!1&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide());},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0));},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1;},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1;},AudioElement.prototype.resume=function(){this._canPlay=!0;},AudioElement.prototype.setRate=function(t){this.audio.rate(t);},AudioElement.prototype.volume=function(t){this._volumeMultiplier=t,this._previousVolume=t*this._volume,this.audio.volume(this._previousVolume);},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(t){var e,i=this.layers.length,s;for(this.completeLayers=!0,e=i-1;e>=0;e-=1)this.elements[e]||(s=this.layers[e],s.ip-s.st<=t-this.layers[e].st&&s.op-s.st>t-this.layers[e].st&&this.buildItem(e)),this.completeLayers=this.elements[e]?this.completeLayers:!1;this.checkPendingElements();},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t0&&(this.maskElement.setAttribute("id",l),this.element.maskedElement.setAttribute(f,"url("+getLocationHref()+"#"+l+")"),s.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this);}MaskElement.prototype.getMaskProperty=function(t){return this.viewData[t].prop},MaskElement.prototype.renderFrame=function(t){var e=this.element.finalTransform.mat,i,s=this.masksProperties.length;for(i=0;i1&&(s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),i.lastPath!==s){var n="";i.elem&&(e.c&&(n=t.inv?this.solidPath+s:s),i.elem.setAttribute("d",n)),i.lastPath=s;}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null;};var filtersFactory=function(){var t={};t.createFilter=e,t.createAlphaToLuminanceFilter=i;function e(s,r){var a=createNS("filter");return a.setAttribute("id",s),r!==!0&&(a.setAttribute("filterUnits","objectBoundingBox"),a.setAttribute("x","0%"),a.setAttribute("y","0%"),a.setAttribute("width","100%"),a.setAttribute("height","100%")),a}function i(){var s=createNS("feColorMatrix");return s.setAttribute("type","matrix"),s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),s}return t}(),featureSupport=function(){var t={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas<"u"};return (/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(t.maskType=!1),/firefox/i.test(navigator.userAgent)&&(t.svgLumaHidden=!1),t}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(t){var e,i="SourceGraphic",s=t.data.ef?t.data.ef.length:0,r=createElementID(),a=filtersFactory.createFilter(r,!0),n=0;this.filters=[];var p;for(e=0;e=0&&(i=this.shapeModifiers[t].processShapes(this._isFirstFrame),!i);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,i=0,s=e.length;i.01)return !1;i+=1;}return !0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return !1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t0;)u=l.transformers[ot].mProps._mdf||u,W-=1,ot-=1;if(u)for(W=k-l.styles[g].lvl,ot=l.transformers.length-1;W>0;)q.multiply(l.transformers[ot].mProps.v),W-=1,ot-=1;}else q=t;if(z=l.sh.paths,v=z._length,u){for(w="",b=0;b=1?Ct=.99:Ct<=-1&&(Ct=-.99);var ht=gt*Ct,yt=Math.cos(ut+l.a.v)*ht+w[0],D=Math.sin(ut+l.a.v)*ht+w[1];b.setAttribute("fx",yt),b.setAttribute("fy",D),v&&!l.g._collapsable&&(l.of.setAttribute("fx",yt),l.of.setAttribute("fy",D));}}}function P(c,l,E){var b=l.style,v=l.d;v&&(v._mdf||E)&&v.dashStr&&(b.pElem.setAttribute("stroke-dasharray",v.dashStr),b.pElem.setAttribute("stroke-dashoffset",v.dashoffset[0])),l.c&&(l.c._mdf||E)&&b.pElem.setAttribute("stroke","rgb("+bmFloor(l.c.v[0])+","+bmFloor(l.c.v[1])+","+bmFloor(l.c.v[2])+")"),(l.o._mdf||E)&&b.pElem.setAttribute("stroke-opacity",l.o.v),(l.w._mdf||E)&&(b.pElem.setAttribute("stroke-width",l.w.v),b.msElem&&b.msElem.setAttribute("stroke-width",l.w.v));}return i}();function SVGShapeElement(t,e,i){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,i),this.prevViewData=[];}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes();},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e=this.shapes.length,i,s,r=this.stylesList.length,a,n=[],p=!1;for(s=0;s1&&p&&this.setShapesAsAnimated(n);}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,i=t.length;for(e=0;e=0;h-=1){if(w=this.searchProcessedElement(t[h]),w?e[h]=i[w-1]:t[h]._render=n,t[h].ty==="fl"||t[h].ty==="st"||t[h].ty==="gf"||t[h].ty==="gs"||t[h].ty==="no")w?e[h].style.closed=!1:e[h]=this.createStyleElement(t[h],r),t[h]._render&&e[h].style.pElem.parentNode!==s&&s.appendChild(e[h].style.pElem),l.push(e[h].style);else if(t[h].ty==="gr"){if(!w)e[h]=this.createGroupElement(t[h]);else for(c=e[h].it.length,P=0;P1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this);},TextProperty.prototype.getValue=function(t){if(!((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!t)){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var s,r=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(s=0;se);)i+=1;return this.keysIndex!==i&&(this.keysIndex=i),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e=[],i=0,s=t.length,r,a,n=!1,p=!1,h="";i=55296&&r<=56319?FontManager.isRegionalFlag(t,i)?h=t.substr(i,14):(a=t.charCodeAt(i+1),a>=56320&&a<=57343&&(FontManager.isModifier(r,a)?(h=t.substr(i,2),n=!0):FontManager.isFlagEmoji(t.substr(i,4))?h=t.substr(i,4):h=t.substr(i,2))):r>56319?(a=t.charCodeAt(i+1),FontManager.isVariationSelector(r)&&(n=!0)):FontManager.isZeroWidthJoiner(r)&&(n=!0,p=!0),n?(e[e.length-1]+=h,n=!1):e.push(h),i+=h.length;return e},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e=this.elem.globalData.fontManager,i=this.data,s=[],r,a,n,p=0,h,y=i.m.g,P=0,c=0,l=0,E=[],b=0,v=0,w,u,f=e.getFontByName(t.f),g,_=0,k=getFontProperties(f);t.fWeight=k.weight,t.fStyle=k.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),a=t.finalText.length,t.finalLineHeight=t.lh;var z=t.tr/1e3*t.finalSize,q;if(t.sz)for(var W=!0,ot=t.sz[0],mt=t.sz[1],gt,ut;W;){ut=this.buildFinalText(t.t),gt=0,b=0,a=ut.length,z=t.tr/1e3*t.finalSize;var Ct=-1;for(r=0;rot&&ut[r]!==" "?(Ct===-1?a+=1:r=Ct,gt+=t.finalLineHeight||t.finalSize*1.2,ut.splice(r,Ct===r?1:0,"\r"),Ct=-1,b=0):(b+=_,b+=z);gt+=f.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&mtv?b:v,b=-2*z,h="",n=!0,l+=1):h=yt,e.chars?(g=e.getCharData(yt,f.fStyle,e.getFontByName(t.f).fFamily),_=n?0:g.w*t.finalSize/100):_=e.measureText(h,t.f,t.finalSize),yt===" "?ht+=_+z:(b+=_+z+ht,ht=0),s.push({l:_,an:_,add:P,n,anIndexes:[],val:h,line:l,animatorJustifyOffset:0}),y==2){if(P+=_,h===""||h===" "||r===a-1){for((h===""||h===" ")&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;p+=1,P=0;}}else if(y==3){if(P+=_,h===""||r===a-1){for(h===""&&(P-=_);c<=r;)s[c].an=P,s[c].ind=p,s[c].extra=_,c+=1;P=0,p+=1;}}else s[p].ind=p,s[p].extra=0,p+=1;if(t.l=s,v=b>v?b:v,E.push(b),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0;}t.lineWidths=E;var D=i.a,V,S;u=D.length;var R,tt,J=[];for(w=0;w0?n=this.ne.v/100:p=-this.ne.v/100,this.xe.v>0?h=1-this.xe.v/100:y=1+this.xe.v/100;var P=BezierFactory.getBezierEasing(n,p,h,y).get,c=0,l=this.finalS,E=this.finalE,b=this.data.sh;if(b===2)E===l?c=a>=E?1:0:c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===3)E===l?c=a>=E?0:1:c=1-t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c=P(c);else if(b===4)E===l?c=0:(c=t(0,e(.5/(E-l)+(a-l)/(E-l),1)),c<.5?c*=2:c=1-2*(c-.5)),c=P(c);else if(b===5){if(E===l)c=0;else {var v=E-l;a=e(t(0,a+.5-l),E-l);var w=-v/2+a,u=v/2;c=Math.sqrt(1-w*w/(u*u));}c=P(c);}else b===6?(E===l?c=0:(a=e(t(0,a+.5-l),E-l),c=(1+Math.cos(Math.PI+Math.PI*2*a/(E-l)))/2),c=P(c)):(a>=i(l)&&(a-l<0?c=t(0,e(e(E,1)-(l-a),1)):c=t(0,e(E-a,1))),c=P(c));if(this.sm.v!==100){var f=this.sm.v*.01;f===0&&(f=1e-8);var g=.5-f*.5;c1&&(c=1));}return c*this.a.v},getValue:function(a){this.iterateDynamicProperties(),this._mdf=a||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,a&&this.data.r===2&&(this.e.v=this._currentTextLength);var n=this.data.r===2?1:100/this.data.totalChars,p=this.o.v/n,h=this.s.v/n+p,y=this.e.v/n+p;if(h>y){var P=h;h=y,y=P;}this.finalS=h,this.finalE=y;}},extendPrototype([DynamicPropertyContainer],s);function r(a,n,p){return new s(a,n)}return {getTextSelectorProp:r}}();function TextAnimatorDataProperty(t,e,i){var s={propType:!1},r=PropertyFactory.getProp,a=e.a;this.a={r:a.r?r(t,a.r,0,degToRads,i):s,rx:a.rx?r(t,a.rx,0,degToRads,i):s,ry:a.ry?r(t,a.ry,0,degToRads,i):s,sk:a.sk?r(t,a.sk,0,degToRads,i):s,sa:a.sa?r(t,a.sa,0,degToRads,i):s,s:a.s?r(t,a.s,1,.01,i):s,a:a.a?r(t,a.a,1,0,i):s,o:a.o?r(t,a.o,0,.01,i):s,p:a.p?r(t,a.p,1,0,i):s,sw:a.sw?r(t,a.sw,0,0,i):s,sc:a.sc?r(t,a.sc,1,0,i):s,fc:a.fc?r(t,a.fc,1,0,i):s,fh:a.fh?r(t,a.fh,0,0,i):s,fs:a.fs?r(t,a.fs,0,.01,i):s,fb:a.fb?r(t,a.fb,0,.01,i):s,t:a.t?r(t,a.t,0,0,i):s},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,i),this.s.t=e.s.t;}function TextAnimatorProperty(t,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i);}TextAnimatorProperty.prototype.searchProperties=function(){var t,e=this._textData.a.length,i,s=PropertyFactory.getProp;for(t=0;t=b+oe||!k?(ot=(b+oe-w)/v.partialLength,Xt=_.point[0]+(v.point[0]-_.point[0])*ot,Ht=_.point[1]+(v.point[1]-_.point[1])*ot,a.translate(-i[0]*l[P].an*.005,-(i[1]*ht)*.01),u=!1):k&&(w+=v.partialLength,f+=1,f>=k.length&&(f=0,g+=1,z[g]?k=z[g].points:gt.v.c?(f=0,g=0,k=z[g].points):(w-=v.partialLength,k=null)),k&&(_=v,v=k[f],q=v.partialLength));Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0);}else Vt=l[P].an/2-l[P].add,a.translate(-Vt,0,0),a.translate(-i[0]*l[P].an*.005,-i[1]*ht*.01,0);for(S=0;St?this.textSpans[t].span:createNS(p?"g":"text"),g<=t){if(h.setAttribute("stroke-linecap","butt"),h.setAttribute("stroke-linejoin","round"),h.setAttribute("stroke-miterlimit","4"),this.textSpans[t].span=h,p){var k=createNS("g");h.appendChild(k),this.textSpans[t].childSpan=k;}this.textSpans[t].span=h,this.layerElement.appendChild(h);}h.style.display="inherit";}if(y.reset(),c&&(n[t].n&&(l=-v,E+=i.yOffset,E+=b?1:0,b=!1),this.applyTextPropertiesToMatrix(i,y,n[t].line,l,E),l+=n[t].l||0,l+=v),p){_=this.globalData.fontManager.getCharData(i.finalText[t],s.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily);var z;if(_.t===1)z=new SVGCompElement(_.data,this.globalData,this);else {var q=emptyShapeData;_.data&&_.data.shapes&&(q=this.buildShapeData(_.data,i.finalSize)),z=new SVGShapeElement(q,this.globalData,this);}if(this.textSpans[t].glyph){var W=this.textSpans[t].glyph;this.textSpans[t].childSpan.removeChild(W.layerElement),W.destroy();}this.textSpans[t].glyph=z,z._debug=!0,z.prepareFrame(0),z.renderFrame(),this.textSpans[t].childSpan.appendChild(z.layerElement),_.t===1&&this.textSpans[t].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")");}else c&&h.setAttribute("transform","translate("+y.props[12]+","+y.props[13]+")"),h.textContent=n[t].val,h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve");}c&&h&&h.setAttribute("d",P);}for(;t=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e=0;i-=1)(this.completeLayers||this.elements[i])&&(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf&&(this._mdf=!0));}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t0&&h<1&&r[l].push(this.calculateF(h,t,e,i,s,l))):(y=n*n-4*p*a,y>=0&&(P=(-n+bmSqrt(y))/(2*a),P>0&&P<1&&r[l].push(this.calculateF(P,t,e,i,s,l)),c=(-n-bmSqrt(y))/(2*a),c>0&&c<1&&r[l].push(this.calculateF(c,t,e,i,s,l)))));this.shapeBoundingBox.left=bmMin.apply(null,r[0]),this.shapeBoundingBox.top=bmMin.apply(null,r[1]),this.shapeBoundingBox.right=bmMax.apply(null,r[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,r[1]);},HShapeElement.prototype.calculateF=function(t,e,i,s,r,a){return bmPow(1-t,3)*e[a]+3*bmPow(1-t,2)*t*i[a]+3*(1-t)*bmPow(t,2)*s[a]+bmPow(t,3)*r[a]},HShapeElement.prototype.calculateBoundingBox=function(t,e){var i,s=t.length;for(i=0;ii&&(i=r);}i*=t.mult;}else i=t.v*t.mult;e.x-=i,e.xMax+=i,e.y-=i,e.yMax+=i;},HShapeElement.prototype.currentBoxContains=function(t){return this.currentBBox.x<=t.x&&this.currentBBox.y<=t.y&&this.currentBBox.width+this.currentBBox.x>=t.x+t.width&&this.currentBBox.height+this.currentBBox.y>=t.y+t.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMax=0;e-=1){var s=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-s.p.v[0],-s.p.v[1],s.p.v[2]),this.mat.rotateX(-s.or.v[0]).rotateY(-s.or.v[1]).rotateZ(s.or.v[2]),this.mat.rotateX(-s.rx.v).rotateY(-s.ry.v).rotateZ(s.rz.v),this.mat.scale(1/s.s.v[0],1/s.s.v[1],1/s.s.v[2]),this.mat.translate(s.a.v[0],s.a.v[1],s.a.v[2]);}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var r;this.p?r=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:r=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var a=Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)),n=[r[0]/a,r[1]/a,r[2]/a],p=Math.sqrt(n[2]*n[2]+n[0]*n[0]),h=Math.atan2(n[1],p),y=Math.atan2(n[0],-n[2]);this.mat.rotateY(y).rotateX(-h);}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var P=!this._prevMat.equals(this.mat);if((P||this.pe._mdf)&&this.comp.threeDElements){i=this.comp.threeDElements.length;var c,l,E;for(e=0;e=t)return this.threeDElements[e].perspectiveElem;e+=1;}return null},HybridRendererBase.prototype.createThreeDContainer=function(t,e){var i=createTag("div"),s,r;styleDiv(i);var a=createTag("div");if(styleDiv(a),e==="3d"){s=i.style,s.width=this.globalData.compSize.w+"px",s.height=this.globalData.compSize.h+"px";var n="50% 50%";s.webkitTransformOrigin=n,s.mozTransformOrigin=n,s.transformOrigin=n,r=a.style;var p="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";r.transform=p,r.webkitTransform=p;}i.appendChild(a);var h={container:a,perspectiveElem:i,startPos:t,endPos:t,type:e};return this.threeDElements.push(h),h},HybridRendererBase.prototype.build3dContainers=function(){var t,e=this.layers.length,i,s="";for(t=0;t=0;t-=1)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem);},HybridRendererBase.prototype.addTo3dContainer=function(t,e){for(var i=0,s=this.threeDElements.length;ii?(r=t/this.globalData.compSize.w,a=t/this.globalData.compSize.w,n=0,p=(e-this.globalData.compSize.h*(t/this.globalData.compSize.w))/2):(r=e/this.globalData.compSize.h,a=e/this.globalData.compSize.h,n=(t-this.globalData.compSize.w*(e/this.globalData.compSize.h))/2,p=0);var h=this.resizerElem.style;h.webkitTransform="matrix3d("+r+",0,0,0,0,"+a+",0,0,0,0,1,0,"+n+","+p+",0,1)",h.transform=h.webkitTransform;},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none";},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block";},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else {var t=this.globalData.compSize.w,e=this.globalData.compSize.h,i,s=this.threeDElements.length;for(i=0;i=y;)mt/=2,gt/=2,ut>>>=1;return (mt+ut)/gt};return ot.int32=function(){return W.g(4)|0},ot.quick=function(){return W.g(4)/4294967296},ot.double=ot,w(f(W.S),t),(_.pass||k||function(mt,gt,ut,Ct){return Ct&&(Ct.S&&b(Ct,W),mt.state=function(){return b(W,{})}),ut?(e[n]=mt,gt):mt})(ot,q,"global"in _?_.global:this==e,_.state)}e["seed"+n]=l;function E(g){var _,k=g.length,z=this,q=0,W=z.i=z.j=0,ot=z.S=[];for(k||(g=[k++]);qi){var s=i;i=e,e=s;}return Math.min(Math.max(t,e),i)}function radiansToDegrees(t){return t/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if(typeof t=="number"||t instanceof Number)return e=e||0,Math.abs(t-e);e||(e=helperLengthArray);var i,s=Math.min(t.length,e.length),r=0;for(i=0;i.5?y/(2-r-a):y/(r+a),r){case e:n=(i-s)/y+(i1&&(i-=1),i<1/6?t+(e-t)*6*i:i<1/2?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function hslToRgb(t){var e=t[0],i=t[1],s=t[2],r,a,n;if(i===0)r=s,n=s,a=s;else {var p=s<.5?s*(1+i):s+i-s*i,h=2*s-p;r=hue2rgb(h,p,e+1/3),a=hue2rgb(h,p,e),n=hue2rgb(h,p,e-1/3);}return [r,a,n,t[3]]}function linear(t,e,i,s,r){if((s===void 0||r===void 0)&&(s=e,r=i,e=0,i=1),i=i)return r;var n=i===e?0:(t-e)/(i-e);if(!s.length)return s+(r-s)*n;var p,h=s.length,y=createTypedArray("float32",h);for(p=0;p1){for(r=0;r1?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(r)){var p,h=r.length,y=createTypedArray("float32",h);for(p=0;pdata.k[e].t&&tdata.k[e+1].t-t?(s=e+2,r=data.k[e+1].t):(s=e+1,r=data.k[e].t);break}s===-1&&(s=e+1,r=data.k[e].t);}var a={};return a.index=s,a.time=r/elem.comp.globalData.frameRate,a}function key(t){var e,i,s;if(!data.k.length||typeof data.k[0]=="number")throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var r=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(s=r.length,i=0;iw.length-1)&&(E=w.length-1),g=w[w.length-1-E].t,f=u-g);var _,k,z;if(l==="pingpong"){var q=Math.floor((v-g)/f);if(q%2!==0)return this.getValueAtTime((f-(v-g)%f+g)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(g/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(u/this.comp.globalData.frameRate,0),mt=this.getValueAtTime(((v-g)%f+g)/this.comp.globalData.frameRate,0),gt=Math.floor((v-g)/f);if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_=u)return this.pv;var f,g;b?(E?f=Math.abs(this.elem.comp.globalData.frameRate*E):f=Math.max(0,this.elem.data.op-u),g=u+f):((!E||E>w.length-1)&&(E=w.length-1),g=w[E].t,f=g-u);var _,k,z;if(l==="pingpong"){var q=Math.floor((u-v)/f);if(q%2===0)return this.getValueAtTime(((u-v)%f+u)/this.comp.globalData.frameRate,0)}else if(l==="offset"){var W=this.getValueAtTime(u/this.comp.globalData.frameRate,0),ot=this.getValueAtTime(g/this.comp.globalData.frameRate,0),mt=this.getValueAtTime((f-(u-v)%f+u)/this.comp.globalData.frameRate,0),gt=Math.floor((u-v)/f)+1;if(this.pv.length){for(z=new Array(W.length),k=z.length,_=0;_1?(w-v)/(E-1):1,f=0,g=0,_;this.pv.length?_=createTypedArray("float32",this.pv.length):_=0;for(var k;fu){var z=f,q=b.c&&f===g-1?0:f+1,W=(u-_)/w[f].addedLength;k=bez.getPointInSegment(b.v[z],b.v[q],b.o[z],b.i[q],W,w[f]);break}else _+=w[f].addedLength;f+=1;}return k||(k=b.c?[b.v[0][0],b.v[0][1]]:[b.v[b._length-1][0],b.v[b._length-1][1]]),k},vectorOnPath:function(l,E,b){l==1?l=this.v.c:l==0&&(l=.999);var v=this.pointOnPath(l,E),w=this.pointOnPath(l+.001,E),u=w[0]-v[0],f=w[1]-v[1],g=Math.sqrt(Math.pow(u,2)+Math.pow(f,2));if(g===0)return [0,0];var _=b==="tangent"?[u/g,f/g]:[-f/g,u/g];return _},tangentOnPath:function(l,E){return this.vectorOnPath(l,E,"tangent")},normalOnPath:function(l,E){return this.vectorOnPath(l,E,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([P],h),extendPrototype([P],y),y.prototype.getValueAtTime=p,y.prototype.initiateExpression=ExpressionManager.initiateExpression;var c=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(l,E,b,v,w){var u=c(l,E,b,v,w);return u.propertyIndex=E.ix,u.lock=!1,b===3?expressionHelpers.searchExpressions(l,E.pt,u):b===4&&expressionHelpers.searchExpressions(l,E.ks,u),u.k&&l.addDynamicProperty(u),u};}function initialize$1(){addPropertyDecorator();}function addDecorator(){function t(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(e,i){var s=this.calculateExpression(i);if(e.t!==s){var r={};return this.copyData(r,e),r.t=s.toString(),r.__complete=!1,r}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),i=this.searchExpressions();return this.kf=e||i,this.kf},TextProperty.prototype.searchExpressions=t;}function initialize(){addDecorator();}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function t(e,i){var s=createNS("feMerge");s.setAttribute("result",e);var r,a;for(a=0;a=y?c=b<0?s:r:c=s+E*Math.pow((p-t)/b,1/i),P[l]=c,l+=1,a+=256/(n-1);return P.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,i=this.filterManager.effectElements;this.feFuncRComposed&&(t||i[3].p._mdf||i[4].p._mdf||i[5].p._mdf||i[6].p._mdf||i[7].p._mdf)&&(e=this.getTableValue(i[3].p.v,i[4].p.v,i[5].p.v,i[6].p.v,i[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(t||i[10].p._mdf||i[11].p._mdf||i[12].p._mdf||i[13].p._mdf||i[14].p._mdf)&&(e=this.getTableValue(i[10].p.v,i[11].p.v,i[12].p.v,i[13].p.v,i[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(t||i[17].p._mdf||i[18].p._mdf||i[19].p._mdf||i[20].p._mdf||i[21].p._mdf)&&(e=this.getTableValue(i[17].p.v,i[18].p.v,i[19].p.v,i[20].p.v,i[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(t||i[24].p._mdf||i[25].p._mdf||i[26].p._mdf||i[27].p._mdf||i[28].p._mdf)&&(e=this.getTableValue(i[24].p.v,i[25].p.v,i[26].p.v,i[27].p.v,i[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(t||i[31].p._mdf||i[32].p._mdf||i[33].p._mdf||i[34].p._mdf||i[35].p._mdf)&&(e=this.getTableValue(i[31].p.v,i[32].p.v,i[33].p.v,i[34].p.v,i[35].p.v),this.feFuncA.setAttribute("tableValues",e));}};function SVGDropShadowEffect(t,e,i,s,r){var a=e.container.globalData.renderConfig.filterSize,n=e.data.fs||a;t.setAttribute("x",n.x||a.x),t.setAttribute("y",n.y||a.y),t.setAttribute("width",n.width||a.width),t.setAttribute("height",n.height||a.height),this.filterManager=e;var p=createNS("feGaussianBlur");p.setAttribute("in","SourceAlpha"),p.setAttribute("result",s+"_drop_shadow_1"),p.setAttribute("stdDeviation","0"),this.feGaussianBlur=p,t.appendChild(p);var h=createNS("feOffset");h.setAttribute("dx","25"),h.setAttribute("dy","0"),h.setAttribute("in",s+"_drop_shadow_1"),h.setAttribute("result",s+"_drop_shadow_2"),this.feOffset=h,t.appendChild(h);var y=createNS("feFlood");y.setAttribute("flood-color","#00ff00"),y.setAttribute("flood-opacity","1"),y.setAttribute("result",s+"_drop_shadow_3"),this.feFlood=y,t.appendChild(y);var P=createNS("feComposite");P.setAttribute("in",s+"_drop_shadow_3"),P.setAttribute("in2",s+"_drop_shadow_2"),P.setAttribute("operator","in"),P.setAttribute("result",s+"_drop_shadow_4"),t.appendChild(P);var c=this.createMergeNode(s,[s+"_drop_shadow_4",r]);t.appendChild(c);}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(e[0]*255),Math.round(e[1]*255),Math.round(e[2]*255)));}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var i=this.filterManager.effectElements[3].p.v,s=(this.filterManager.effectElements[2].p.v-90)*degToRads,r=i*Math.cos(s),a=i*Math.sin(s);this.feOffset.setAttribute("dx",r),this.feOffset.setAttribute("dy",a);}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,i){this.initialized=!1,this.filterManager=e,this.filterElem=t,this.elem=i,i.matteElement=createNS("g"),i.matteElement.appendChild(i.layerElement),i.matteElement.appendChild(i.transformedElement),i.baseElement=i.matteElement;}SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,i=_svgMatteSymbols.length;e{An();qn();Tn();ca();wc={name:"@dotlottie/common",version:"0.7.11",type:"module",description:"",author:"Afsal , Sam Osborne ",license:"MIT",engines:{node:">18.0.0"},module:"dist/index.js",main:"dist/index.js",types:"dist/index.d.ts",files:["dist"],keywords:[],scripts:{build:"tsup",dev:"tsup --watch",lint:"eslint .","type-check":"tsc --noEmit"},dependencies:{"@dotlottie/dotlottie-js":"^0.7.0","@preact/signals-core":"^1.2.3",howler:"^2.2.3","lottie-web":"^5.12.2",xstate:"^4.38.1"},devDependencies:{"@lottiefiles/lottie-types":"^1.2.0","@types/howler":"^2.2.8",tsup:"^7.2.0",typescript:"^4.7.4"},publishConfig:{access:"public"}},sr=(t=>(t.Complete="complete",t.DataFail="data_fail",t.DataReady="data_ready",t.Error="error",t.Frame="frame",t.Freeze="freeze",t.LoopComplete="loopComplete",t.Pause="pause",t.Play="play",t.Ready="ready",t.Stop="stop",t.VisibilityChange="visibilityChange",t))(sr||{}),Ir=(t=>(t.Completed="completed",t.Error="error",t.Fetching="fetching",t.Frozen="frozen",t.Initial="initial",t.Loading="loading",t.Paused="paused",t.Playing="playing",t.Ready="ready",t.Stopped="stopped",t))(Ir||{}),exports.PlayMode=(t=>(t.Bounce="bounce",t.Normal="normal",t))(exports.PlayMode||{}),cs={autoplay:!1,direction:1,hover:!1,intermission:0,loop:!1,playMode:"normal",speed:1,defaultTheme:""},Wn={activeStateId:"",autoplay:!1,currentState:"initial",frame:0,seeker:0,direction:1,hover:!1,loop:!1,playMode:"normal",speed:1,background:"transparent",intermission:0,currentAnimationId:void 0,visibilityPercentage:0},Xn=class{_lottie;_src;_animationConfig;_prevUserPlaybackOptions={};_userPlaybackOptions;_hover=!1;_loop=!1;_counter=0;_intermission=0;_counterInterval=null;_container=null;_name;_mode="normal";_background="transparent";_animation;_defaultTheme;_activeAnimationId;_currentAnimationId;_testId;_listeners=new Map;_currentState="initial";_stateBeforeFreeze="initial";state=new Bh(Wn);_light=!1;_worker=!1;_dotLottieLoader=new Dh;_activeStateId;_inInteractiveMode=!1;_scrollTicking=!1;_scrollCallback=void 0;_onShowIntersectionObserver=void 0;_visibilityPercentage=0;_audios=[];_stateMachineManager;constructor(t,e,i){typeof t=="string"?this._src=t:this._src=Ua(t),i!=null&&i.testId&&(this._testId=i.testId),this._defaultTheme=(i==null?void 0:i.defaultTheme)||"",this._userPlaybackOptions=this._validatePlaybackOptions(i||{}),typeof(i==null?void 0:i.activeAnimationId)=="string"&&(this._activeAnimationId=i.activeAnimationId),this._container=e||null,typeof(i==null?void 0:i.background)=="string"&&this.setBackground(i.background),typeof(i==null?void 0:i.activeStateId)<"u"&&(this._activeStateId=i.activeStateId);let{rendererSettings:s,...r}=i||{};this._animationConfig={loop:!1,autoplay:!1,renderer:"svg",rendererSettings:{clearCanvas:!0,progressiveLoad:!0,hideOnTransparent:!0,filterSize:{width:"200%",height:"200%",x:"-50%",y:"-50%"},...s},...r},i!=null&&i.light&&(this._light=i.light),i!=null&&i.worker&&(this._worker=i.worker),this._listenToHover(),this._listenToVisibilityChange();}_listenToHover(){var t,e,i,s;let r=()=>{this._hover&&this.currentState!=="playing"&&this.play();},a=()=>{this._hover&&this.currentState==="playing"&&this.stop();};(t=this._container)==null||t.removeEventListener("mouseenter",r),(e=this._container)==null||e.removeEventListener("mouseleave",a),(i=this._container)==null||i.addEventListener("mouseleave",a),(s=this._container)==null||s.addEventListener("mouseenter",r);}_onVisibilityChange(){!this._lottie||typeof document>"u"||(document.hidden&&this.currentState==="playing"?this.freeze():this.currentState==="frozen"&&this.unfreeze());}_listenToVisibilityChange(){typeof document<"u"&&typeof document.hidden<"u"&&document.addEventListener("visibilitychange",()=>this._onVisibilityChange());}_getOption(t){var e;if(typeof this._userPlaybackOptions[t]<"u")return this._userPlaybackOptions[t];let i=(e=this._dotLottieLoader.manifest)==null?void 0:e.animations.find(s=>s.id===this._currentAnimationId);return i&&typeof i[t]<"u"?i[t]:cs[t]}_getPlaybackOptions(){let t={};for(let e in cs)typeof cs[e]<"u"&&(t[e]=this._getOption(e));return t}_setPlayerState(t){var e,i,s;let r=t(this._getPlaybackOptions());try{fo._parse(r);}catch{li(`Invalid PlaybackOptions, ${JSON.stringify(r,null,2)}`);return}typeof r.defaultTheme<"u"&&(this._defaultTheme=r.defaultTheme),typeof r.playMode<"u"&&(this._mode=r.playMode),typeof r.intermission<"u"&&(this._intermission=r.intermission),typeof r.hover<"u"&&(this._hover=r.hover),typeof r.loop<"u"&&(this.clearCountTimer(),this._loop=r.loop,this._counter=0,(e=this._lottie)==null||e.setLoop(typeof r.loop=="number"?!0:r.loop)),typeof r.speed<"u"&&((i=this._lottie)==null||i.setSpeed(r.speed)),typeof r.autoplay<"u"&&this._lottie&&(this._lottie.autoplay=r.autoplay),typeof r.direction<"u"&&((s=this._lottie)==null||s.setDirection(r.direction));}_getOptionsFromAnimation(t){let{id:e,...i}=t;return {...cs,...i}}_updateTestData(){!this._testId||!this._lottie||(window.dotLottiePlayer||(window.dotLottiePlayer={[this._testId]:{}}),window.dotLottiePlayer[this._testId]={direction:this._lottie.playDirection,currentState:this._currentState,loop:this.loop,mode:this._mode,speed:this._lottie.playSpeed});}setContainer(t){t!==this._container&&(this._container=t,this.setBackground(this._background),this._listenToHover());}get currentState(){return this._currentState}clearCountTimer(){this._counterInterval&&clearInterval(this._counterInterval);}setCurrentState(t){this._currentState=t,this._notify(),this._updateTestData();}static isPathJSON(t){var e;return ((e=t.split(".").pop())==null?void 0:e.toLowerCase())==="json"}get src(){return this._src}updateSrc(t){this._src!==t&&(typeof t=="string"?this._src=t:this._src=Ua(t),this._activeAnimationId=void 0,this._currentAnimationId=void 0,this.load());}get intermission(){return this._intermission}get hover(){return this._hover}setHover(t){typeof t=="boolean"&&(this._hover=t,this._userPlaybackOptions.hover=t,this._notify());}setIntermission(t){this._intermission=t,this._userPlaybackOptions.intermission=t,this._notify();}get mode(){return this._mode}get animations(){return this._dotLottieLoader.animationsMap}get themes(){return this._dotLottieLoader.themeMap}setMode(t){typeof t=="string"&&(this._mode=t,this._userPlaybackOptions.playMode=t,this._setPlayerState(()=>({playMode:t})),this._notify(),this._updateTestData());}get container(){if(this._container)return this._container}goToAndPlay(t,e,i){if(!this._lottie||["loading"].includes(this._currentState)){li("goToAndPlay() Can't use whilst loading.");return}this._lottie.goToAndPlay(t,e,i),this.setCurrentState("playing");}goToAndStop(t,e,i){if(!this._lottie||["loading"].includes(this._currentState)){li("goToAndStop() Can't use whilst loading.");return}this._lottie.goToAndStop(t,e,i),this.setCurrentState("stopped");}seek(t){if(!this._lottie||["loading"].includes(this._currentState)){li("seek() Can't use whilst loading.");return}let e=t;typeof e=="number"&&(e=Math.round(e));let i=/^(\d+)(%?)$/u.exec(e.toString());if(!i)return;let s=i[2]==="%"?this.totalFrames*Number(i[1])/100:i[1];s!==void 0&&(this._lottie.goToAndPlay(s,!0),this.currentState==="playing"?this.play():this.currentState==="frozen"?this.freeze():this.pause());}_areNumbersInRange(t,e){return t>=0&&t<=1&&e>=0&&e<=1}_updatePosition(t,e,i){let[s,r]=t!=null?t:[0,this.totalFrames-1],[a,n]=e!=null?e:[0,1];if(!this._areNumbersInRange(a,n)){er("threshold values must be between 0 and 1");return}if(this.container){let{height:p,top:h}=this.container.getBoundingClientRect(),y=window.innerHeight-h,P=window.innerHeight+p,c=y/P,l=s+Math.round((c-a)/(n-a)*(r-s));i&&i(c),this.goToAndStop(l,!0),(l>=r||c>=n)&&this._handleAnimationComplete();}this._scrollTicking=!1;}_requestTick(t,e,i){this._scrollTicking||(requestAnimationFrame(()=>this._updatePosition(t,e,i)),this._scrollTicking=!0);}playOnScroll(t){this.stop(),this._scrollCallback&&this.stopPlayOnScroll(),this._scrollCallback=()=>this._requestTick(t==null?void 0:t.segments,t==null?void 0:t.threshold,t==null?void 0:t.positionCallback),window.addEventListener("scroll",this._scrollCallback);}stopPlayOnScroll(){this._scrollCallback&&(window.removeEventListener("scroll",this._scrollCallback),this._scrollCallback=void 0);}stopPlayOnShow(){this._onShowIntersectionObserver&&(this._onShowIntersectionObserver.disconnect(),this._onShowIntersectionObserver=void 0);}addIntersectionObserver(t){if(!this.container)throw Ie("Can't play on show, player container element not available.");let e={root:null,rootMargin:"0px",threshold:t!=null&&t.threshold?t.threshold:[0,1]},i=s=>{s.forEach(r=>{var a,n;this._visibilityPercentage=r.intersectionRatio*100,r.isIntersecting?(t!=null&&t.callbackOnIntersect&&t.callbackOnIntersect(this._visibilityPercentage),(a=this._container)==null||a.dispatchEvent(new Event("visibilityChange"))):t!=null&&t.callbackOnIntersect&&(t.callbackOnIntersect(0),(n=this._container)==null||n.dispatchEvent(new Event("visibilityChange")));});};this._onShowIntersectionObserver=new IntersectionObserver(i,e),this._onShowIntersectionObserver.observe(this.container);}playOnShow(t){var e;if(this.stop(),!this.container)throw Ie("Can't play on show, player container element not available.");this._onShowIntersectionObserver&&this.stopPlayOnShow(),this.addIntersectionObserver({threshold:(e=t==null?void 0:t.threshold)!=null?e:[],callbackOnIntersect:i=>{i===0?this.pause():this.play();}});}_validatePlaybackOptions(t){if(!t)return {};let e={};for(let[i,s]of Object.entries(t))switch(i){case"autoplay":typeof s=="boolean"&&(e.autoplay=s);break;case"direction":typeof s=="number"&&[1,-1].includes(s)&&(e.direction=s);break;case"loop":(typeof s=="boolean"||typeof s=="number")&&(e.loop=s);break;case"playMode":typeof s=="string"&&["normal","bounce"].includes(s)&&(e.playMode=s);break;case"speed":typeof s=="number"&&(e.speed=s);break;case"themeColor":typeof s=="string"&&(e.themeColor=s);break;case"hover":typeof s=="boolean"&&(e.hover=s);break;case"intermission":typeof s=="number"&&(e.intermission=s);break;case"defaultTheme":typeof s=="string"&&(e.defaultTheme=s);break}return this._requireValidPlaybackOptions(e),e}_requireAnimationsInTheManifest(){var t;if(!((t=this._dotLottieLoader.manifest)!=null&&t.animations.length))throw Ie("No animations found in manifest.")}_requireAnimationsToBeLoaded(){if(this._dotLottieLoader.animationsMap.size===0)throw Ie("No animations have been loaded.")}async play(t,e){var i,s;if(["initial","loading"].includes(this._currentState)){li("Player unable to play whilst loading.");return}if(this._requireAnimationsInTheManifest(),this._requireAnimationsToBeLoaded(),this._lottie&&!t){this._lottie.playDirection===-1&&this._lottie.currentFrame===0?this._lottie.goToAndPlay(this._lottie.totalFrames,!0):this._lottie.play(),this.setCurrentState("playing");return}if(typeof t=="number"){let r=(i=this._dotLottieLoader.manifest)==null?void 0:i.animations[t];if(!r)throw Ie("animation not found.");typeof e=="function"?await this.render({id:r.id,...e(this._getPlaybackOptions(),this._getOptionsFromAnimation(r))}):await this.render({id:r.id});}if(typeof t=="string"){let r=(s=this._dotLottieLoader.manifest)==null?void 0:s.animations.find(a=>a.id===t);if(!r)throw Ie("animation not found.");typeof e=="function"?await this.render({id:r.id,...e(this._getPlaybackOptions(),this._getOptionsFromAnimation(r))}):await this.render({id:r.id});}}playSegments(t,e){if(!this._lottie||["loading"].includes(this._currentState)){li("playSegments() Can't use whilst loading.");return}this._lottie.playSegments(t,e),this.setCurrentState("playing");}resetSegments(t){if(!this._lottie||["loading"].includes(this._currentState)){li("resetSegments() Can't use whilst loading.");return}this._lottie.resetSegments(t);}togglePlay(){this.currentState==="playing"?this.pause():this.play();}_getAnimationByIdOrIndex(t){var e,i;if(this._requireAnimationsInTheManifest(),this._requireAnimationsToBeLoaded(),typeof t=="number"){let s=(e=this._dotLottieLoader.manifest)==null?void 0:e.animations[t];if(!s)throw Ie("animation not found.");return s}if(typeof t=="string"){let s=(i=this._dotLottieLoader.manifest)==null?void 0:i.animations.find(r=>r.id===t);if(!s)throw Ie("animation not found.");return s}throw Ie("first param must be a number or string")}get activeAnimationId(){return this._getActiveAnimationId()}get currentAnimationId(){return this._currentAnimationId}get activeStateId(){return this._activeStateId}async _startInteractivity(t){if(!this._inInteractiveMode){er("Can't start interactivity. Not in interactive mode. Call enterInteractiveMode(stateId: string) to start.");return}if(this._dotLottieLoader.stateMachinesMap.size===0&&await this._dotLottieLoader.getStateMachines(),this._dotLottieLoader.stateMachinesMap.size===0)throw Ie("No interactivity states are available.");if(t==="undefined")throw Ie("stateId is not specified.");this._stateMachineManager||(this._stateMachineManager=await ul(Array.from(this._dotLottieLoader.stateMachinesMap.values()),this)),this._stateMachineManager.start(t);}enterInteractiveMode(t){var e;if(t)this._inInteractiveMode||(this._prevUserPlaybackOptions={...this._userPlaybackOptions}),this._inInteractiveMode&&((e=this._stateMachineManager)==null||e.stop()),this._activeStateId=t,this._inInteractiveMode=!0,this._startInteractivity(t);else throw Ie("stateId must be a non-empty string.")}exitInteractiveMode(){var t;this._inInteractiveMode&&(this._inInteractiveMode=!1,this._activeStateId="",(t=this._stateMachineManager)==null||t.stop(),this._userPlaybackOptions={},this._userPlaybackOptions={...this._prevUserPlaybackOptions},this._prevUserPlaybackOptions={},this.reset());}reset(){var t;let e=this._getActiveAnimationId(),i=(t=this._dotLottieLoader.manifest)==null?void 0:t.animations.find(s=>s.id===e);if(this._inInteractiveMode&&this.exitInteractiveMode(),!i)throw Ie("animation not found.");this.play(e);}previous(t){if(!this._dotLottieLoader.manifest||!this._dotLottieLoader.manifest.animations.length)throw Ie("manifest not found.");if(this._inInteractiveMode){li("previous() is not supported in interactive mode.");return}let e=this._dotLottieLoader.manifest.animations.findIndex(s=>s.id===this._currentAnimationId);if(e===-1)throw Ie("animation not found.");let i=this._dotLottieLoader.manifest.animations[(e-1+this._dotLottieLoader.manifest.animations.length)%this._dotLottieLoader.manifest.animations.length];if(!i||!i.id)throw Ie("animation not found.");typeof t=="function"?this.render({id:i.id,...t(this._getPlaybackOptions(),this._getOptionsFromAnimation(i))}):this.render({id:i.id});}next(t){if(!this._dotLottieLoader.manifest||!this._dotLottieLoader.manifest.animations.length)throw Ie("manifest not found.");if(this._inInteractiveMode){li("next() is not supported in interactive mode.");return}let e=this._dotLottieLoader.manifest.animations.findIndex(s=>s.id===this._currentAnimationId);if(e===-1)throw Ie("animation not found.");let i=this._dotLottieLoader.manifest.animations[(e+1)%this._dotLottieLoader.manifest.animations.length];if(!i||!i.id)throw Ie("animation not found.");typeof t=="function"?this.render({id:i.id,...t(this._getPlaybackOptions(),this._getOptionsFromAnimation(i))}):this.render({id:i.id});}getManifest(){return this._dotLottieLoader.manifest}resize(){if(!this._lottie||["loading"].includes(this._currentState)){li("resize() Can't use whilst loading.");return}this._lottie.resize();}stop(){if(!this._lottie||["loading"].includes(this._currentState)){li("stop() Can't use whilst loading.");return}this.clearCountTimer(),this._counter=0,this._setPlayerState(()=>({direction:this._getOption("direction")})),this._lottie.stop(),this.setCurrentState("stopped");}pause(){if(!this._lottie||["loading"].includes(this._currentState)){li("pause() Can't use whilst loading.");return}this.clearCountTimer(),this._lottie.pause(),this.setCurrentState("paused");}freeze(){if(!this._lottie||["loading"].includes(this._currentState)){li("freeze() Can't use whilst loading.");return}this.currentState!=="frozen"&&(this._stateBeforeFreeze=this.currentState),this._lottie.pause(),this.setCurrentState("frozen");}unfreeze(){if(!this._lottie||["loading"].includes(this._currentState)){li("unfreeze() Can't use whilst loading.");return}this._stateBeforeFreeze==="playing"?this.play():this.pause();}destroy(){var t,e;(t=this._container)!=null&&t.__lottie&&(this._container.__lottie.destroy(),this._container.__lottie=null),this._audios.length&&(this._audios.forEach(i=>{i.unload();}),this._audios=[]),this.clearCountTimer(),typeof document<"u"&&document.removeEventListener("visibilitychange",()=>this._onVisibilityChange()),this._counter=0,(e=this._lottie)==null||e.destroy(),this._lottie=void 0;}getAnimationInstance(){return this._lottie}static getLottieWebVersion(){return `${wc.dependencies["lottie-web"]}`}addEventListener(t,e){var i,s,r;this._listeners.has(t)||this._listeners.set(t,new Set),(i=this._listeners.get(t))==null||i.add(e);try{t==="complete"?(s=this._container)==null||s.addEventListener(t,e):(r=this._lottie)==null||r.addEventListener(t,e);}catch(a){er(`addEventListener ${a}`);}}getState(){var t,e,i,s,r,a,n;return {autoplay:(e=(t=this._lottie)==null?void 0:t.autoplay)!=null?e:!1,currentState:this._currentState,frame:this._frame,visibilityPercentage:this._visibilityPercentage,seeker:this._seeker,direction:(s=(i=this._lottie)==null?void 0:i.playDirection)!=null?s:1,hover:this._hover,loop:this._loop||!1,playMode:this._mode,speed:(a=(r=this._lottie)==null?void 0:r.playSpeed)!=null?a:1,background:this._background,intermission:this._intermission,defaultTheme:this._defaultTheme,currentAnimationId:this._currentAnimationId,activeStateId:(n=this._activeStateId)!=null?n:""}}_notify(){this.state.setState(this.getState());}get totalFrames(){var t;return ((t=this._lottie)==null?void 0:t.totalFrames)||0}get direction(){return this._lottie?this._lottie.playDirection:1}setDirection(t){this._requireValidDirection(t),this._setPlayerState(()=>({direction:t})),this._userPlaybackOptions.direction=t;}get speed(){var t;return ((t=this._lottie)==null?void 0:t.playSpeed)||1}setSpeed(t){this._requireValidSpeed(t),this._setPlayerState(()=>({speed:t})),this._userPlaybackOptions.speed=t;}get autoplay(){var t,e;return (e=(t=this._lottie)==null?void 0:t.autoplay)!=null?e:!1}setAutoplay(t){if(this._requireValidAutoplay(t),!this._lottie||["loading"].includes(this._currentState)){li("setAutoplay() Can't use whilst loading.");return}this._setPlayerState(()=>({autoplay:t})),this._userPlaybackOptions.autoplay=t;}toggleAutoplay(){if(!this._lottie||["loading"].includes(this._currentState)){li("toggleAutoplay() Can't use whilst loading.");return}this.setAutoplay(!this._lottie.autoplay);}get defaultTheme(){return this._defaultTheme}setDefaultTheme(t){this._setPlayerState(()=>({defaultTheme:t})),this._userPlaybackOptions.defaultTheme=t,this._animation&&this.render();}get loop(){return this._loop}setLoop(t){this._requireValidLoop(t),this._setPlayerState(()=>({loop:t})),this._userPlaybackOptions.loop=t;}toggleLoop(){if(!this._lottie||["loading"].includes(this._currentState)){li("toggleLoop() Can't use whilst loading.");return}this.setLoop(!this._loop);}get background(){return this._background}setBackground(t){this._requireValidBackground(t),this._background=t,this._container&&(this._container.style.backgroundColor=t);}get _frame(){return this._lottie?this.currentState==="completed"?this.direction===-1?0:this._lottie.totalFrames:this._lottie.currentFrame:0}get _seeker(){return this._lottie?this._frame/this._lottie.totalFrames*100:0}async revertToManifestValues(t){var e;let i;!Array.isArray(t)||t.length===0?i=["autoplay","defaultTheme","direction","hover","intermission","loop","playMode","speed","activeAnimationId"]:i=t;let s=!1;if(i.includes("activeAnimationId")){let r=(e=this._dotLottieLoader.manifest)==null?void 0:e.activeAnimationId,a=this._getAnimationByIdOrIndex(r||0);this._activeAnimationId=r,await this._setCurrentAnimation(a.id),s=!0;}i.forEach(r=>{switch(r){case"autoplay":delete this._userPlaybackOptions.autoplay,this.setAutoplay(this._getOption("autoplay"));break;case"defaultTheme":delete this._userPlaybackOptions.defaultTheme,this.setDefaultTheme(this._getOption("defaultTheme"));break;case"direction":delete this._userPlaybackOptions.direction,this.setDirection(this._getOption("direction"));break;case"hover":delete this._userPlaybackOptions.hover,this.setHover(this._getOption("hover"));break;case"intermission":delete this._userPlaybackOptions.intermission,this.setIntermission(this._getOption("intermission"));break;case"loop":delete this._userPlaybackOptions.loop,this.setLoop(this._getOption("loop"));break;case"playMode":delete this._userPlaybackOptions.playMode,this.setMode(this._getOption("playMode")),this.setDirection(this._getOption("direction"));break;case"speed":delete this._userPlaybackOptions.speed,this.setSpeed(this._getOption("speed"));break}}),s&&this.render();}removeEventListener(t,e){var i,s,r;try{t==="complete"?(i=this._container)==null||i.removeEventListener(t,e):(s=this._lottie)==null||s.removeEventListener(t,e),(r=this._listeners.get(t))==null||r.delete(e);}catch(a){er("removeEventListener",a);}}_handleAnimationComplete(){var t;typeof this._loop=="number"&&this.stop();let e=this.direction===-1?0:this.totalFrames-1;this.goToAndStop(e,!0),this._counter=0,this.clearCountTimer(),this.setCurrentState("completed"),(t=this._container)==null||t.dispatchEvent(new Event("complete"));}addEventListeners(){var t;if(!this._lottie||["loading"].includes(this._currentState)){li("addEventListeners() Can't use whilst loading.");return}this._lottie.addEventListener("enterFrame",()=>{var e;if(!this._lottie){li("enterFrame event : Lottie is undefined.");return}Math.floor(this._lottie.currentFrame)===0&&this.direction===-1&&((e=this._container)==null||e.dispatchEvent(new Event("complete")),this.loop||this.setCurrentState("completed")),this._notify();}),this._lottie.addEventListener("loopComplete",()=>{var e;if(!this._lottie){li("loopComplete event : Lottie is undefined.");return}(e=this._container)==null||e.dispatchEvent(new Event("loopComplete")),this.intermission>0&&this.pause();let i=this._lottie.playDirection;if(typeof this._loop=="number"&&this._loop>0&&(this._counter+=this._mode==="bounce"?.5:1,this._counter>=this._loop)){this._handleAnimationComplete();return}this._mode==="bounce"&&typeof i=="number"&&(i=Number(i)*-1);let s=i===-1?this._lottie.totalFrames-1:0;this.intermission?(this.goToAndPlay(s,!0),this.pause(),this._counterInterval=window.setTimeout(()=>{this._lottie&&(this._setPlayerState(()=>({direction:i})),this.goToAndPlay(s,!0));},this._intermission)):(this._setPlayerState(()=>({direction:i})),this.goToAndPlay(i===-1?this.totalFrames-1:0,!0));}),this._lottie.addEventListener("complete",()=>{if(this._lottie&&this._loop===!1&&this._mode==="bounce"){if(this._counter+=.5,this._counter>=1){this._handleAnimationComplete();return}this._counterInterval=window.setTimeout(()=>{if(!this._lottie)return;let e=this._lottie.playDirection;this._mode==="bounce"&&typeof e=="number"&&(e=Number(e)*-1);let i=e===-1?this.totalFrames-1:0;this._setPlayerState(()=>({direction:e})),this.goToAndPlay(i,!0);},this._intermission);}else this._handleAnimationComplete();});for(let[e,i]of this._listeners)if(e==="complete")for(let s of i)(t=this._container)==null||t.addEventListener(e,s);else for(let s of i)this._lottie.addEventListener(e,s);}async _setCurrentAnimation(t){this._currentState="loading";let e=await this._dotLottieLoader.getAnimation(t);this._currentAnimationId=t,this._animation=e,this._currentState="ready";}async _getAudioFactory(){if(this._animation&&yo(this._animation)){let{DotLottieAudio:t}=await Promise.resolve().then(()=>(dl(),ml));return e=>{let i=new t({src:[e]});return this._audios.push(i),i}}return null}async render(t){var e,i,s,r,a,n,p,h,y,P,c,l,E,b,v,w,u,f;if(t!=null&&t.id)await this._setCurrentAnimation(t.id);else if(!this._animation)throw Ie("no animation selected");let g=(e=cs.loop)!=null?e:!1,_=(i=cs.autoplay)!=null?i:!1,k=(s=cs.playMode)!=null?s:"normal",z=(r=cs.intermission)!=null?r:0,q=(a=cs.hover)!=null?a:!1,W=(n=cs.direction)!=null?n:1,ot=(p=cs.speed)!=null?p:1,mt=(h=cs.defaultTheme)!=null?h:"";g=(y=t==null?void 0:t.loop)!=null?y:this._getOption("loop"),_=(P=t==null?void 0:t.autoplay)!=null?P:this._getOption("autoplay"),k=(c=t==null?void 0:t.playMode)!=null?c:this._getOption("playMode"),z=(l=t==null?void 0:t.intermission)!=null?l:this._getOption("intermission"),q=(E=t==null?void 0:t.hover)!=null?E:this._getOption("hover"),W=(b=t==null?void 0:t.direction)!=null?b:this._getOption("direction"),ot=(v=t==null?void 0:t.speed)!=null?v:this._getOption("speed"),mt=(w=t==null?void 0:t.defaultTheme)!=null?w:this._getOption("defaultTheme");let gt={...this._animationConfig,autoplay:q?!1:_,loop:typeof g=="number"?!0:g,renderer:this._worker?"svg":(u=this._animationConfig.renderer)!=null?u:"svg"},[ut,Ct,ht]=await Promise.all([this._dotLottieLoader.getTheme(mt),this._getLottiePlayerInstance(),this._getAudioFactory()]);if(ut&&this._animation?(this._animation=Ua(this._animation),this._animation.slots=ut):this._animation=await this._dotLottieLoader.getAnimation((f=this._currentAnimationId)!=null?f:""),this._activeStateId&&!this._inInteractiveMode){this.enterInteractiveMode(this._activeStateId);return}this.destroy(),this._setPlayerState(()=>({defaultTheme:mt,playMode:k,intermission:z,hover:q,loop:g})),ht?this._lottie=Ct.loadAnimation({...gt,container:this._container,animationData:this._animation,audioFactory:ht}):this._lottie=Ct.loadAnimation({...gt,container:this._container,animationData:this._animation}),typeof this._lottie.resetSegments>"u"&&(this._lottie.resetSegments=()=>{var yt;(yt=this._lottie)==null||yt.playSegments([0,this._lottie.totalFrames],!0);}),this.addEventListeners(),this._container&&(this._container.__lottie=this._lottie),this._setPlayerState(()=>({direction:W,speed:ot})),_&&!q&&(g===!1&&W===-1?this.play():this.setCurrentState("playing")),this._updateTestData();}async _getLottiePlayerInstance(){var t;let e=(t=this._animationConfig.renderer)!=null?t:"svg",i;if(this._worker)return e!=="svg"&&li("Worker is only supported with svg renderer. Change or remove renderer prop to get rid of this warning."),i=await Promise.resolve().then(()=>(yl(),gl)),i.default;switch(e){case"svg":{this._light?i=await Promise.resolve().then(()=>(bl(),vl)):i=await Promise.resolve().then(()=>(xl(),_l));break}case"canvas":{this._light?i=await Promise.resolve().then(()=>(Sl(),Pl)):i=await Promise.resolve().then(()=>(Al(),El));break}case"html":{this._light?i=await Promise.resolve().then(()=>(kl(),Cl)):i=await Promise.resolve().then(()=>(Ml(),Tl));break}default:throw new Error(`Invalid renderer: ${e}`)}return i.default}_getActiveAnimationId(){var t,e,i,s;let r=this._dotLottieLoader.manifest;return (s=(i=(t=this._activeAnimationId)!=null?t:r==null?void 0:r.activeAnimationId)!=null?i:(e=r==null?void 0:r.animations[0])==null?void 0:e.id)!=null?s:void 0}async load(t){if(this._currentState==="loading"){li("Loading in progress..");return}try{if(this.setCurrentState("loading"),typeof this._src=="string")if(vo(this._src)){let i=JSON.parse(this._src);this._dotLottieLoader.loadFromLottieJSON(i);}else {let i=new URL(this._src,window.location.href);await this._dotLottieLoader.loadFromUrl(i.toString());}else if(typeof this._src=="object"&&Jr(this._src))this._dotLottieLoader.loadFromLottieJSON(this._src);else throw Ie("Invalid src provided");if(!this._dotLottieLoader.manifest)throw Ie("No manifest found");let e=this._getActiveAnimationId();if(!e)throw Ie("No active animation found");await this._setCurrentAnimation(e),await this.render(t);}catch(e){this.setCurrentState("error"),e instanceof Error&&er(`Error loading animation: ${e.message}`);}}setErrorState(t){this.setCurrentState("error"),er(t);}_requireValidDirection(t){if(t!==-1&&t!==1)throw Ie("Direction can only be -1 (backwards) or 1 (forwards)")}_requireValidIntermission(t){if(t<0||!Number.isInteger(t))throw Ie("intermission must be a positive number")}_requireValidLoop(t){if(typeof t=="number"&&(!Number.isInteger(t)||t<0))throw Ie("loop must be a positive number or boolean")}_requireValidSpeed(t){if(typeof t!="number")throw Ie("speed must be a number")}_requireValidBackground(t){if(typeof t!="string")throw Ie("background must be a string")}_requireValidAutoplay(t){if(typeof t!="boolean")throw Ie("autoplay must be a boolean")}_requireValidPlaybackOptions(t){t.direction&&this._requireValidDirection(t.direction),t.intermission&&this._requireValidIntermission(t.intermission),t.loop&&this._requireValidLoop(t.loop),t.speed&&this._requireValidSpeed(t.speed);}};});Bo();An();qn();Tn();ca();qs();var Yn=window,Jn=Yn.ShadowRoot&&(Yn.ShadyCSS===void 0||Yn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Oo=Symbol(),wl=new WeakMap,ln=class{constructor(e,i,s){if(this._$cssResult$=!0,s!==Oo)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=i;}get styleSheet(){let e=this.o,i=this.t;if(Jn&&e===void 0){let s=i!==void 0&&i.length===1;s&&(e=wl.get(i)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&wl.set(i,e));}return e}toString(){return this.cssText}},Dl=t=>new ln(typeof t=="string"?t:t+"",void 0,Oo),zo=(t,...e)=>{let i=t.length===1?t[0]:e.reduce((s,r,a)=>s+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+t[a+1],t[0]);return new ln(i,t,Oo)},No=(t,e)=>{Jn?t.adoptedStyleSheets=e.map(i=>i instanceof CSSStyleSheet?i:i.styleSheet):e.forEach(i=>{let s=document.createElement("style"),r=Yn.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=i.cssText,t.appendChild(s);});},Un=Jn?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let i="";for(let s of e.cssRules)i+=s.cssText;return Dl(i)})(t):t;var Go,Zn=window,Fl=Zn.trustedTypes,Dc=Fl?Fl.emptyScript:"",Il=Zn.reactiveElementPolyfillSupport,Ho={toAttribute(t,e){switch(e){case Boolean:t=t?Dc:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t);}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=t!==null;break;case Number:i=t===null?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch{i=null;}}return i}},Ll=(t,e)=>e!==t&&(e==e||t==t),jo={attribute:!0,type:String,converter:Ho,reflect:!1,hasChanged:Ll},qo="finalized",ur=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu();}static addInitializer(e){var i;this.finalize(),((i=this.h)!==null&&i!==void 0?i:this.h=[]).push(e);}static get observedAttributes(){this.finalize();let e=[];return this.elementProperties.forEach((i,s)=>{let r=this._$Ep(s,i);r!==void 0&&(this._$Ev.set(r,s),e.push(r));}),e}static createProperty(e,i=jo){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(e,i),!i.noAccessor&&!this.prototype.hasOwnProperty(e)){let s=typeof e=="symbol"?Symbol():"__"+e,r=this.getPropertyDescriptor(e,s,i);r!==void 0&&Object.defineProperty(this.prototype,e,r);}}static getPropertyDescriptor(e,i,s){return {get(){return this[i]},set(r){let a=this[e];this[i]=r,this.requestUpdate(e,a,s);},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||jo}static finalize(){if(this.hasOwnProperty(qo))return !1;this[qo]=!0;let e=Object.getPrototypeOf(this);if(e.finalize(),e.h!==void 0&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){let i=this.properties,s=[...Object.getOwnPropertyNames(i),...Object.getOwnPropertySymbols(i)];for(let r of s)this.createProperty(r,i[r]);}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){let i=[];if(Array.isArray(e)){let s=new Set(e.flat(1/0).reverse());for(let r of s)i.unshift(Un(r));}else e!==void 0&&i.push(Un(e));return i}static _$Ep(e,i){let s=i.attribute;return s===!1?void 0:typeof s=="string"?s:typeof e=="string"?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise(i=>this.enableUpdating=i),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(e=this.constructor.h)===null||e===void 0||e.forEach(i=>i(this));}addController(e){var i,s;((i=this._$ES)!==null&&i!==void 0?i:this._$ES=[]).push(e),this.renderRoot!==void 0&&this.isConnected&&((s=e.hostConnected)===null||s===void 0||s.call(e));}removeController(e){var i;(i=this._$ES)===null||i===void 0||i.splice(this._$ES.indexOf(e)>>>0,1);}_$Eg(){this.constructor.elementProperties.forEach((e,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i]);});}createRenderRoot(){var e;let i=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return No(i,this.constructor.elementStyles),i}connectedCallback(){var e;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$ES)===null||e===void 0||e.forEach(i=>{var s;return (s=i.hostConnected)===null||s===void 0?void 0:s.call(i)});}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$ES)===null||e===void 0||e.forEach(i=>{var s;return (s=i.hostDisconnected)===null||s===void 0?void 0:s.call(i)});}attributeChangedCallback(e,i,s){this._$AK(e,s);}_$EO(e,i,s=jo){var r;let a=this.constructor._$Ep(e,s);if(a!==void 0&&s.reflect===!0){let n=(((r=s.converter)===null||r===void 0?void 0:r.toAttribute)!==void 0?s.converter:Ho).toAttribute(i,s.type);this._$El=e,n==null?this.removeAttribute(a):this.setAttribute(a,n),this._$El=null;}}_$AK(e,i){var s;let r=this.constructor,a=r._$Ev.get(e);if(a!==void 0&&this._$El!==a){let n=r.getPropertyOptions(a),p=typeof n.converter=="function"?{fromAttribute:n.converter}:((s=n.converter)===null||s===void 0?void 0:s.fromAttribute)!==void 0?n.converter:Ho;this._$El=a,this[a]=p.fromAttribute(i,n.type),this._$El=null;}}requestUpdate(e,i,s){let r=!0;e!==void 0&&(((s=s||this.constructor.getPropertyOptions(e)).hasChanged||Ll)(this[e],i)?(this._$AL.has(e)||this._$AL.set(e,i),s.reflect===!0&&this._$El!==e&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(e,s))):r=!1),!this.isUpdatePending&&r&&(this._$E_=this._$Ej());}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_;}catch(i){Promise.reject(i);}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((r,a)=>this[a]=r),this._$Ei=void 0);let i=!1,s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),(e=this._$ES)===null||e===void 0||e.forEach(r=>{var a;return (a=r.hostUpdate)===null||a===void 0?void 0:a.call(r)}),this.update(s)):this._$Ek();}catch(r){throw i=!1,this._$Ek(),r}i&&this._$AE(s);}willUpdate(e){}_$AE(e){var i;(i=this._$ES)===null||i===void 0||i.forEach(s=>{var r;return (r=s.hostUpdated)===null||r===void 0?void 0:r.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e);}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return !0}update(e){this._$EC!==void 0&&(this._$EC.forEach((i,s)=>this._$EO(s,this[s],i)),this._$EC=void 0),this._$Ek();}updated(e){}firstUpdated(e){}};ur[qo]=!0,ur.elementProperties=new Map,ur.elementStyles=[],ur.shadowRootOptions={mode:"open"},Il==null||Il({ReactiveElement:ur}),((Go=Zn.reactiveElementVersions)!==null&&Go!==void 0?Go:Zn.reactiveElementVersions=[]).push("1.6.3");var $o,Kn=window,Sa=Kn.trustedTypes,Vl=Sa?Sa.createPolicy("lit-html",{createHTML:t=>t}):void 0,Xo="$lit$",Lr=`lit$${(Math.random()+"").slice(9)}$`,jl="?"+Lr,Fc=`<${jl}>`,Qr=document,fn=()=>Qr.createComment(""),cn=t=>t===null||typeof t!="object"&&typeof t!="function",Hl=Array.isArray,Ic=t=>Hl(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",Wo=`[ +\f\r]`,pn=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Rl=/-->/g,Bl=/>/g,Zr=RegExp(`>|${Wo}(?:([^\\s"'>=/]+)(${Wo}*=${Wo}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),Ol=/'/g,zl=/"/g,ql=/^(?:script|style|textarea|title)$/i,$l=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),Ne=$l(1),ta=Symbol.for("lit-noChange"),Hi=Symbol.for("lit-nothing"),Nl=new WeakMap,Kr=Qr.createTreeWalker(Qr,129,null,!1);function Wl(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Vl!==void 0?Vl.createHTML(e):e}var Lc=(t,e)=>{let i=t.length-1,s=[],r,a=e===2?"":"",n=pn;for(let p=0;p"?(n=r!=null?r:pn,c=-1):P[1]===void 0?c=-2:(c=n.lastIndex-P[2].length,y=P[1],n=P[3]===void 0?Zr:P[3]==='"'?zl:Ol):n===zl||n===Ol?n=Zr:n===Rl||n===Bl?n=pn:(n=Zr,r=void 0);let E=n===Zr&&t[p+1].startsWith("/>")?" ":"";a+=n===pn?h+Fc:c>=0?(s.push(y),h.slice(0,c)+Xo+h.slice(c)+Lr+E):h+Lr+(c===-2?(s.push(void 0),p):E);}return [Wl(t,a+(t[i]||"")+(e===2?"":"")),s]},un=class t{constructor({strings:e,_$litType$:i},s){let r;this.parts=[];let a=0,n=0,p=e.length-1,h=this.parts,[y,P]=Lc(e,i);if(this.el=t.createElement(y,s),Kr.currentNode=this.el.content,i===2){let c=this.el.content,l=c.firstChild;l.remove(),c.append(...l.childNodes);}for(;(r=Kr.nextNode())!==null&&h.length0){r.textContent=Sa?Sa.emptyScript:"";for(let E=0;E2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=Hi;}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,i=this,s,r){let a=this.strings,n=!1;if(a===void 0)e=Ea(this,e,i,0),n=!cn(e)||e!==this._$AH&&e!==ta,n&&(this._$AH=e);else {let p=e,h,y;for(e=a[0],h=0;h{var s,r;let a=(s=i==null?void 0:i.renderBefore)!==null&&s!==void 0?s:e,n=a._$litPart$;if(n===void 0){let p=(r=i==null?void 0:i.renderBefore)!==null&&r!==void 0?r:null;a._$litPart$=n=new mn(e.insertBefore(fn(),p),p,void 0,i!=null?i:{});}return n._$AI(t),n};var Qo,th;var Vr=class extends ur{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){var e,i;let s=super.createRenderRoot();return (e=(i=this.renderOptions).renderBefore)!==null&&e!==void 0||(i.renderBefore=s.firstChild),s}update(e){let i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Xl(i,this.renderRoot,this.renderOptions);}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!0);}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!1);}render(){return ta}};Vr.finalized=!0,Vr._$litElement$=!0,(Qo=globalThis.litElementHydrateSupport)===null||Qo===void 0||Qo.call(globalThis,{LitElement:Vr});var Yl=globalThis.litElementPolyfillSupport;Yl==null||Yl({LitElement:Vr});((th=globalThis.litElementVersions)!==null&&th!==void 0?th:globalThis.litElementVersions=[]).push("3.3.3");var Rc=(t,e)=>e.kind==="method"&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t);}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){typeof e.initializer=="function"&&(this[e.key]=e.initializer.call(this));},finisher(i){i.createProperty(e.key,t);}},Bc=(t,e,i)=>{e.constructor.createProperty(i,t);};function Bi(t){return (e,i)=>i!==void 0?Bc(t,e,i):Rc(t,e)}function Jl(t){return Bi({...t,state:!0})}var ea=({finisher:t,descriptor:e})=>(i,s)=>{var r;if(s===void 0){let a=(r=i.originalKey)!==null&&r!==void 0?r:i.key,n=e!=null?{kind:"method",placement:"prototype",key:a,descriptor:e(i.key)}:{...i,key:a};return t!=null&&(n.finisher=function(p){t(p,a);}),n}{let a=i.constructor;e!==void 0&&Object.defineProperty(i,s,e(s)),t==null||t(a,s);}};function Ul(t,e){return ea({descriptor:i=>{let s={get(){var r,a;return (a=(r=this.renderRoot)===null||r===void 0?void 0:r.querySelector(t))!==null&&a!==void 0?a:null},enumerable:!0,configurable:!0};if(e){let r=typeof i=="symbol"?Symbol():"__"+i;s.get=function(){var a,n;return this[r]===void 0&&(this[r]=(n=(a=this.renderRoot)===null||a===void 0?void 0:a.querySelector(t))!==null&&n!==void 0?n:null),this[r]};}return s}})}var eh;((eh=window.HTMLSlotElement)===null||eh===void 0?void 0:eh.prototype.assignedElements)!=null?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter(i=>i.nodeType===Node.ELEMENT_NODE);var Zl={name:"@dotlottie/player-component",version:"2.7.12",description:"dotLottie animation player web component.",repository:"https://github.com/dotlottie/player-component.git",homepage:"https://dotlottie.io/players",bugs:"https://github.com/dotlottie/player-component/issues",author:"Jawish Hameed ",license:"MIT",main:"dist/dotlottie-player.js",module:"dist/dotlottie-player.mjs",types:"dist/dotlottie-player.d.ts",files:["dist"],keywords:["dotlottie","animation","web component","component","lit-element","player"],scripts:{build:"tsup","cypress:open":"cypress open --component",dev:"tsup --watch",lint:"eslint .","lint:fix":"eslint --fix",test:"cypress run --component","type-check":"tsc --noEmit"},dependencies:{"@dotlottie/common":"workspace:*",lit:"^2.7.5"},devDependencies:{"@vitejs/plugin-legacy":"^4.1.0","axe-core":"^4.7.2",cypress:"^12.11.0","cypress-axe":"^1.4.0","cypress-ct-lit":"^0.3.2","lottie-web":"^5.12.2",terser:"^5.19.0",tsup:"^7.2.0",typescript:"^4.7.4",vite:"^4.3.9"},publishConfig:{access:"public"},browserslist:["> 3%"]};var Kl=zo` + @font-face { + font-family: 'Karla'; + font-weight: regular; + src: url('./fonts/Karla-regular.woff') format('woff'); + } + + :host { + --lottie-player-toolbar-height: 35px; + --lottie-player-toolbar-background-color: transparent; + --lottie-player-toolbar-hover-background-color: #f3f6f8; + --lottie-player-toolbar-icon-color: #20272c; + --lottie-player-toolbar-icon-hover-color: #f3f6f8; + --lottie-player-toolbar-icon-active-color: #00ddb3; + --lottie-player-seeker-track-color: #00ddb3; + --lottie-player-seeker-accent-color: #00c1a2; + --lottie-player-seeker-thumb-color: #00c1a2; + --lottie-player-options-separator: #d9e0e6; + + display: block; + width: 100%; + height: 100%; + + font-family: 'Karla', sans-serif; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + + :host * { + box-sizing: border-box; + } + + .active { + color: var(--lottie-player-toolbar-icon-active-color) !important; + } + + .main { + position: relative; + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + } + + .animation { + position: relative; + width: 100%; + height: 100%; + display: flex; + } + .animation.controls { + height: calc(100% - var(--lottie-player-toolbar-height)); + } + + .toolbar { + display: flex; + align-items: center; + justify-items: center; + background-color: var(--lottie-player-toolbar-background-color); + margin: 0 8px; + height: var(--lottie-player-toolbar-height); + } + + .btn-spacing-left { + margin-right: 4px; + margin-left: 8px; + } + + .btn-spacing-center { + margin-right: 4px; + margin-left: 4px; + } + + .btn-spacing-right { + margin-right: 8px; + margin-left: 4px; + } + + .toolbar button { + color: #20272c; + cursor: pointer; + fill: var(--lottie-player-toolbar-icon-color); + display: flex; + background: none; + border: 0px; + border-radius: 4px; + padding: 4px; + outline: none; + width: 24px; + height: 24px; + align-items: center; + } + + .toolbar button:hover { + background-color: var(--lottie-player-toolbar-icon-hover-color); + border-style: solid; + border-radius: 2px; + } + + .toolbar button.active { + fill: var(--lottie-player-toolbar-icon-active-color); + } + + .toolbar button.active:hover { + fill: var(--lottie-player-toolbar-icon-hover-color); + border-radius: 4px; + } + + .toolbar button:focus-visible { + outline: 2px solid var(--lottie-player-toolbar-icon-active-color); + border-radius: 4px; + box-sizing: border-box; + } + + .toolbar button svg { + width: 16px; + height: 16px; + } + + .toolbar button.disabled svg { + display: none; + } + + .popover { + position: absolute; + bottom: 40px; + left: calc(100% - 239px); + width: 224px; + min-height: 84px; + max-height: 300px; + background-color: #ffffff; + box-shadow: 0px 8px 48px 0px rgba(243, 246, 248, 0.15), 0px 8px 16px 0px rgba(61, 72, 83, 0.16), + 0px 0px 1px 0px rgba(61, 72, 83, 0.36); + border-radius: 8px; + padding: 8px; + z-index: 100; + overflow-y: scroll; + scrollbar-width: none; + } + .popover:focus-visible { + outline: 2px solid var(--lottie-player-toolbar-icon-active-color); + border-radius: 4px; + box-sizing: border-box; + } + + .popover::-webkit-scrollbar { + width: 0px; + } + + .popover-button { + background: none; + border: none; + font-family: inherit; + width: 100%; + flex-direction: row; + cursor: pointer; + height: 32px; + color: #20272c; + justify-content: space-between; + display: flex; + padding: 4px 8px; + align-items: flex-start; + gap: 8px; + align-self: stretch; + border-radius: 4px; + } + + .popover-button:focus-visible { + outline: 2px solid var(--lottie-player-toolbar-icon-active-color); + border-radius: 4px; + box-sizing: border-box; + } + + .popover-button:hover { + background-color: var(--lottie-player-toolbar-hover-background-color); + } + + .popover-button-text { + display: flex; + color: #20272c; + flex-direction: column; + align-self: stretch; + justify-content: center; + font-family: inherit; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 150%; + letter-spacing: -0.28px; + } + + .reset-btn { + font-size: 12px; + cursor: pointer; + font-family: inherit; + background: none; + border: none; + font-weight: 400; + line-height: 18px; + letter-spacing: 0em; + text-align: left; + color: #63727e; + padding: 0; + width: 31px; + height: 18px; + } + .reset-btn:focus-visible { + outline: 2px solid var(--lottie-player-toolbar-icon-active-color); + border-radius: 4px; + box-sizing: border-box; + } + .reset-btn:hover { + color: #20272c; + } + + .option-title-button { + display: flex; + flex-direction: row; + width: 100%; + height: 32px; + align-items: center; + gap: 4px; + align-self: stretch; + cursor: pointer; + color: var(--lottie-player-toolbar-icon-color); + border: none; + background: none; + padding: 4px; + font-family: inherit; + font-size: 16px; + font-weight: 700; + line-height: 150%; + letter-spacing: -0.32px; + } + .option-title-button.themes { + width: auto; + padding: 0; + } + .option-title-button:hover { + background-color: var(--lottie-player-toolbar-icon-hover-color); + } + + .option-title-themes-row { + display: flex; + align-items: center; + gap: 8px; + flex: 1 0 0; + } + .option-title-themes-row:hover { + background-color: var(--lottie-player-toolbar-icon-hover-color); + } + + .option-title-button:focus-visible { + outline: 2px solid var(--lottie-player-toolbar-icon-active-color); + border-radius: 4px; + box-sizing: border-box; + } + + .option-title-text { + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: 150%; + letter-spacing: -0.32px; + } + + .option-title-separator { + margin: 8px -8px; + border-bottom: 1px solid var(--lottie-player-options-separator); + } + + .option-title-chevron { + display: flex; + padding: 4px; + border-radius: 8px; + justify-content: center; + align-items: center; + gap: 8px; + } + + .option-row { + display: flex; + flex-direction: column; + } + .option-row > ul { + padding: 0; + margin: 0; + } + + .option-button { + width: 100%; + background: none; + border: none; + font-family: inherit; + display: flex; + padding: 4px 8px; + color: #20272c; + overflow: hidden; + align-items: center; + gap: 8px; + align-self: stretch; + cursor: pointer; + height: 32px; + font-family: inherit; + font-size: 14px; + border-radius: 4px; + } + .option-button:hover { + background-color: var(--lottie-player-toolbar-hover-background-color); + } + .option-button:focus-visible { + outline: 2px solid var(--lottie-player-toolbar-icon-active-color); + border-radius: 4px; + box-sizing: border-box; + } + + .option-tick { + display: flex; + width: 24px; + height: 24px; + align-items: flex-start; + gap: 8px; + } + + .seeker { + height: 4px; + width: 95%; + outline: none; + -webkit-appearance: none; + -moz-apperance: none; + border-radius: 9999px; + cursor: pointer; + background-image: linear-gradient( + to right, + rgb(0, 221, 179) calc(var(--seeker) * 1%), + rgb(217, 224, 230) calc(var(--seeker) * 1%) + ); + } + .seeker.to-left { + background-image: linear-gradient( + to right, + rgb(217, 224, 230) calc(var(--seeker) * 1%), + rgb(0, 221, 179) calc(var(--seeker) * 1%) + ); + } + .seeker::-webkit-slider-runnable-track:focus-visible { + color: #f07167; + accent-color: #00ddb3; + } + + .seeker::-webkit-slider-runnable-track { + width: 100%; + height: 5px; + cursor: pointer; + } + .seeker::-webkit-slider-thumb { + -webkit-appearance: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: var(--lottie-player-seeker-thumb-color); + cursor: pointer; + margin-top: -5px; + } + .seeker:focus-visible::-webkit-slider-thumb { + background: var(--lottie-player-seeker-thumb-color); + outline: 2px solid var(--lottie-player-seeker-track-color); + border: 1.5px solid #ffffff; + } + .seeker::-webkit-slider-thumb:hover { + background: #019d91; + } + .seeker::-moz-range-thumb { + appearance: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: var(--lottie-player-seeker-thumb-color); + cursor: pointer; + margin-top: -5px; + border-color: transparent; + } + .seeker:focus-visible::-moz-range-thumb { + background: var(--lottie-player-seeker-thumb-color); + outline: 2px solid var(--lottie-player-seeker-track-color); + border: 1.5px solid #ffffff; + } + + .error { + display: flex; + justify-content: center; + margin: auto; + height: 100%; + align-items: center; + } +`;var Ql="dotlottie-player";var Mi=class extends Vr{defaultTheme="";container;playMode=exports.PlayMode.Normal;autoplay=!1;background="transparent";controls=!1;direction=1;hover=!1;loop;renderer="svg";speed=1;src;intermission=0;activeAnimationId=null;light=!1;worker=!1;activeStateId;_seeker=0;_dotLottieCommonPlayer;_io;_loop;_renderer="svg";_unsubscribeListeners;_hasMultipleAnimations=!1;_hasMultipleThemes=!1;_hasMultipleStates=!1;_popoverIsOpen=!1;_animationsTabIsOpen=!1;_statesTabIsOpen=!1;_styleTabIsOpen=!1;_themesForCurrentAnimation=[];_statesForCurrentAnimation=[];_parseLoop(e){let i=parseInt(e,10);return Number.isInteger(i)&&i>0?(this._loop=i,i):typeof e=="string"&&["true","false"].includes(e)?(this._loop=e==="true",this._loop):(li("loop must be a positive integer or a boolean"),!1)}_handleSeekChange(e){let i=e.currentTarget;try{let s=parseInt(i.value,10);if(!this._dotLottieCommonPlayer)return;let r=s/100*this._dotLottieCommonPlayer.totalFrames;this.seek(r);}catch{throw Ie("Error while seeking animation")}}_initListeners(){let e=this._dotLottieCommonPlayer;if(e===void 0){li("player not initialized - cannot add event listeners","dotlottie-player-component");return}this._unsubscribeListeners=e.state.subscribe((i,s)=>{this._seeker=i.seeker,this.requestUpdate(),s.currentState!==i.currentState&&this.dispatchEvent(new CustomEvent(i.currentState)),this.dispatchEvent(new CustomEvent(sr.Frame,{detail:{frame:i.frame,seeker:i.seeker}})),this.dispatchEvent(new CustomEvent(sr.VisibilityChange,{detail:{visibilityPercentage:i.visibilityPercentage}}));}),e.addEventListener("complete",()=>{this.dispatchEvent(new CustomEvent(sr.Complete));}),e.addEventListener("loopComplete",()=>{this.dispatchEvent(new CustomEvent(sr.LoopComplete));}),e.addEventListener("DOMLoaded",()=>{let i=this.getManifest();i&&i.themes&&(this._themesForCurrentAnimation=i.themes.filter(s=>s.animations.includes(this.getCurrentAnimationId()||""))),i&&i.states&&(this._hasMultipleStates=i.states.length>0,this._statesForCurrentAnimation=[],i.states.forEach(s=>{this._statesForCurrentAnimation.push(s);})),this.dispatchEvent(new CustomEvent(sr.Ready));}),e.addEventListener("data_ready",()=>{this.dispatchEvent(new CustomEvent(sr.DataReady));}),e.addEventListener("data_failed",()=>{this.dispatchEvent(new CustomEvent(sr.DataFail));}),window&&window.addEventListener("click",i=>this._clickOutListener(i));}async load(e,i,s){if(!this.shadowRoot)return;this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.destroy(),this._dotLottieCommonPlayer=new Xn(e,this.container,{rendererSettings:i!=null?i:{scaleMode:"noScale",clearCanvas:!0,progressiveLoad:!0,hideOnTransparent:!0},hover:this.hasAttribute("hover")?this.hover:void 0,renderer:this.hasAttribute("renderer")?this._renderer:void 0,loop:this.hasAttribute("loop")?this._loop:void 0,direction:this.hasAttribute("direction")?this.direction===1?1:-1:void 0,speed:this.hasAttribute("speed")?this.speed:void 0,intermission:this.hasAttribute("intermission")?Number(this.intermission):void 0,playMode:this.hasAttribute("playMode")?this.playMode:void 0,autoplay:this.hasAttribute("autoplay")?this.autoplay:void 0,activeAnimationId:this.hasAttribute("activeAnimationId")?this.activeAnimationId:void 0,defaultTheme:this.hasAttribute("defaultTheme")?this.defaultTheme:void 0,light:this.light,worker:this.worker,activeStateId:this.hasAttribute("activeStateId")?this.activeStateId:void 0}),await this._dotLottieCommonPlayer.load(s);let r=this.getManifest();this._hasMultipleAnimations=this.animationCount()>1,r&&(r.themes&&(this._themesForCurrentAnimation=r.themes.filter(a=>a.animations.includes(this.getCurrentAnimationId()||"")),this._hasMultipleThemes=r.themes.length>0),r.states&&(this._hasMultipleStates=r.states.length>0,this._statesForCurrentAnimation=[],r.states.forEach(a=>{this._statesForCurrentAnimation.push(a);}))),this._initListeners();}getCurrentAnimationId(){var e;return (e=this._dotLottieCommonPlayer)==null?void 0:e.currentAnimationId}animationCount(){var e;return this._dotLottieCommonPlayer&&((e=this._dotLottieCommonPlayer.getManifest())==null?void 0:e.animations.length)||0}animations(){if(!this._dotLottieCommonPlayer)return [];let e=this._dotLottieCommonPlayer.getManifest();return (e==null?void 0:e.animations.map(i=>i.id))||[]}currentAnimation(){return !this._dotLottieCommonPlayer||!this._dotLottieCommonPlayer.currentAnimationId?"":this._dotLottieCommonPlayer.currentAnimationId}getState(){return this._dotLottieCommonPlayer?this._dotLottieCommonPlayer.getState():Wn}getManifest(){var e;return (e=this._dotLottieCommonPlayer)==null?void 0:e.getManifest()}getLottie(){var e;return (e=this._dotLottieCommonPlayer)==null?void 0:e.getAnimationInstance()}getVersions(){return {lottieWebVersion:Xn.getLottieWebVersion(),dotLottiePlayerVersion:`${Zl.version}`}}previous(e){var i;(i=this._dotLottieCommonPlayer)==null||i.previous(e);}next(e){var i;(i=this._dotLottieCommonPlayer)==null||i.next(e);}reset(){var e;(e=this._dotLottieCommonPlayer)==null||e.reset();}play(e,i){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.play(e,i);}pause(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.pause();}stop(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.stop();}playOnShow(e){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.playOnShow(e);}stopPlayOnShow(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.stopPlayOnShow();}playOnScroll(e){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.playOnScroll(e);}stopPlayOnScroll(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.stopPlayOnScroll();}seek(e){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.seek(e);}snapshot(e=!0){if(!this.shadowRoot)return "";let i=this.shadowRoot.querySelector(".animation svg"),s=new XMLSerializer().serializeToString(i);if(e){let r=document.createElement("a");r.href=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(s)}`,r.download=`download_${this._seeker}.svg`,document.body.appendChild(r),r.click(),document.body.removeChild(r);}return s}setTheme(e){var i;(i=this._dotLottieCommonPlayer)==null||i.setDefaultTheme(e);}themes(){var i;if(!this._dotLottieCommonPlayer)return [];let e=this._dotLottieCommonPlayer.getManifest();return ((i=e==null?void 0:e.themes)==null?void 0:i.map(s=>s.id))||[]}getDefaultTheme(){return this._dotLottieCommonPlayer?this._dotLottieCommonPlayer.defaultTheme:""}getActiveStateMachine(){return this._dotLottieCommonPlayer?this._dotLottieCommonPlayer.activeStateId:""}_freeze(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.freeze();}setSpeed(e=1){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.setSpeed(e);}setDirection(e){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.setDirection(e);}setLooping(e){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.setLoop(e);}isLooping(){return this._dotLottieCommonPlayer?this._dotLottieCommonPlayer.loop:!1}togglePlay(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.togglePlay();}toggleLooping(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.toggleLoop();}setPlayMode(e){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.setMode(e);}enterInteractiveMode(e){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.enterInteractiveMode(e);}exitInteractiveMode(){this._dotLottieCommonPlayer&&this._dotLottieCommonPlayer.exitInteractiveMode();}revertToManifestValues(e){var i;(i=this._dotLottieCommonPlayer)==null||i.revertToManifestValues(e);}static get styles(){return Kl}async firstUpdated(){var e;this.container=(e=this.shadowRoot)==null?void 0:e.querySelector("#animation"),"IntersectionObserver"in window&&(this._io=new IntersectionObserver(i=>{var s,r;i[0]!==void 0&&i[0].isIntersecting?((s=this._dotLottieCommonPlayer)==null?void 0:s.currentState)===Ir.Frozen&&this.play():((r=this._dotLottieCommonPlayer)==null?void 0:r.currentState)===Ir.Playing&&this._freeze();}),this._io.observe(this.container)),this.loop?this._parseLoop(this.loop):this.hasAttribute("loop")&&this._parseLoop("true"),this.renderer==="svg"?this._renderer="svg":this.renderer==="canvas"?this._renderer="canvas":this.renderer==="html"&&(this._renderer="html"),this.src&&await this.load(this.src);}disconnectedCallback(){var e,i;this._io&&(this._io.disconnect(),this._io=void 0),(e=this._dotLottieCommonPlayer)==null||e.destroy(),(i=this._unsubscribeListeners)==null||i.call(this),window&&window.removeEventListener("click",s=>this._clickOutListener(s));}_clickOutListener(e){!e.composedPath().some(s=>s instanceof HTMLElement?s.classList.contains("popover")||s.id==="lottie-animation-options":!1)&&this._popoverIsOpen&&(this._popoverIsOpen=!1,this.requestUpdate());}renderControls(){var s,r,a,n,p;let e=((s=this._dotLottieCommonPlayer)==null?void 0:s.currentState)===Ir.Playing,i=((r=this._dotLottieCommonPlayer)==null?void 0:r.currentState)===Ir.Paused;return Ne` +
+ ${this._hasMultipleAnimations?Ne` + + `:Ne``} + + ${this._hasMultipleAnimations?Ne` + + `:Ne``} + this._handleSeekChange(h)} + @mousedown=${()=>{this._freeze();}} + @mouseup=${()=>{var h;(h=this._dotLottieCommonPlayer)==null||h.unfreeze();}} + aria-valuemin="1" + aria-valuemax="100" + role="slider" + aria-valuenow=${this._seeker} + aria-label="lottie-seek-input" + style=${`--seeker: ${this._seeker}`} + /> + + ${this._hasMultipleAnimations||this._hasMultipleThemes||this._hasMultipleStates?Ne` + + `:Ne``} +
+ ${this._popoverIsOpen?Ne` +
+ ${!this._animationsTabIsOpen&&!this._styleTabIsOpen&&!this._statesTabIsOpen?Ne` + + `:Ne``} + ${this._hasMultipleThemes&&!this._styleTabIsOpen&&!this._animationsTabIsOpen&&!this._statesTabIsOpen?Ne` `:""} + ${this._hasMultipleStates&&!this._styleTabIsOpen&&!this._animationsTabIsOpen&&!this._statesTabIsOpen?Ne` `:""} + ${this._animationsTabIsOpen?Ne` +
+
+
    + ${this.animations().map(h=>Ne` +
  • + +
  • + `)} +
+
`:Ne``} + ${this._styleTabIsOpen?Ne`
+ + `} + +
+
+
+
    + ${this._themesForCurrentAnimation.map(h=>Ne` +
  • + +
  • + `)} +
+
`:Ne``} + ${this._statesTabIsOpen?Ne`
+ + +
+
+
+
    + ${this._statesForCurrentAnimation.map(h=>Ne` +
  • + +
  • + `)} +
+
`:Ne``} +
+ `:Ne``} + `}render(){var s;let e=this.controls?"main controls":"main",i=this.controls?"animation controls":"animation";return Ne` + + `}};Ri([Bi({type:String})],Mi.prototype,"defaultTheme",2),Ri([Ul("#animation")],Mi.prototype,"container",2),Ri([Bi()],Mi.prototype,"playMode",2),Ri([Bi({type:Boolean})],Mi.prototype,"autoplay",2),Ri([Bi({type:String})],Mi.prototype,"background",2),Ri([Bi({type:Boolean})],Mi.prototype,"controls",2),Ri([Bi({type:Number})],Mi.prototype,"direction",2),Ri([Bi({type:Boolean})],Mi.prototype,"hover",2),Ri([Bi({type:String})],Mi.prototype,"loop",2),Ri([Bi({type:String})],Mi.prototype,"renderer",2),Ri([Bi({type:Number})],Mi.prototype,"speed",2),Ri([Bi({type:String})],Mi.prototype,"src",2),Ri([Bi()],Mi.prototype,"intermission",2),Ri([Bi({type:String})],Mi.prototype,"activeAnimationId",2),Ri([Bi({type:Boolean})],Mi.prototype,"light",2),Ri([Bi({type:Boolean})],Mi.prototype,"worker",2),Ri([Bi({type:String})],Mi.prototype,"activeStateId",2),Ri([Jl()],Mi.prototype,"_seeker",2);customElements.get(Ql)||customElements.define(Ql,Mi);/*! Bundled license information: + + xstate/es/_virtual/_tslib.js: + (*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** *) + */ + /*! Bundled license information: + + howler/dist/howler.js: + (*! + * howler.js v2.2.3 + * howlerjs.com + * + * (c) 2013-2020, James Simpson of GoldFire Studios + * goldfirestudios.com + * + * MIT License + *) + (*! + * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported. + * + * howler.js v2.2.3 + * howlerjs.com + * + * (c) 2013-2020, James Simpson of GoldFire Studios + * goldfirestudios.com + * + * MIT License + *) + */ + /*! Bundled license information: + + lottie-web/build/player/lottie_worker.js: + (*! + Transformation Matrix v2.0 + (c) Epistemex 2014-2015 + www.epistemex.com + By Ken Fyrstenberg + Contributions by leeoniya. + License: MIT, header required. + *) + */ + /*! Bundled license information: + + lottie-web/build/player/lottie_light.js: + (*! + Transformation Matrix v2.0 + (c) Epistemex 2014-2015 + www.epistemex.com + By Ken Fyrstenberg + Contributions by leeoniya. + License: MIT, header required. + *) + */ + /*! Bundled license information: + + lottie-web/build/player/lottie_svg.js: + (*! + Transformation Matrix v2.0 + (c) Epistemex 2014-2015 + www.epistemex.com + By Ken Fyrstenberg + Contributions by leeoniya. + License: MIT, header required. + *) + */ + /*! Bundled license information: + + lottie-web/build/player/lottie_light_canvas.js: + (*! + Transformation Matrix v2.0 + (c) Epistemex 2014-2015 + www.epistemex.com + By Ken Fyrstenberg + Contributions by leeoniya. + License: MIT, header required. + *) + */ + /*! Bundled license information: + + lottie-web/build/player/lottie_canvas.js: + (*! + Transformation Matrix v2.0 + (c) Epistemex 2014-2015 + www.epistemex.com + By Ken Fyrstenberg + Contributions by leeoniya. + License: MIT, header required. + *) + */ + /*! Bundled license information: + + lottie-web/build/player/lottie_light_html.js: + (*! + Transformation Matrix v2.0 + (c) Epistemex 2014-2015 + www.epistemex.com + By Ken Fyrstenberg + Contributions by leeoniya. + License: MIT, header required. + *) + */ + /*! Bundled license information: + + lottie-web/build/player/lottie_html.js: + (*! + Transformation Matrix v2.0 + (c) Epistemex 2014-2015 + www.epistemex.com + By Ken Fyrstenberg + Contributions by leeoniya. + License: MIT, header required. + *) + */ + /*! Bundled license information: + + @lit/reactive-element/css-tag.js: + (** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/reactive-element.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + lit-html/lit-html.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + lit-element/lit-element.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + lit-html/is-server.js: + (** + * @license + * Copyright 2022 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/custom-element.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/property.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/state.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/base.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/event-options.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/query.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/query-all.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/query-async.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/query-assigned-elements.js: + (** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + + @lit/reactive-element/decorators/query-assigned-nodes.js: + (** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + *) + */ + + exports.DotLottiePlayer = Mi; + +})); +//# sourceMappingURL=out.js.map +//# sourceMappingURL=dotlottie-player.js.map \ No newline at end of file diff --git a/assets/external/unpkg.com/mermaid@10/dist/mermaid.min.js b/assets/external/unpkg.com/mermaid@10/dist/mermaid.min.js new file mode 100644 index 00000000..964d43db --- /dev/null +++ b/assets/external/unpkg.com/mermaid@10/dist/mermaid.min.js @@ -0,0 +1,2029 @@ +(function(JM,_g){typeof exports=="object"&&typeof module<"u"?module.exports=_g():typeof define=="function"&&define.amd?define(_g):(JM=typeof globalThis<"u"?globalThis:JM||self,JM.mermaid=_g())})(this,function(){var jWe,$We;"use strict";function JM(i){for(var s=[],u=1;u=Ne?Be:""+Array(Ne+1-Ie.length).join(je)+Be},ge={s:be,z:function(Be){var Ne=-Be.utcOffset(),je=Math.abs(Ne),Ie=Math.floor(je/60),Se=je%60;return(Ne<=0?"+":"-")+be(Ie,2,"0")+":"+be(Se,2,"0")},m:function Be(Ne,je){if(Ne.date()1)return Be(ke[0])}else{var Ke=Ne.name;ne[Ke]=Ne,Se=Ke}return!Ie&&Se&&(ae=Se),Se||!Ie&&ae},pe=function(Be,Ne){if(de(Be))return Be.clone();var je=typeof Ne=="object"?Ne:{};return je.date=Be,je.args=arguments,new xe(je)},K=ge;K.l=X,K.i=de,K.w=function(Be,Ne){return pe(Be,{locale:Ne.$L,utc:Ne.$u,x:Ne.$x,$offset:Ne.$offset})};var xe=function(){function Be(je){this.$L=X(je.locale,null,!0),this.parse(je),this.$x=this.$x||je.x||{},this[se]=!0}var Ne=Be.prototype;return Ne.parse=function(je){this.$d=function(Ie){var Se=Ie.date,Ce=Ie.utc;if(Se===null)return new Date(NaN);if(K.u(Se))return new Date;if(Se instanceof Date)return new Date(Se);if(typeof Se=="string"&&!/Z$/i.test(Se)){var ke=Se.match(ee);if(ke){var Ke=ke[2]-1||0,Ft=(ke[7]||"0").substring(0,3);return Ce?new Date(Date.UTC(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)):new Date(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)}}return new Date(Se)}(je),this.init()},Ne.init=function(){var je=this.$d;this.$y=je.getFullYear(),this.$M=je.getMonth(),this.$D=je.getDate(),this.$W=je.getDay(),this.$H=je.getHours(),this.$m=je.getMinutes(),this.$s=je.getSeconds(),this.$ms=je.getMilliseconds()},Ne.$utils=function(){return K},Ne.isValid=function(){return this.$d.toString()!==W},Ne.isSame=function(je,Ie){var Se=pe(je);return this.startOf(Ie)<=Se&&Se<=this.endOf(Ie)},Ne.isAfter=function(je,Ie){return pe(je){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},dpe=function(i="fatal"){let s=g7.fatal;typeof i=="string"?(i=i.toLowerCase(),i in g7&&(s=g7[i])):typeof i=="number"&&(s=i),Xe.trace=()=>{},Xe.debug=()=>{},Xe.info=()=>{},Xe.warn=()=>{},Xe.error=()=>{},Xe.fatal=()=>{},s<=g7.fatal&&(Xe.fatal=console.error?console.error.bind(console,Lv("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Lv("FATAL"))),s<=g7.error&&(Xe.error=console.error?console.error.bind(console,Lv("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Lv("ERROR"))),s<=g7.warn&&(Xe.warn=console.warn?console.warn.bind(console,Lv("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Lv("WARN"))),s<=g7.info&&(Xe.info=console.info?console.info.bind(console,Lv("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Lv("INFO"))),s<=g7.debug&&(Xe.debug=console.debug?console.debug.bind(console,Lv("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Lv("DEBUG"))),s<=g7.trace&&(Xe.trace=console.debug?console.debug.bind(console,Lv("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Lv("TRACE")))},Lv=i=>`%c${Ag().format("ss.SSS")} : ${i} : `;var p9={};(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=i.BLANK_URL=void 0;var s=/^([^\w]*)(javascript|data|vbscript)/im,u=/&#(\w+)(^\w|;)?/g,d=/&(newline|tab);/gi,p=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v=/^.+(:|:)/gim,b=[".","/"];i.BLANK_URL="about:blank";function y(A){return b.indexOf(A[0])>-1}function T(A){var P=A.replace(p,"");return P.replace(u,function(R,F){return String.fromCharCode(F)})}function _(A){if(!A)return i.BLANK_URL;var P=T(A).replace(d,"").replace(p,"").trim();if(!P)return i.BLANK_URL;if(y(P))return P;var R=P.match(v);if(!R)return P;var F=R[0];return s.test(F)?i.BLANK_URL:P}i.sanitizeUrl=_})(p9);function IY(i,s){return i==null||s==null?NaN:is?1:i>=s?0:NaN}function FAt(i,s){return i==null||s==null?NaN:si?1:s>=i?0:NaN}function gpe(i){let s,u,d;i.length!==2?(s=IY,u=(y,T)=>IY(i(y),T),d=(y,T)=>i(y)-T):(s=i===IY||i===FAt?i:RAt,u=i,d=i);function p(y,T,_=0,A=y.length){if(_>>1;u(y[P],T)<0?_=P+1:A=P}while(_>>1;u(y[P],T)<=0?_=P+1:A=P}while(__&&d(y[P-1],T)>-d(y[P],T)?P-1:P}return{left:p,center:b,right:v}}function RAt(){return 0}function jAt(i){return i===null?NaN:+i}const $At=gpe(IY).right;gpe(jAt).center;const zAt=$At;class uBe extends Map{constructor(s,u=VAt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:u}}),s!=null)for(const[d,p]of s)this.set(d,p)}get(s){return super.get(lBe(this,s))}has(s){return super.has(lBe(this,s))}set(s,u){return super.set(qAt(this,s),u)}delete(s){return super.delete(HAt(this,s))}}function lBe({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):u}function qAt({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):(i.set(d,u),u)}function HAt({_intern:i,_key:s},u){const d=s(u);return i.has(d)&&(u=i.get(d),i.delete(d)),u}function VAt(i){return i!==null&&typeof i=="object"?i.valueOf():i}const UAt=Math.sqrt(50),GAt=Math.sqrt(10),KAt=Math.sqrt(2);function OY(i,s,u){const d=(s-i)/Math.max(0,u),p=Math.floor(Math.log10(d)),v=d/Math.pow(10,p),b=v>=UAt?10:v>=GAt?5:v>=KAt?2:1;let y,T,_;return p<0?(_=Math.pow(10,-p)/b,y=Math.round(i*_),T=Math.round(s*_),y/_s&&--T,_=-_):(_=Math.pow(10,p)*b,y=Math.round(i/_),T=Math.round(s/_),y*_s&&--T),T0))return[];if(i===s)return[i];const d=s=p))return[];const y=v-p+1,T=new Array(y);if(d)if(b<0)for(let _=0;_=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function XAt(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function QAt(i,s,u){i=+i,s=+s,u=(p=arguments.length)<2?(s=i,i=0,1):p<3?1:+u;for(var d=-1,p=Math.max(0,Math.ceil((s-i)/u))|0,v=new Array(p);++d+i(s)}function nLt(i,s){return s=Math.max(0,i.bandwidth()-s*2)/2,i.round()&&(s=Math.round(s)),u=>+i(u)+s}function rLt(){return!this.__axis}function fBe(i,s){var u=[],d=null,p=null,v=6,b=6,y=3,T=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===NY||i===PY?-1:1,A=i===PY||i===mpe?"x":"y",P=i===NY||i===vpe?ZAt:eLt;function R(F){var j=d??(s.ticks?s.ticks.apply(s,u):s.domain()),W=p??(s.tickFormat?s.tickFormat.apply(s,u):JAt),ee=Math.max(v,0)+y,ie=s.range(),oe=+ie[0]+T,be=+ie[ie.length-1]+T,ge=(s.bandwidth?nLt:tLt)(s.copy(),T),ae=F.selection?F.selection():F,ne=ae.selectAll(".domain").data([null]),se=ae.selectAll(".tick").data(j,s).order(),de=se.exit(),X=se.enter().append("g").attr("class","tick"),pe=se.select("line"),K=se.select("text");ne=ne.merge(ne.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),se=se.merge(X),pe=pe.merge(X.append("line").attr("stroke","currentColor").attr(A+"2",_*v)),K=K.merge(X.append("text").attr("fill","currentColor").attr(A,_*ee).attr("dy",i===NY?"0em":i===vpe?"0.71em":"0.32em")),F!==ae&&(ne=ne.transition(F),se=se.transition(F),pe=pe.transition(F),K=K.transition(F),de=de.transition(F).attr("opacity",hBe).attr("transform",function(xe){return isFinite(xe=ge(xe))?P(xe+T):this.getAttribute("transform")}),X.attr("opacity",hBe).attr("transform",function(xe){var U=this.parentNode.__axis;return P((U&&isFinite(U=U(xe))?U:ge(xe))+T)})),de.remove(),ne.attr("d",i===PY||i===mpe?b?"M"+_*b+","+oe+"H"+T+"V"+be+"H"+_*b:"M"+T+","+oe+"V"+be:b?"M"+oe+","+_*b+"V"+T+"H"+be+"V"+_*b:"M"+oe+","+T+"H"+be),se.attr("opacity",1).attr("transform",function(xe){return P(ge(xe)+T)}),pe.attr(A+"2",_*v),K.attr(A,_*ee).text(W),ae.filter(rLt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===mpe?"start":i===PY?"end":"middle"),ae.each(function(){this.__axis=ge})}return R.scale=function(F){return arguments.length?(s=F,R):s},R.ticks=function(){return u=Array.from(arguments),R},R.tickArguments=function(F){return arguments.length?(u=F==null?[]:Array.from(F),R):u.slice()},R.tickValues=function(F){return arguments.length?(d=F==null?null:Array.from(F),R):d&&d.slice()},R.tickFormat=function(F){return arguments.length?(p=F,R):p},R.tickSize=function(F){return arguments.length?(v=b=+F,R):v},R.tickSizeInner=function(F){return arguments.length?(v=+F,R):v},R.tickSizeOuter=function(F){return arguments.length?(b=+F,R):b},R.tickPadding=function(F){return arguments.length?(y=+F,R):y},R.offset=function(F){return arguments.length?(T=+F,R):T},R}function iLt(i){return fBe(NY,i)}function sLt(i){return fBe(vpe,i)}var aLt={value:()=>{}};function dBe(){for(var i=0,s=arguments.length,u={},d;i=0&&(d=u.slice(p+1),u=u.slice(0,p)),u&&!s.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:d}})}BY.prototype=dBe.prototype={constructor:BY,on:function(i,s){var u=this._,d=oLt(i+"",u),p,v=-1,b=d.length;if(arguments.length<2){for(;++v0)for(var u=new Array(p),d=0,p,v;d=0&&(s=i.slice(0,u))!=="xmlns"&&(i=i.slice(u+1)),pBe.hasOwnProperty(s)?{space:pBe[s],local:i}:i}function uLt(i){return function(){var s=this.ownerDocument,u=this.namespaceURI;return u===wpe&&s.documentElement.namespaceURI===wpe?s.createElement(i):s.createElementNS(u,i)}}function lLt(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function bBe(i){var s=FY(i);return(s.local?lLt:uLt)(s)}function hLt(){}function ype(i){return i==null?hLt:function(){return this.querySelector(i)}}function fLt(i){typeof i!="function"&&(i=ype(i));for(var s=this._groups,u=s.length,d=new Array(u),p=0;p=be&&(be=oe+1);!(ae=ee[be])&&++be=0;)(b=d[p])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function BLt(i){i||(i=FLt);function s(P,R){return P&&R?i(P.__data__,R.__data__):!P-!R}for(var u=this._groups,d=u.length,p=new Array(d),v=0;vs?1:i>=s?0:NaN}function RLt(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function jLt(){return Array.from(this)}function $Lt(){for(var i=this._groups,s=0,u=i.length;s1?this.each((s==null?QLt:typeof s=="function"?ZLt:JLt)(i,s,u??"")):ZM(this.node(),i)}function ZM(i,s){return i.style.getPropertyValue(s)||kBe(i).getComputedStyle(i,null).getPropertyValue(s)}function tMt(i){return function(){delete this[i]}}function nMt(i,s){return function(){this[i]=s}}function rMt(i,s){return function(){var u=s.apply(this,arguments);u==null?delete this[i]:this[i]=u}}function iMt(i,s){return arguments.length>1?this.each((s==null?tMt:typeof s=="function"?rMt:nMt)(i,s)):this.node()[i]}function EBe(i){return i.trim().split(/^|\s+/)}function xpe(i){return i.classList||new TBe(i)}function TBe(i){this._node=i,this._names=EBe(i.getAttribute("class")||"")}TBe.prototype={add:function(i){var s=this._names.indexOf(i);s<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var s=this._names.indexOf(i);s>=0&&(this._names.splice(s,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function CBe(i,s){for(var u=xpe(i),d=-1,p=s.length;++d=0&&(u=s.slice(d+1),s=s.slice(0,d)),{type:s,name:u}})}function IMt(i){return function(){var s=this.__on;if(s){for(var u=0,d=-1,p=s.length,v;u>8&15|s>>4&240,s>>4&15|s&240,(s&15)<<4|s&15,1):u===8?zY(s>>24&255,s>>16&255,s>>8&255,(s&255)/255):u===4?zY(s>>12&15|s>>8&240,s>>8&15|s>>4&240,s>>4&15|s&240,((s&15)<<4|s&15)/255):null):(s=zMt.exec(i))?new Lg(s[1],s[2],s[3],1):(s=qMt.exec(i))?new Lg(s[1]*255/100,s[2]*255/100,s[3]*255/100,1):(s=HMt.exec(i))?zY(s[1],s[2],s[3],s[4]):(s=VMt.exec(i))?zY(s[1]*255/100,s[2]*255/100,s[3]*255/100,s[4]):(s=UMt.exec(i))?BBe(s[1],s[2]/100,s[3]/100,1):(s=GMt.exec(i))?BBe(s[1],s[2]/100,s[3]/100,s[4]):LBe.hasOwnProperty(i)?IBe(LBe[i]):i==="transparent"?new Lg(NaN,NaN,NaN,0):null}function IBe(i){return new Lg(i>>16&255,i>>8&255,i&255,1)}function zY(i,s,u,d){return d<=0&&(i=s=u=NaN),new Lg(i,s,u,d)}function OBe(i){return i instanceof fC||(i=dC(i)),i?(i=i.rgb(),new Lg(i.r,i.g,i.b,i.opacity)):new Lg}function Epe(i,s,u,d){return arguments.length===1?OBe(i):new Lg(i,s,u,d??1)}function Lg(i,s,u,d){this.r=+i,this.g=+s,this.b=+u,this.opacity=+d}wF(Lg,Epe,jY(fC,{brighter(i){return i=i==null?$Y:Math.pow($Y,i),new Lg(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?yF:Math.pow(yF,i),new Lg(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new Lg(gC(this.r),gC(this.g),gC(this.b),qY(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:NBe,formatHex:NBe,formatHex8:YMt,formatRgb:PBe,toString:PBe}));function NBe(){return`#${pC(this.r)}${pC(this.g)}${pC(this.b)}`}function YMt(){return`#${pC(this.r)}${pC(this.g)}${pC(this.b)}${pC((isNaN(this.opacity)?1:this.opacity)*255)}`}function PBe(){const i=qY(this.opacity);return`${i===1?"rgb(":"rgba("}${gC(this.r)}, ${gC(this.g)}, ${gC(this.b)}${i===1?")":`, ${i})`}`}function qY(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function gC(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function pC(i){return i=gC(i),(i<16?"0":"")+i.toString(16)}function BBe(i,s,u,d){return d<=0?i=s=u=NaN:u<=0||u>=1?i=s=NaN:s<=0&&(i=NaN),new M3(i,s,u,d)}function FBe(i){if(i instanceof M3)return new M3(i.h,i.s,i.l,i.opacity);if(i instanceof fC||(i=dC(i)),!i)return new M3;if(i instanceof M3)return i;i=i.rgb();var s=i.r/255,u=i.g/255,d=i.b/255,p=Math.min(s,u,d),v=Math.max(s,u,d),b=NaN,y=v-p,T=(v+p)/2;return y?(s===v?b=(u-d)/y+(u0&&T<1?0:b,new M3(b,y,T,i.opacity)}function XMt(i,s,u,d){return arguments.length===1?FBe(i):new M3(i,s,u,d??1)}function M3(i,s,u,d){this.h=+i,this.s=+s,this.l=+u,this.opacity=+d}wF(M3,XMt,jY(fC,{brighter(i){return i=i==null?$Y:Math.pow($Y,i),new M3(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?yF:Math.pow(yF,i),new M3(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,s=isNaN(i)||isNaN(this.s)?0:this.s,u=this.l,d=u+(u<.5?u:1-u)*s,p=2*u-d;return new Lg(Tpe(i>=240?i-240:i+120,p,d),Tpe(i,p,d),Tpe(i<120?i+240:i-120,p,d),this.opacity)},clamp(){return new M3(RBe(this.h),HY(this.s),HY(this.l),qY(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=qY(this.opacity);return`${i===1?"hsl(":"hsla("}${RBe(this.h)}, ${HY(this.s)*100}%, ${HY(this.l)*100}%${i===1?")":`, ${i})`}`}}));function RBe(i){return i=(i||0)%360,i<0?i+360:i}function HY(i){return Math.max(0,Math.min(1,i||0))}function Tpe(i,s,u){return(i<60?s+(u-s)*i/60:i<180?u:i<240?s+(u-s)*(240-i)/60:s)*255}const QMt=Math.PI/180,JMt=180/Math.PI,VY=18,jBe=.96422,$Be=1,zBe=.82521,qBe=4/29,tD=6/29,HBe=3*tD*tD,ZMt=tD*tD*tD;function VBe(i){if(i instanceof $4)return new $4(i.l,i.a,i.b,i.opacity);if(i instanceof p7)return UBe(i);i instanceof Lg||(i=OBe(i));var s=Ape(i.r),u=Ape(i.g),d=Ape(i.b),p=Cpe((.2225045*s+.7168786*u+.0606169*d)/$Be),v,b;return s===u&&u===d?v=b=p:(v=Cpe((.4360747*s+.3850649*u+.1430804*d)/jBe),b=Cpe((.0139322*s+.0971045*u+.7141733*d)/zBe)),new $4(116*p-16,500*(v-p),200*(p-b),i.opacity)}function eDt(i,s,u,d){return arguments.length===1?VBe(i):new $4(i,s,u,d??1)}function $4(i,s,u,d){this.l=+i,this.a=+s,this.b=+u,this.opacity=+d}wF($4,eDt,jY(fC,{brighter(i){return new $4(this.l+VY*(i??1),this.a,this.b,this.opacity)},darker(i){return new $4(this.l-VY*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,s=isNaN(this.a)?i:i+this.a/500,u=isNaN(this.b)?i:i-this.b/200;return s=jBe*Spe(s),i=$Be*Spe(i),u=zBe*Spe(u),new Lg(_pe(3.1338561*s-1.6168667*i-.4906146*u),_pe(-.9787684*s+1.9161415*i+.033454*u),_pe(.0719453*s-.2289914*i+1.4052427*u),this.opacity)}}));function Cpe(i){return i>ZMt?Math.pow(i,1/3):i/HBe+qBe}function Spe(i){return i>tD?i*i*i:HBe*(i-qBe)}function _pe(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function Ape(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function tDt(i){if(i instanceof p7)return new p7(i.h,i.c,i.l,i.opacity);if(i instanceof $4||(i=VBe(i)),i.a===0&&i.b===0)return new p7(NaN,0()=>i;function GBe(i,s){return function(u){return i+u*s}}function nDt(i,s,u){return i=Math.pow(i,u),s=Math.pow(s,u)-i,u=1/u,function(d){return Math.pow(i+d*s,u)}}function rDt(i,s){var u=s-i;return u?GBe(i,u>180||u<-180?u-360*Math.round(u/360):u):UY(isNaN(i)?s:i)}function iDt(i){return(i=+i)==1?kF:function(s,u){return u-s?nDt(s,u,i):UY(isNaN(s)?u:s)}}function kF(i,s){var u=s-i;return u?GBe(i,u):UY(isNaN(i)?s:i)}const GY=function i(s){var u=iDt(s);function d(p,v){var b=u((p=Epe(p)).r,(v=Epe(v)).r),y=u(p.g,v.g),T=u(p.b,v.b),_=kF(p.opacity,v.opacity);return function(A){return p.r=b(A),p.g=y(A),p.b=T(A),p.opacity=_(A),p+""}}return d.gamma=i,d}(1);function sDt(i,s){s||(s=[]);var u=i?Math.min(s.length,i.length):0,d=s.slice(),p;return function(v){for(p=0;pu&&(v=s.slice(u,v),y[b]?y[b]+=v:y[++b]=v),(d=d[0])===(p=p[0])?y[b]?y[b]+=p:y[++b]=p:(y[++b]=null,T.push({i:b,x:D3(d,p)})),u=Dpe.lastIndex;return u180?A+=360:A-_>180&&(_+=360),R.push({i:P.push(p(P)+"rotate(",null,d)-2,x:D3(_,A)})):A&&P.push(p(P)+"rotate("+A+d)}function y(_,A,P,R){_!==A?R.push({i:P.push(p(P)+"skewX(",null,d)-2,x:D3(_,A)}):A&&P.push(p(P)+"skewX("+A+d)}function T(_,A,P,R,F,j){if(_!==P||A!==R){var W=F.push(p(F)+"scale(",null,",",null,")");j.push({i:W-4,x:D3(_,P)},{i:W-2,x:D3(A,R)})}else(P!==1||R!==1)&&F.push(p(F)+"scale("+P+","+R+")")}return function(_,A){var P=[],R=[];return _=i(_),A=i(A),v(_.translateX,_.translateY,A.translateX,A.translateY,P,R),b(_.rotate,A.rotate,P,R),y(_.skewX,A.skewX,P,R),T(_.scaleX,_.scaleY,A.scaleX,A.scaleY,P,R),_=A=null,function(F){for(var j=-1,W=R.length,ee;++j=0&&i._call.call(void 0,s),i=i._next;--nD}function eFe(){bC=(YY=SF.now())+XY,nD=EF=0;try{yDt()}finally{nD=0,kDt(),bC=0}}function xDt(){var i=SF.now(),s=i-YY;s>QBe&&(XY-=s,YY=i)}function kDt(){for(var i,s=WY,u,d=1/0;s;)s._call?(d>s._time&&(d=s._time),i=s,s=s._next):(u=s._next,s._next=null,s=i?i._next=u:WY=u);CF=i,Ppe(d)}function Ppe(i){if(!nD){EF&&(EF=clearTimeout(EF));var s=i-bC;s>24?(i<1/0&&(EF=setTimeout(eFe,i-SF.now()-XY)),TF&&(TF=clearInterval(TF))):(TF||(YY=SF.now(),TF=setInterval(xDt,QBe)),nD=1,JBe(eFe))}}function tFe(i,s,u){var d=new QY;return s=s==null?0:+s,d.restart(p=>{d.stop(),i(p+s)},s,u),d}var EDt=dBe("start","end","cancel","interrupt"),TDt=[],nFe=0,rFe=1,Bpe=2,JY=3,iFe=4,Fpe=5,ZY=6;function eX(i,s,u,d,p,v){var b=i.__transition;if(!b)i.__transition={};else if(u in b)return;CDt(i,u,{name:s,index:d,group:p,on:EDt,tween:TDt,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:nFe})}function Rpe(i,s){var u=I3(i,s);if(u.state>nFe)throw new Error("too late; already scheduled");return u}function z4(i,s){var u=I3(i,s);if(u.state>JY)throw new Error("too late; already running");return u}function I3(i,s){var u=i.__transition;if(!u||!(u=u[s]))throw new Error("transition not found");return u}function CDt(i,s,u){var d=i.__transition,p;d[s]=u,u.timer=ZBe(v,0,u.time);function v(_){u.state=rFe,u.timer.restart(b,u.delay,u.time),u.delay<=_&&b(_-u.delay)}function b(_){var A,P,R,F;if(u.state!==rFe)return T();for(A in d)if(F=d[A],F.name===u.name){if(F.state===JY)return tFe(b);F.state===iFe?(F.state=ZY,F.timer.stop(),F.on.call("interrupt",i,i.__data__,F.index,F.group),delete d[A]):+ABpe&&d.state=0&&(s=s.slice(0,u)),!s||s==="start"})}function nIt(i,s,u){var d,p,v=tIt(s)?Rpe:z4;return function(){var b=v(this,i),y=b.on;y!==d&&(p=(d=y).copy()).on(s,u),b.on=p}}function rIt(i,s){var u=this._id;return arguments.length<2?I3(this.node(),u).on.on(i):this.each(nIt(u,i,s))}function iIt(i){return function(){var s=this.parentNode;for(var u in this.__transition)if(+u!==i)return;s&&s.removeChild(this)}}function sIt(){return this.on("end.remove",iIt(this._id))}function aIt(i){var s=this._name,u=this._id;typeof i!="function"&&(i=ype(i));for(var d=this._groups,p=d.length,v=new Array(p),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(s>15)return cFe;const u=10**s;return function(d){this._+=d[0];for(let p=1,v=d.length;pmC)if(!(Math.abs(P*T-_*A)>mC)||!v)this._append`L${this._x1=s},${this._y1=u}`;else{let F=d-b,j=p-y,W=T*T+_*_,ee=F*F+j*j,ie=Math.sqrt(W),oe=Math.sqrt(R),be=v*Math.tan(($pe-Math.acos((W+R-ee)/(2*ie*oe)))/2),ge=be/oe,ae=be/ie;Math.abs(ge-1)>mC&&this._append`L${s+ge*A},${u+ge*P}`,this._append`A${v},${v},0,0,${+(P*F>A*j)},${this._x1=s+ae*T},${this._y1=u+ae*_}`}}arc(s,u,d,p,v,b){if(s=+s,u=+u,d=+d,b=!!b,d<0)throw new Error(`negative radius: ${d}`);let y=d*Math.cos(p),T=d*Math.sin(p),_=s+y,A=u+T,P=1^b,R=b?p-v:v-p;this._x1===null?this._append`M${_},${A}`:(Math.abs(this._x1-_)>mC||Math.abs(this._y1-A)>mC)&&this._append`L${_},${A}`,d&&(R<0&&(R=R%zpe+zpe),R>DIt?this._append`A${d},${d},0,1,${P},${s-y},${u-T}A${d},${d},0,1,${P},${this._x1=_},${this._y1=A}`:R>mC&&this._append`A${d},${d},0,${+(R>=$pe)},${P},${this._x1=s+d*Math.cos(v)},${this._y1=u+d*Math.sin(v)}`)}rect(s,u,d,p){this._append`M${this._x0=this._x1=+s},${this._y0=this._y1=+u}h${d=+d}v${+p}h${-d}Z`}toString(){return this._}};function NIt(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function PIt(i,s){return fetch(i,s).then(NIt)}function BIt(i){return(s,u)=>PIt(s,u).then(d=>new DOMParser().parseFromString(d,i))}var FIt=BIt("image/svg+xml");function RIt(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function tX(i,s){if((u=(i=s?i.toExponential(s-1):i.toExponential()).indexOf("e"))<0)return null;var u,d=i.slice(0,u);return[d.length>1?d[0]+d.slice(2):d,+i.slice(u+1)]}function rD(i){return i=tX(Math.abs(i)),i?i[1]:NaN}function jIt(i,s){return function(u,d){for(var p=u.length,v=[],b=0,y=i[0],T=0;p>0&&y>0&&(T+y+1>d&&(y=Math.max(1,d-T)),v.push(u.substring(p-=y,p+y)),!((T+=y+1)>d));)y=i[b=(b+1)%i.length];return v.reverse().join(s)}}function $It(i){return function(s){return s.replace(/[0-9]/g,function(u){return i[+u]})}}var zIt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function nX(i){if(!(s=zIt.exec(i)))throw new Error("invalid format: "+i);var s;return new qpe({fill:s[1],align:s[2],sign:s[3],symbol:s[4],zero:s[5],width:s[6],comma:s[7],precision:s[8]&&s[8].slice(1),trim:s[9],type:s[10]})}nX.prototype=qpe.prototype;function qpe(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}qpe.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function qIt(i){e:for(var s=i.length,u=1,d=-1,p;u0&&(d=0);break}return d>0?i.slice(0,d)+i.slice(p+1):i}var uFe;function HIt(i,s){var u=tX(i,s);if(!u)return i+"";var d=u[0],p=u[1],v=p-(uFe=Math.max(-8,Math.min(8,Math.floor(p/3)))*3)+1,b=d.length;return v===b?d:v>b?d+new Array(v-b+1).join("0"):v>0?d.slice(0,v)+"."+d.slice(v):"0."+new Array(1-v).join("0")+tX(i,Math.max(0,s+v-1))[0]}function lFe(i,s){var u=tX(i,s);if(!u)return i+"";var d=u[0],p=u[1];return p<0?"0."+new Array(-p).join("0")+d:d.length>p+1?d.slice(0,p+1)+"."+d.slice(p+1):d+new Array(p-d.length+2).join("0")}const hFe={"%":(i,s)=>(i*100).toFixed(s),b:i=>Math.round(i).toString(2),c:i=>i+"",d:RIt,e:(i,s)=>i.toExponential(s),f:(i,s)=>i.toFixed(s),g:(i,s)=>i.toPrecision(s),o:i=>Math.round(i).toString(8),p:(i,s)=>lFe(i*100,s),r:lFe,s:HIt,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function fFe(i){return i}var dFe=Array.prototype.map,gFe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function VIt(i){var s=i.grouping===void 0||i.thousands===void 0?fFe:jIt(dFe.call(i.grouping,Number),i.thousands+""),u=i.currency===void 0?"":i.currency[0]+"",d=i.currency===void 0?"":i.currency[1]+"",p=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?fFe:$It(dFe.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",y=i.minus===void 0?"−":i.minus+"",T=i.nan===void 0?"NaN":i.nan+"";function _(P){P=nX(P);var R=P.fill,F=P.align,j=P.sign,W=P.symbol,ee=P.zero,ie=P.width,oe=P.comma,be=P.precision,ge=P.trim,ae=P.type;ae==="n"?(oe=!0,ae="g"):hFe[ae]||(be===void 0&&(be=12),ge=!0,ae="g"),(ee||R==="0"&&F==="=")&&(ee=!0,R="0",F="=");var ne=W==="$"?u:W==="#"&&/[boxX]/.test(ae)?"0"+ae.toLowerCase():"",se=W==="$"?d:/[%p]/.test(ae)?b:"",de=hFe[ae],X=/[defgprs%]/.test(ae);be=be===void 0?6:/[gprs]/.test(ae)?Math.max(1,Math.min(21,be)):Math.max(0,Math.min(20,be));function pe(K){var xe=ne,U=se,Be,Ne,je;if(ae==="c")U=de(K)+U,K="";else{K=+K;var Ie=K<0||1/K<0;if(K=isNaN(K)?T:de(Math.abs(K),be),ge&&(K=qIt(K)),Ie&&+K==0&&j!=="+"&&(Ie=!1),xe=(Ie?j==="("?j:y:j==="-"||j==="("?"":j)+xe,U=(ae==="s"?gFe[8+uFe/3]:"")+U+(Ie&&j==="("?")":""),X){for(Be=-1,Ne=K.length;++Beje||je>57){U=(je===46?p+K.slice(Be+1):K.slice(Be))+U,K=K.slice(0,Be);break}}}oe&&!ee&&(K=s(K,1/0));var Se=xe.length+K.length+U.length,Ce=Se>1)+xe+K+U+Ce.slice(Se);break;default:K=Ce+xe+K+U;break}return v(K)}return pe.toString=function(){return P+""},pe}function A(P,R){var F=_((P=nX(P),P.type="f",P)),j=Math.max(-8,Math.min(8,Math.floor(rD(R)/3)))*3,W=Math.pow(10,-j),ee=gFe[8+j/3];return function(ie){return F(W*ie)+ee}}return{format:_,formatPrefix:A}}var rX,pFe,bFe;UIt({thousands:",",grouping:[3],currency:["$",""]});function UIt(i){return rX=VIt(i),pFe=rX.format,bFe=rX.formatPrefix,rX}function GIt(i){return Math.max(0,-rD(Math.abs(i)))}function KIt(i,s){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rD(s)/3)))*3-rD(Math.abs(i)))}function WIt(i,s){return i=Math.abs(i),s=Math.abs(s)-i,Math.max(0,rD(s)-rD(i))+1}function iX(i,s){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(s).domain(i);break}return this}const mFe=Symbol("implicit");function _F(){var i=new uBe,s=[],u=[],d=mFe;function p(v){let b=i.get(v);if(b===void 0){if(d!==mFe)return d;i.set(v,b=s.push(v)-1)}return u[b%u.length]}return p.domain=function(v){if(!arguments.length)return s.slice();s=[],i=new uBe;for(const b of v)i.has(b)||i.set(b,s.push(b)-1);return p},p.range=function(v){return arguments.length?(u=Array.from(v),p):u.slice()},p.unknown=function(v){return arguments.length?(d=v,p):d},p.copy=function(){return _F(s,u).unknown(d)},iX.apply(p,arguments),p}function Hpe(){var i=_F().unknown(void 0),s=i.domain,u=i.range,d=0,p=1,v,b,y=!1,T=0,_=0,A=.5;delete i.unknown;function P(){var R=s().length,F=ps&&(u=i,i=s,s=u),function(d){return Math.max(i,Math.min(s,d))}}function JIt(i,s,u){var d=i[0],p=i[1],v=s[0],b=s[1];return p2?ZIt:JIt,T=_=null,P}function P(R){return R==null||isNaN(R=+R)?v:(T||(T=y(i.map(d),s,u)))(d(b(R)))}return P.invert=function(R){return b(p((_||(_=y(s,i.map(d),D3)))(R)))},P.domain=function(R){return arguments.length?(i=Array.from(R,XIt),A()):i.slice()},P.range=function(R){return arguments.length?(s=Array.from(R),A()):s.slice()},P.rangeRound=function(R){return s=Array.from(R),u=fDt,A()},P.clamp=function(R){return arguments.length?(b=R?!0:iD,A()):b!==iD},P.interpolate=function(R){return arguments.length?(u=R,A()):u},P.unknown=function(R){return arguments.length?(v=R,P):v},function(R,F){return d=R,p=F,A()}}function yFe(){return eOt()(iD,iD)}function tOt(i,s,u,d){var p=bpe(i,s,u),v;switch(d=nX(d??",f"),d.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(s));return d.precision==null&&!isNaN(v=KIt(p,b))&&(d.precision=v),bFe(d,b)}case"":case"e":case"g":case"p":case"r":{d.precision==null&&!isNaN(v=WIt(p,Math.max(Math.abs(i),Math.abs(s))))&&(d.precision=v-(d.type==="e"));break}case"f":case"%":{d.precision==null&&!isNaN(v=GIt(p))&&(d.precision=v-(d.type==="%")*2);break}}return pFe(d)}function nOt(i){var s=i.domain;return i.ticks=function(u){var d=s();return WAt(d[0],d[d.length-1],u??10)},i.tickFormat=function(u,d){var p=s();return tOt(p[0],p[p.length-1],u??10,d)},i.nice=function(u){u==null&&(u=10);var d=s(),p=0,v=d.length-1,b=d[p],y=d[v],T,_,A=10;for(y0;){if(_=ppe(b,y,u),_===T)return d[p]=b,d[v]=y,s(d);if(_>0)b=Math.floor(b/_)*_,y=Math.ceil(y/_)*_;else if(_<0)b=Math.ceil(b*_)/_,y=Math.floor(y*_)/_;else break;T=_}return i},i}function sD(){var i=yFe();return i.copy=function(){return wFe(i,sD())},iX.apply(i,arguments),nOt(i)}function rOt(i,s){i=i.slice();var u=0,d=i.length-1,p=i[u],v=i[d],b;return v(i(v=new Date(+v)),v),p.ceil=v=>(i(v=new Date(v-1)),s(v,1),i(v),v),p.round=v=>{const b=p(v),y=p.ceil(v);return v-b(s(v=new Date(+v),b==null?1:Math.floor(b)),v),p.range=(v,b,y)=>{const T=[];if(v=p.ceil(v),y=y==null?1:Math.floor(y),!(v0))return T;let _;do T.push(_=new Date(+v)),s(v,y),i(v);while(_u1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,y)=>{if(b>=b)if(y<0)for(;++y<=0;)for(;s(b,-1),!v(b););else for(;--y>=0;)for(;s(b,1),!v(b););}),u&&(p.count=(v,b)=>(Upe.setTime(+v),Gpe.setTime(+b),i(Upe),i(Gpe),Math.floor(u(Upe,Gpe))),p.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?p.filter(d?b=>d(b)%v===0:b=>p.count(0,b)%v===0):p)),p}const aD=u1(()=>{},(i,s)=>{i.setTime(+i+s)},(i,s)=>s-i);aD.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?u1(s=>{s.setTime(Math.floor(s/i)*i)},(s,u)=>{s.setTime(+s+u*i)},(s,u)=>(u-s)/i):aD),aD.range;const v7=1e3,Mv=v7*60,w7=Mv*60,y7=w7*24,Kpe=y7*7,xFe=y7*30,Wpe=y7*365,b9=u1(i=>{i.setTime(i-i.getMilliseconds())},(i,s)=>{i.setTime(+i+s*v7)},(i,s)=>(s-i)/v7,i=>i.getUTCSeconds());b9.range;const AF=u1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*v7)},(i,s)=>{i.setTime(+i+s*Mv)},(i,s)=>(s-i)/Mv,i=>i.getMinutes());AF.range,u1(i=>{i.setUTCSeconds(0,0)},(i,s)=>{i.setTime(+i+s*Mv)},(i,s)=>(s-i)/Mv,i=>i.getUTCMinutes()).range;const LF=u1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*v7-i.getMinutes()*Mv)},(i,s)=>{i.setTime(+i+s*w7)},(i,s)=>(s-i)/w7,i=>i.getHours());LF.range,u1(i=>{i.setUTCMinutes(0,0,0)},(i,s)=>{i.setTime(+i+s*w7)},(i,s)=>(s-i)/w7,i=>i.getUTCHours()).range;const vC=u1(i=>i.setHours(0,0,0,0),(i,s)=>i.setDate(i.getDate()+s),(i,s)=>(s-i-(s.getTimezoneOffset()-i.getTimezoneOffset())*Mv)/y7,i=>i.getDate()-1);vC.range;const Ype=u1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/y7,i=>i.getUTCDate()-1);Ype.range,u1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/y7,i=>Math.floor(i/y7)).range;function wC(i){return u1(s=>{s.setDate(s.getDate()-(s.getDay()+7-i)%7),s.setHours(0,0,0,0)},(s,u)=>{s.setDate(s.getDate()+u*7)},(s,u)=>(u-s-(u.getTimezoneOffset()-s.getTimezoneOffset())*Mv)/Kpe)}const MF=wC(0),DF=wC(1),kFe=wC(2),EFe=wC(3),yC=wC(4),TFe=wC(5),CFe=wC(6);MF.range,DF.range,kFe.range,EFe.range,yC.range,TFe.range,CFe.range;function xC(i){return u1(s=>{s.setUTCDate(s.getUTCDate()-(s.getUTCDay()+7-i)%7),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCDate(s.getUTCDate()+u*7)},(s,u)=>(u-s)/Kpe)}const SFe=xC(0),sX=xC(1),iOt=xC(2),sOt=xC(3),oD=xC(4),aOt=xC(5),oOt=xC(6);SFe.range,sX.range,iOt.range,sOt.range,oD.range,aOt.range,oOt.range;const IF=u1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,s)=>{i.setMonth(i.getMonth()+s)},(i,s)=>s.getMonth()-i.getMonth()+(s.getFullYear()-i.getFullYear())*12,i=>i.getMonth());IF.range,u1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCMonth(i.getUTCMonth()+s)},(i,s)=>s.getUTCMonth()-i.getUTCMonth()+(s.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const x7=u1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,s)=>{i.setFullYear(i.getFullYear()+s)},(i,s)=>s.getFullYear()-i.getFullYear(),i=>i.getFullYear());x7.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:u1(s=>{s.setFullYear(Math.floor(s.getFullYear()/i)*i),s.setMonth(0,1),s.setHours(0,0,0,0)},(s,u)=>{s.setFullYear(s.getFullYear()+u*i)}),x7.range;const kC=u1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCFullYear(i.getUTCFullYear()+s)},(i,s)=>s.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());kC.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:u1(s=>{s.setUTCFullYear(Math.floor(s.getUTCFullYear()/i)*i),s.setUTCMonth(0,1),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCFullYear(s.getUTCFullYear()+u*i)}),kC.range;function cOt(i,s,u,d,p,v){const b=[[b9,1,v7],[b9,5,5*v7],[b9,15,15*v7],[b9,30,30*v7],[v,1,Mv],[v,5,5*Mv],[v,15,15*Mv],[v,30,30*Mv],[p,1,w7],[p,3,3*w7],[p,6,6*w7],[p,12,12*w7],[d,1,y7],[d,2,2*y7],[u,1,Kpe],[s,1,xFe],[s,3,3*xFe],[i,1,Wpe]];function y(_,A,P){const R=A<_;R&&([_,A]=[A,_]);const F=P&&typeof P.range=="function"?P:T(_,A,P),j=F?F.range(_,+A+1):[];return R?j.reverse():j}function T(_,A,P){const R=Math.abs(A-_)/P,F=gpe(([,,ee])=>ee).right(b,R);if(F===b.length)return i.every(bpe(_/Wpe,A/Wpe,P));if(F===0)return aD.every(Math.max(bpe(_,A,P),1));const[j,W]=b[R/b[F-1][2]53)return null;"w"in At||(At.w=1),"Z"in At?(On=Qpe(OF(At.y,0,1)),ht=On.getUTCDay(),On=ht>4||ht===0?sX.ceil(On):sX(On),On=Ype.offset(On,(At.V-1)*7),At.y=On.getUTCFullYear(),At.m=On.getUTCMonth(),At.d=On.getUTCDate()+(At.w+6)%7):(On=Xpe(OF(At.y,0,1)),ht=On.getDay(),On=ht>4||ht===0?DF.ceil(On):DF(On),On=vC.offset(On,(At.V-1)*7),At.y=On.getFullYear(),At.m=On.getMonth(),At.d=On.getDate()+(At.w+6)%7)}else("W"in At||"U"in At)&&("w"in At||(At.w="u"in At?At.u%7:"W"in At?1:0),ht="Z"in At?Qpe(OF(At.y,0,1)).getUTCDay():Xpe(OF(At.y,0,1)).getDay(),At.m=0,At.d="W"in At?(At.w+6)%7+At.W*7-(ht+5)%7:At.w+At.U*7-(ht+6)%7);return"Z"in At?(At.H+=At.Z/100|0,At.M+=At.Z%100,Qpe(At)):Xpe(At)}}function de(xt,Pt,Ze,At){for(var Tt=0,On=Pt.length,ht=Ze.length,zr,yt;Tt=ht)return-1;if(zr=Pt.charCodeAt(Tt++),zr===37){if(zr=Pt.charAt(Tt++),yt=ae[zr in _Fe?Pt.charAt(Tt++):zr],!yt||(At=yt(xt,Ze,At))<0)return-1}else if(zr!=Ze.charCodeAt(At++))return-1}return At}function X(xt,Pt,Ze){var At=_.exec(Pt.slice(Ze));return At?(xt.p=A.get(At[0].toLowerCase()),Ze+At[0].length):-1}function pe(xt,Pt,Ze){var At=F.exec(Pt.slice(Ze));return At?(xt.w=j.get(At[0].toLowerCase()),Ze+At[0].length):-1}function K(xt,Pt,Ze){var At=P.exec(Pt.slice(Ze));return At?(xt.w=R.get(At[0].toLowerCase()),Ze+At[0].length):-1}function xe(xt,Pt,Ze){var At=ie.exec(Pt.slice(Ze));return At?(xt.m=oe.get(At[0].toLowerCase()),Ze+At[0].length):-1}function U(xt,Pt,Ze){var At=W.exec(Pt.slice(Ze));return At?(xt.m=ee.get(At[0].toLowerCase()),Ze+At[0].length):-1}function Be(xt,Pt,Ze){return de(xt,s,Pt,Ze)}function Ne(xt,Pt,Ze){return de(xt,u,Pt,Ze)}function je(xt,Pt,Ze){return de(xt,d,Pt,Ze)}function Ie(xt){return b[xt.getDay()]}function Se(xt){return v[xt.getDay()]}function Ce(xt){return T[xt.getMonth()]}function ke(xt){return y[xt.getMonth()]}function Ke(xt){return p[+(xt.getHours()>=12)]}function Ft(xt){return 1+~~(xt.getMonth()/3)}function Pe(xt){return b[xt.getUTCDay()]}function gn(xt){return v[xt.getUTCDay()]}function kt(xt){return T[xt.getUTCMonth()]}function Et(xt){return y[xt.getUTCMonth()]}function Gt(xt){return p[+(xt.getUTCHours()>=12)]}function ln(xt){return 1+~~(xt.getUTCMonth()/3)}return{format:function(xt){var Pt=ne(xt+="",be);return Pt.toString=function(){return xt},Pt},parse:function(xt){var Pt=se(xt+="",!1);return Pt.toString=function(){return xt},Pt},utcFormat:function(xt){var Pt=ne(xt+="",ge);return Pt.toString=function(){return xt},Pt},utcParse:function(xt){var Pt=se(xt+="",!0);return Pt.toString=function(){return xt},Pt}}}var _Fe={"-":"",_:" ",0:"0"},ed=/^\s*\d+/,fOt=/^%/,dOt=/[\\^$*+?|[\]().{}]/g;function yu(i,s,u){var d=i<0?"-":"",p=(d?-i:i)+"",v=p.length;return d+(v[s.toLowerCase(),u]))}function pOt(i,s,u){var d=ed.exec(s.slice(u,u+1));return d?(i.w=+d[0],u+d[0].length):-1}function bOt(i,s,u){var d=ed.exec(s.slice(u,u+1));return d?(i.u=+d[0],u+d[0].length):-1}function mOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.U=+d[0],u+d[0].length):-1}function vOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.V=+d[0],u+d[0].length):-1}function wOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.W=+d[0],u+d[0].length):-1}function AFe(i,s,u){var d=ed.exec(s.slice(u,u+4));return d?(i.y=+d[0],u+d[0].length):-1}function LFe(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.y=+d[0]+(+d[0]>68?1900:2e3),u+d[0].length):-1}function yOt(i,s,u){var d=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(s.slice(u,u+6));return d?(i.Z=d[1]?0:-(d[2]+(d[3]||"00")),u+d[0].length):-1}function xOt(i,s,u){var d=ed.exec(s.slice(u,u+1));return d?(i.q=d[0]*3-3,u+d[0].length):-1}function kOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.m=d[0]-1,u+d[0].length):-1}function MFe(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.d=+d[0],u+d[0].length):-1}function EOt(i,s,u){var d=ed.exec(s.slice(u,u+3));return d?(i.m=0,i.d=+d[0],u+d[0].length):-1}function DFe(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.H=+d[0],u+d[0].length):-1}function TOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.M=+d[0],u+d[0].length):-1}function COt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.S=+d[0],u+d[0].length):-1}function SOt(i,s,u){var d=ed.exec(s.slice(u,u+3));return d?(i.L=+d[0],u+d[0].length):-1}function _Ot(i,s,u){var d=ed.exec(s.slice(u,u+6));return d?(i.L=Math.floor(d[0]/1e3),u+d[0].length):-1}function AOt(i,s,u){var d=fOt.exec(s.slice(u,u+1));return d?u+d[0].length:-1}function LOt(i,s,u){var d=ed.exec(s.slice(u));return d?(i.Q=+d[0],u+d[0].length):-1}function MOt(i,s,u){var d=ed.exec(s.slice(u));return d?(i.s=+d[0],u+d[0].length):-1}function IFe(i,s){return yu(i.getDate(),s,2)}function DOt(i,s){return yu(i.getHours(),s,2)}function IOt(i,s){return yu(i.getHours()%12||12,s,2)}function OOt(i,s){return yu(1+vC.count(x7(i),i),s,3)}function OFe(i,s){return yu(i.getMilliseconds(),s,3)}function NOt(i,s){return OFe(i,s)+"000"}function POt(i,s){return yu(i.getMonth()+1,s,2)}function BOt(i,s){return yu(i.getMinutes(),s,2)}function FOt(i,s){return yu(i.getSeconds(),s,2)}function ROt(i){var s=i.getDay();return s===0?7:s}function jOt(i,s){return yu(MF.count(x7(i)-1,i),s,2)}function NFe(i){var s=i.getDay();return s>=4||s===0?yC(i):yC.ceil(i)}function $Ot(i,s){return i=NFe(i),yu(yC.count(x7(i),i)+(x7(i).getDay()===4),s,2)}function zOt(i){return i.getDay()}function qOt(i,s){return yu(DF.count(x7(i)-1,i),s,2)}function HOt(i,s){return yu(i.getFullYear()%100,s,2)}function VOt(i,s){return i=NFe(i),yu(i.getFullYear()%100,s,2)}function UOt(i,s){return yu(i.getFullYear()%1e4,s,4)}function GOt(i,s){var u=i.getDay();return i=u>=4||u===0?yC(i):yC.ceil(i),yu(i.getFullYear()%1e4,s,4)}function KOt(i){var s=i.getTimezoneOffset();return(s>0?"-":(s*=-1,"+"))+yu(s/60|0,"0",2)+yu(s%60,"0",2)}function PFe(i,s){return yu(i.getUTCDate(),s,2)}function WOt(i,s){return yu(i.getUTCHours(),s,2)}function YOt(i,s){return yu(i.getUTCHours()%12||12,s,2)}function XOt(i,s){return yu(1+Ype.count(kC(i),i),s,3)}function BFe(i,s){return yu(i.getUTCMilliseconds(),s,3)}function QOt(i,s){return BFe(i,s)+"000"}function JOt(i,s){return yu(i.getUTCMonth()+1,s,2)}function ZOt(i,s){return yu(i.getUTCMinutes(),s,2)}function eNt(i,s){return yu(i.getUTCSeconds(),s,2)}function tNt(i){var s=i.getUTCDay();return s===0?7:s}function nNt(i,s){return yu(SFe.count(kC(i)-1,i),s,2)}function FFe(i){var s=i.getUTCDay();return s>=4||s===0?oD(i):oD.ceil(i)}function rNt(i,s){return i=FFe(i),yu(oD.count(kC(i),i)+(kC(i).getUTCDay()===4),s,2)}function iNt(i){return i.getUTCDay()}function sNt(i,s){return yu(sX.count(kC(i)-1,i),s,2)}function aNt(i,s){return yu(i.getUTCFullYear()%100,s,2)}function oNt(i,s){return i=FFe(i),yu(i.getUTCFullYear()%100,s,2)}function cNt(i,s){return yu(i.getUTCFullYear()%1e4,s,4)}function uNt(i,s){var u=i.getUTCDay();return i=u>=4||u===0?oD(i):oD.ceil(i),yu(i.getUTCFullYear()%1e4,s,4)}function lNt(){return"+0000"}function RFe(){return"%"}function jFe(i){return+i}function $Fe(i){return Math.floor(+i/1e3)}var cD,aX;hNt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function hNt(i){return cD=hOt(i),aX=cD.format,cD.parse,cD.utcFormat,cD.utcParse,cD}function fNt(i){return new Date(i)}function dNt(i){return i instanceof Date?+i:+new Date(+i)}function zFe(i,s,u,d,p,v,b,y,T,_){var A=yFe(),P=A.invert,R=A.domain,F=_(".%L"),j=_(":%S"),W=_("%I:%M"),ee=_("%I %p"),ie=_("%a %d"),oe=_("%b %d"),be=_("%B"),ge=_("%Y");function ae(ne){return(T(ne)1?0:i<-1?BF:Math.acos(i)}function VFe(i){return i>=1?oX:i<=-1?-oX:Math.asin(i)}function UFe(i){let s=3;return i.digits=function(u){if(!arguments.length)return s;if(u==null)s=null;else{const d=Math.floor(u);if(!(d>=0))throw new RangeError(`invalid digits: ${u}`);s=d}return i},()=>new OIt(s)}function vNt(i){return i.innerRadius}function wNt(i){return i.outerRadius}function yNt(i){return i.startAngle}function xNt(i){return i.endAngle}function kNt(i){return i&&i.padAngle}function ENt(i,s,u,d,p,v,b,y){var T=u-i,_=d-s,A=b-p,P=y-v,R=P*T-A*_;if(!(R*RBe*Be+Ne*Ne&&(de=pe,X=K),{cx:de,cy:X,x01:-A,y01:-P,x11:de*(p/ae-1),y11:X*(p/ae-1)}}function lD(){var i=vNt,s=wNt,u=Kf(0),d=null,p=yNt,v=xNt,b=kNt,y=null,T=UFe(_);function _(){var A,P,R=+i.apply(this,arguments),F=+s.apply(this,arguments),j=p.apply(this,arguments)-oX,W=v.apply(this,arguments)-oX,ee=HFe(W-j),ie=W>j;if(y||(y=A=T()),FDg))y.moveTo(0,0);else if(ee>cX-Dg)y.moveTo(F*EC(j),F*q4(j)),y.arc(0,0,F,j,W,!ie),R>Dg&&(y.moveTo(R*EC(W),R*q4(W)),y.arc(0,0,R,W,j,ie));else{var oe=j,be=W,ge=j,ae=W,ne=ee,se=ee,de=b.apply(this,arguments)/2,X=de>Dg&&(d?+d.apply(this,arguments):uD(R*R+F*F)),pe=Jpe(HFe(F-R)/2,+u.apply(this,arguments)),K=pe,xe=pe,U,Be;if(X>Dg){var Ne=VFe(X/R*q4(de)),je=VFe(X/F*q4(de));(ne-=Ne*2)>Dg?(Ne*=ie?1:-1,ge+=Ne,ae-=Ne):(ne=0,ge=ae=(j+W)/2),(se-=je*2)>Dg?(je*=ie?1:-1,oe+=je,be-=je):(se=0,oe=be=(j+W)/2)}var Ie=F*EC(oe),Se=F*q4(oe),Ce=R*EC(ae),ke=R*q4(ae);if(pe>Dg){var Ke=F*EC(be),Ft=F*q4(be),Pe=R*EC(ge),gn=R*q4(ge),kt;if(eeDg?xe>Dg?(U=uX(Pe,gn,Ie,Se,F,xe,ie),Be=uX(Ke,Ft,Ce,ke,F,xe,ie),y.moveTo(U.cx+U.x01,U.cy+U.y01),xeDg)||!(ne>Dg)?y.lineTo(Ce,ke):K>Dg?(U=uX(Ce,ke,Ke,Ft,R,-K,ie),Be=uX(Ie,Se,Pe,gn,R,-K,ie),y.lineTo(U.cx+U.x01,U.cy+U.y01),Ki?1:s>=i?0:NaN}function _Nt(i){return i}function ANt(){var i=_Nt,s=SNt,u=null,d=Kf(0),p=Kf(cX),v=Kf(0);function b(y){var T,_=(y=GFe(y)).length,A,P,R=0,F=new Array(_),j=new Array(_),W=+d.apply(this,arguments),ee=Math.min(cX,Math.max(-cX,p.apply(this,arguments)-W)),ie,oe=Math.min(Math.abs(ee)/_,v.apply(this,arguments)),be=oe*(ee<0?-1:1),ge;for(T=0;T<_;++T)(ge=j[F[T]=T]=+i(y[T],T,y))>0&&(R+=ge);for(s!=null?F.sort(function(ae,ne){return s(j[ae],j[ne])}):u!=null&&F.sort(function(ae,ne){return u(y[ae],y[ne])}),T=0,P=R?(ee-_*be)/R:0;T<_;++T,W=ie)A=F[T],ge=j[A],ie=W+(ge>0?ge*P:0)+be,j[A]={data:y[A],index:T,value:ge,startAngle:W,endAngle:ie,padAngle:oe};return j}return b.value=function(y){return arguments.length?(i=typeof y=="function"?y:Kf(+y),b):i},b.sortValues=function(y){return arguments.length?(s=y,u=null,b):s},b.sort=function(y){return arguments.length?(u=y,s=null,b):u},b.startAngle=function(y){return arguments.length?(d=typeof y=="function"?y:Kf(+y),b):d},b.endAngle=function(y){return arguments.length?(p=typeof y=="function"?y:Kf(+y),b):p},b.padAngle=function(y){return arguments.length?(v=typeof y=="function"?y:Kf(+y),b):v},b}class WFe{constructor(s,u){this._context=s,this._x=u}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(s,u){switch(s=+s,u=+u,this._point){case 0:{this._point=1,this._line?this._context.lineTo(s,u):this._context.moveTo(s,u);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+s)/2,this._y0,this._x0,u,s,u):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+u)/2,s,this._y0,s,u);break}}this._x0=s,this._y0=u}}function LNt(i){return new WFe(i,!0)}function MNt(i){return new WFe(i,!1)}function m9(){}function lX(i,s,u){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+s)/6,(i._y0+4*i._y1+u)/6)}function hX(i){this._context=i}hX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:lX(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:lX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function FF(i){return new hX(i)}function YFe(i){this._context=i}YFe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x2=i,this._y2=s;break;case 1:this._point=2,this._x3=i,this._y3=s;break;case 2:this._point=3,this._x4=i,this._y4=s,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+s)/6);break;default:lX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function DNt(i){return new YFe(i)}function XFe(i){this._context=i}XFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var u=(this._x0+4*this._x1+i)/6,d=(this._y0+4*this._y1+s)/6;this._line?this._context.lineTo(u,d):this._context.moveTo(u,d);break;case 3:this._point=4;default:lX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function INt(i){return new XFe(i)}function QFe(i,s){this._basis=new hX(i),this._beta=s}QFe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,s=this._y,u=i.length-1;if(u>0)for(var d=i[0],p=s[0],v=i[u]-d,b=s[u]-p,y=-1,T;++y<=u;)T=y/u,this._basis.point(this._beta*i[y]+(1-this._beta)*(d+T*v),this._beta*s[y]+(1-this._beta)*(p+T*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,s){this._x.push(+i),this._y.push(+s)}};const ONt=function i(s){function u(d){return s===1?new hX(d):new QFe(d,s)}return u.beta=function(d){return i(+d)},u}(.85);function fX(i,s,u){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-s),i._y2+i._k*(i._y1-u),i._x2,i._y2)}function Zpe(i,s){this._context=i,this._k=(1-s)/6}Zpe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:fX(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2,this._x1=i,this._y1=s;break;case 2:this._point=3;default:fX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const NNt=function i(s){function u(d){return new Zpe(d,s)}return u.tension=function(d){return i(+d)},u}(0);function e2e(i,s){this._context=i,this._k=(1-s)/6}e2e.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:fX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const PNt=function i(s){function u(d){return new e2e(d,s)}return u.tension=function(d){return i(+d)},u}(0);function t2e(i,s){this._context=i,this._k=(1-s)/6}t2e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:fX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const BNt=function i(s){function u(d){return new t2e(d,s)}return u.tension=function(d){return i(+d)},u}(0);function n2e(i,s,u){var d=i._x1,p=i._y1,v=i._x2,b=i._y2;if(i._l01_a>Dg){var y=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,T=3*i._l01_a*(i._l01_a+i._l12_a);d=(d*y-i._x0*i._l12_2a+i._x2*i._l01_2a)/T,p=(p*y-i._y0*i._l12_2a+i._y2*i._l01_2a)/T}if(i._l23_a>Dg){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,A=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-s*i._l12_2a)/A,b=(b*_+i._y1*i._l23_2a-u*i._l12_2a)/A}i._context.bezierCurveTo(d,p,v,b,i._x2,i._y2)}function JFe(i,s){this._context=i,this._alpha=s}JFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3;default:n2e(this,i,s);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const FNt=function i(s){function u(d){return s?new JFe(d,s):new Zpe(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function ZFe(i,s){this._context=i,this._alpha=s}ZFe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:n2e(this,i,s);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const RNt=function i(s){function u(d){return s?new ZFe(d,s):new e2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function eRe(i,s){this._context=i,this._alpha=s}eRe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:n2e(this,i,s);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const jNt=function i(s){function u(d){return s?new eRe(d,s):new t2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function tRe(i){this._context=i}tRe.prototype={areaStart:m9,areaEnd:m9,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,s){i=+i,s=+s,this._point?this._context.lineTo(i,s):(this._point=1,this._context.moveTo(i,s))}};function $Nt(i){return new tRe(i)}function nRe(i){return i<0?-1:1}function rRe(i,s,u){var d=i._x1-i._x0,p=s-i._x1,v=(i._y1-i._y0)/(d||p<0&&-0),b=(u-i._y1)/(p||d<0&&-0),y=(v*p+b*d)/(d+p);return(nRe(v)+nRe(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(y))||0}function iRe(i,s){var u=i._x1-i._x0;return u?(3*(i._y1-i._y0)/u-s)/2:s}function r2e(i,s,u){var d=i._x0,p=i._y0,v=i._x1,b=i._y1,y=(v-d)/3;i._context.bezierCurveTo(d+y,p+y*s,v-y,b-y*u,v,b)}function dX(i){this._context=i}dX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:r2e(this,this._t0,iRe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){var u=NaN;if(i=+i,s=+s,!(i===this._x1&&s===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3,r2e(this,iRe(this,u=rRe(this,i,s)),u);break;default:r2e(this,this._t0,u=rRe(this,i,s));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s,this._t0=u}}};function sRe(i){this._context=new aRe(i)}(sRe.prototype=Object.create(dX.prototype)).point=function(i,s){dX.prototype.point.call(this,s,i)};function aRe(i){this._context=i}aRe.prototype={moveTo:function(i,s){this._context.moveTo(s,i)},closePath:function(){this._context.closePath()},lineTo:function(i,s){this._context.lineTo(s,i)},bezierCurveTo:function(i,s,u,d,p,v){this._context.bezierCurveTo(s,i,d,u,v,p)}};function zNt(i){return new dX(i)}function qNt(i){return new sRe(i)}function oRe(i){this._context=i}oRe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,s=this._y,u=i.length;if(u)if(this._line?this._context.lineTo(i[0],s[0]):this._context.moveTo(i[0],s[0]),u===2)this._context.lineTo(i[1],s[1]);else for(var d=cRe(i),p=cRe(s),v=0,b=1;b=0;--s)p[s]=(b[s]-p[s+1])/v[s];for(v[u-1]=(i[u]+p[u-1])/2,s=0;s=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,s),this._context.lineTo(i,s);else{var u=this._x*(1-this._t)+i*this._t;this._context.lineTo(u,this._y),this._context.lineTo(u,s)}break}}this._x=i,this._y=s}};function VNt(i){return new gX(i,.5)}function UNt(i){return new gX(i,0)}function GNt(i){return new gX(i,1)}function RF(i,s,u){this.k=i,this.x=s,this.y=u}RF.prototype={constructor:RF,scale:function(i){return i===1?this:new RF(this.k*i,this.x,this.y)},translate:function(i,s){return i===0&s===0?this:new RF(this.k,this.x+this.k*i,this.y+this.k*s)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},RF.prototype;/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */const{entries:uRe,setPrototypeOf:lRe,isFrozen:KNt,getPrototypeOf:WNt,getOwnPropertyDescriptor:YNt}=Object;let{freeze:kp,seal:Dv,create:hRe}=Object,{apply:i2e,construct:s2e}=typeof Reflect<"u"&&Reflect;kp||(kp=function(s){return s}),Dv||(Dv=function(s){return s}),i2e||(i2e=function(s,u,d){return s.apply(u,d)}),s2e||(s2e=function(s,u){return new s(...u)});const pX=sm(Array.prototype.forEach),fRe=sm(Array.prototype.pop),jF=sm(Array.prototype.push),bX=sm(String.prototype.toLowerCase),a2e=sm(String.prototype.toString),dRe=sm(String.prototype.match),$F=sm(String.prototype.replace),XNt=sm(String.prototype.indexOf),QNt=sm(String.prototype.trim),O3=sm(Object.prototype.hasOwnProperty),Ep=sm(RegExp.prototype.test),zF=JNt(TypeError);function sm(i){return function(s){for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p2&&arguments[2]!==void 0?arguments[2]:bX;lRe&&lRe(i,null);let d=s.length;for(;d--;){let p=s[d];if(typeof p=="string"){const v=u(p);v!==p&&(KNt(s)||(s[d]=v),p=v)}i[p]=!0}return i}function ZNt(i){for(let s=0;s/gm),iPt=Dv(/\${[\w\W]*}/gm),sPt=Dv(/^data-[\-\w.\u00B7-\uFFFF]/),aPt=Dv(/^aria-[\-\w]+$/),vRe=Dv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),oPt=Dv(/^(?:\w+script|data):/i),cPt=Dv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),wRe=Dv(/^html$/i),uPt=Dv(/^[a-z][.\w]*(-[.\w]+)+$/i);var yRe=Object.freeze({__proto__:null,MUSTACHE_EXPR:nPt,ERB_EXPR:rPt,TMPLIT_EXPR:iPt,DATA_ATTR:sPt,ARIA_ATTR:aPt,IS_ALLOWED_URI:vRe,IS_SCRIPT_OR_DATA:oPt,ATTR_WHITESPACE:cPt,DOCTYPE_NAME:wRe,CUSTOM_ELEMENT:uPt});const HF={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},lPt=function(){return typeof window>"u"?null:window},hPt=function(s,u){if(typeof s!="object"||typeof s.createPolicy!="function")return null;let d=null;const p="data-tt-policy-suffix";u&&u.hasAttribute(p)&&(d=u.getAttribute(p));const v="dompurify"+(d?"#"+d:"");try{return s.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function xRe(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:lPt();const s=ls=>xRe(ls);if(s.version="3.1.6",s.removed=[],!i||!i.document||i.document.nodeType!==HF.document)return s.isSupported=!1,s;let{document:u}=i;const d=u,p=d.currentScript,{DocumentFragment:v,HTMLTemplateElement:b,Node:y,Element:T,NodeFilter:_,NamedNodeMap:A=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:P,DOMParser:R,trustedTypes:F}=i,j=T.prototype,W=qF(j,"cloneNode"),ee=qF(j,"remove"),ie=qF(j,"nextSibling"),oe=qF(j,"childNodes"),be=qF(j,"parentNode");if(typeof b=="function"){const ls=u.createElement("template");ls.content&&ls.content.ownerDocument&&(u=ls.content.ownerDocument)}let ge,ae="";const{implementation:ne,createNodeIterator:se,createDocumentFragment:de,getElementsByTagName:X}=u,{importNode:pe}=d;let K={};s.isSupported=typeof uRe=="function"&&typeof be=="function"&&ne&&ne.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:xe,ERB_EXPR:U,TMPLIT_EXPR:Be,DATA_ATTR:Ne,ARIA_ATTR:je,IS_SCRIPT_OR_DATA:Ie,ATTR_WHITESPACE:Se,CUSTOM_ELEMENT:Ce}=yRe;let{IS_ALLOWED_URI:ke}=yRe,Ke=null;const Ft=_c({},[...gRe,...o2e,...c2e,...u2e,...pRe]);let Pe=null;const gn=_c({},[...bRe,...l2e,...mRe,...mX]);let kt=Object.seal(hRe(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Et=null,Gt=null,ln=!0,xt=!0,Pt=!1,Ze=!0,At=!1,Tt=!0,On=!1,ht=!1,zr=!1,yt=!1,Fi=!1,yi=!1,Pa=!0,ta=!1;const $o="user-content-";let Ar=!0,Nn=!1,$n={},qn=null;const Lt=_c({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let wt=null;const cn=_c({},["audio","video","img","source","image","track"]);let fn=null;const Mn=_c({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),mo="http://www.w3.org/1998/Math/MathML",Oo="http://www.w3.org/2000/svg",Xa="http://www.w3.org/1999/xhtml";let ca=Xa,No=!1,Ts=null;const rl=_c({},[mo,Oo,Xa],a2e);let Xo=null;const Bp=["application/xhtml+xml","text/html"],pm="text/html";let Po=null,yc=null;const Jc=u.createElement("form"),Ra=function(vn){return vn instanceof RegExp||vn instanceof Function},du=function(){let vn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(yc&&yc===vn)){if((!vn||typeof vn!="object")&&(vn={}),vn=TC(vn),Xo=Bp.indexOf(vn.PARSER_MEDIA_TYPE)===-1?pm:vn.PARSER_MEDIA_TYPE,Po=Xo==="application/xhtml+xml"?a2e:bX,Ke=O3(vn,"ALLOWED_TAGS")?_c({},vn.ALLOWED_TAGS,Po):Ft,Pe=O3(vn,"ALLOWED_ATTR")?_c({},vn.ALLOWED_ATTR,Po):gn,Ts=O3(vn,"ALLOWED_NAMESPACES")?_c({},vn.ALLOWED_NAMESPACES,a2e):rl,fn=O3(vn,"ADD_URI_SAFE_ATTR")?_c(TC(Mn),vn.ADD_URI_SAFE_ATTR,Po):Mn,wt=O3(vn,"ADD_DATA_URI_TAGS")?_c(TC(cn),vn.ADD_DATA_URI_TAGS,Po):cn,qn=O3(vn,"FORBID_CONTENTS")?_c({},vn.FORBID_CONTENTS,Po):Lt,Et=O3(vn,"FORBID_TAGS")?_c({},vn.FORBID_TAGS,Po):{},Gt=O3(vn,"FORBID_ATTR")?_c({},vn.FORBID_ATTR,Po):{},$n=O3(vn,"USE_PROFILES")?vn.USE_PROFILES:!1,ln=vn.ALLOW_ARIA_ATTR!==!1,xt=vn.ALLOW_DATA_ATTR!==!1,Pt=vn.ALLOW_UNKNOWN_PROTOCOLS||!1,Ze=vn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,At=vn.SAFE_FOR_TEMPLATES||!1,Tt=vn.SAFE_FOR_XML!==!1,On=vn.WHOLE_DOCUMENT||!1,yt=vn.RETURN_DOM||!1,Fi=vn.RETURN_DOM_FRAGMENT||!1,yi=vn.RETURN_TRUSTED_TYPE||!1,zr=vn.FORCE_BODY||!1,Pa=vn.SANITIZE_DOM!==!1,ta=vn.SANITIZE_NAMED_PROPS||!1,Ar=vn.KEEP_CONTENT!==!1,Nn=vn.IN_PLACE||!1,ke=vn.ALLOWED_URI_REGEXP||vRe,ca=vn.NAMESPACE||Xa,kt=vn.CUSTOM_ELEMENT_HANDLING||{},vn.CUSTOM_ELEMENT_HANDLING&&Ra(vn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(kt.tagNameCheck=vn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),vn.CUSTOM_ELEMENT_HANDLING&&Ra(vn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(kt.attributeNameCheck=vn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),vn.CUSTOM_ELEMENT_HANDLING&&typeof vn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(kt.allowCustomizedBuiltInElements=vn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),At&&(xt=!1),Fi&&(yt=!0),$n&&(Ke=_c({},pRe),Pe=[],$n.html===!0&&(_c(Ke,gRe),_c(Pe,bRe)),$n.svg===!0&&(_c(Ke,o2e),_c(Pe,l2e),_c(Pe,mX)),$n.svgFilters===!0&&(_c(Ke,c2e),_c(Pe,l2e),_c(Pe,mX)),$n.mathMl===!0&&(_c(Ke,u2e),_c(Pe,mRe),_c(Pe,mX))),vn.ADD_TAGS&&(Ke===Ft&&(Ke=TC(Ke)),_c(Ke,vn.ADD_TAGS,Po)),vn.ADD_ATTR&&(Pe===gn&&(Pe=TC(Pe)),_c(Pe,vn.ADD_ATTR,Po)),vn.ADD_URI_SAFE_ATTR&&_c(fn,vn.ADD_URI_SAFE_ATTR,Po),vn.FORBID_CONTENTS&&(qn===Lt&&(qn=TC(qn)),_c(qn,vn.FORBID_CONTENTS,Po)),Ar&&(Ke["#text"]=!0),On&&_c(Ke,["html","head","body"]),Ke.table&&(_c(Ke,["tbody"]),delete Et.tbody),vn.TRUSTED_TYPES_POLICY){if(typeof vn.TRUSTED_TYPES_POLICY.createHTML!="function")throw zF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof vn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw zF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ge=vn.TRUSTED_TYPES_POLICY,ae=ge.createHTML("")}else ge===void 0&&(ge=hPt(F,p)),ge!==null&&typeof ae=="string"&&(ae=ge.createHTML(""));kp&&kp(vn),yc=vn}},Sa=_c({},["mi","mo","mn","ms","mtext"]),Bo=_c({},["foreignobject","annotation-xml"]),Rc=_c({},["title","style","font","a","script"]),Qa=_c({},[...o2e,...c2e,...ePt]),ja=_c({},[...u2e,...tPt]),xa=function(vn){let si=be(vn);(!si||!si.tagName)&&(si={namespaceURI:ca,tagName:"template"});const ss=bX(vn.tagName),Zc=bX(si.tagName);return Ts[vn.namespaceURI]?vn.namespaceURI===Oo?si.namespaceURI===Xa?ss==="svg":si.namespaceURI===mo?ss==="svg"&&(Zc==="annotation-xml"||Sa[Zc]):!!Qa[ss]:vn.namespaceURI===mo?si.namespaceURI===Xa?ss==="math":si.namespaceURI===Oo?ss==="math"&&Bo[Zc]:!!ja[ss]:vn.namespaceURI===Xa?si.namespaceURI===Oo&&!Bo[Zc]||si.namespaceURI===mo&&!Sa[Zc]?!1:!ja[ss]&&(Rc[ss]||!Qa[ss]):!!(Xo==="application/xhtml+xml"&&Ts[vn.namespaceURI]):!1},xu=function(vn){jF(s.removed,{element:vn});try{be(vn).removeChild(vn)}catch{ee(vn)}},jc=function(vn,si){try{jF(s.removed,{attribute:si.getAttributeNode(vn),from:si})}catch{jF(s.removed,{attribute:null,from:si})}if(si.removeAttribute(vn),vn==="is"&&!Pe[vn])if(yt||Fi)try{xu(si)}catch{}else try{si.setAttribute(vn,"")}catch{}},o5=function(vn){let si=null,ss=null;if(zr)vn=""+vn;else{const ku=dRe(vn,/^[\r\n\t ]+/);ss=ku&&ku[0]}Xo==="application/xhtml+xml"&&ca===Xa&&(vn=''+vn+"");const Zc=ge?ge.createHTML(vn):vn;if(ca===Xa)try{si=new R().parseFromString(Zc,Xo)}catch{}if(!si||!si.documentElement){si=ne.createDocument(ca,"template",null);try{si.documentElement.innerHTML=No?ae:Zc}catch{}}const bl=si.body||si.documentElement;return vn&&ss&&bl.insertBefore(u.createTextNode(ss),bl.childNodes[0]||null),ca===Xa?X.call(si,On?"html":"body")[0]:On?si.documentElement:bl},jg=function(vn){return se.call(vn.ownerDocument||vn,vn,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT|_.SHOW_PROCESSING_INSTRUCTION|_.SHOW_CDATA_SECTION,null)},id=function(vn){return vn instanceof P&&(typeof vn.nodeName!="string"||typeof vn.textContent!="string"||typeof vn.removeChild!="function"||!(vn.attributes instanceof A)||typeof vn.removeAttribute!="function"||typeof vn.setAttribute!="function"||typeof vn.namespaceURI!="string"||typeof vn.insertBefore!="function"||typeof vn.hasChildNodes!="function")},Hd=function(vn){return typeof y=="function"&&vn instanceof y},uh=function(vn,si,ss){K[vn]&&pX(K[vn],Zc=>{Zc.call(s,si,ss,yc)})},Vd=function(vn){let si=null;if(uh("beforeSanitizeElements",vn,null),id(vn))return xu(vn),!0;const ss=Po(vn.nodeName);if(uh("uponSanitizeElement",vn,{tagName:ss,allowedTags:Ke}),vn.hasChildNodes()&&!Hd(vn.firstElementChild)&&Ep(/<[/\w]/g,vn.innerHTML)&&Ep(/<[/\w]/g,vn.textContent)||vn.nodeType===HF.progressingInstruction||Tt&&vn.nodeType===HF.comment&&Ep(/<[/\w]/g,vn.data))return xu(vn),!0;if(!Ke[ss]||Et[ss]){if(!Et[ss]&&Gd(ss)&&(kt.tagNameCheck instanceof RegExp&&Ep(kt.tagNameCheck,ss)||kt.tagNameCheck instanceof Function&&kt.tagNameCheck(ss)))return!1;if(Ar&&!qn[ss]){const Zc=be(vn)||vn.parentNode,bl=oe(vn)||vn.childNodes;if(bl&&Zc){const ku=bl.length;for(let Wi=ku-1;Wi>=0;--Wi){const hs=W(bl[Wi],!0);hs.__removalCount=(vn.__removalCount||0)+1,Zc.insertBefore(hs,ie(vn))}}}return xu(vn),!0}return vn instanceof T&&!xa(vn)||(ss==="noscript"||ss==="noembed"||ss==="noframes")&&Ep(/<\/no(script|embed|frames)/i,vn.innerHTML)?(xu(vn),!0):(At&&vn.nodeType===HF.text&&(si=vn.textContent,pX([xe,U,Be],Zc=>{si=$F(si,Zc," ")}),vn.textContent!==si&&(jF(s.removed,{element:vn.cloneNode()}),vn.textContent=si)),uh("afterSanitizeElements",vn,null),!1)},Ud=function(vn,si,ss){if(Pa&&(si==="id"||si==="name")&&(ss in u||ss in Jc))return!1;if(!(xt&&!Gt[si]&&Ep(Ne,si))){if(!(ln&&Ep(je,si))){if(!Pe[si]||Gt[si]){if(!(Gd(vn)&&(kt.tagNameCheck instanceof RegExp&&Ep(kt.tagNameCheck,vn)||kt.tagNameCheck instanceof Function&&kt.tagNameCheck(vn))&&(kt.attributeNameCheck instanceof RegExp&&Ep(kt.attributeNameCheck,si)||kt.attributeNameCheck instanceof Function&&kt.attributeNameCheck(si))||si==="is"&&kt.allowCustomizedBuiltInElements&&(kt.tagNameCheck instanceof RegExp&&Ep(kt.tagNameCheck,ss)||kt.tagNameCheck instanceof Function&&kt.tagNameCheck(ss))))return!1}else if(!fn[si]){if(!Ep(ke,$F(ss,Se,""))){if(!((si==="src"||si==="xlink:href"||si==="href")&&vn!=="script"&&XNt(ss,"data:")===0&&wt[vn])){if(!(Pt&&!Ep(Ie,$F(ss,Se,"")))){if(ss)return!1}}}}}}return!0},Gd=function(vn){return vn!=="annotation-xml"&&dRe(vn,Ce)},sd=function(vn){uh("beforeSanitizeAttributes",vn,null);const{attributes:si}=vn;if(!si)return;const ss={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Pe};let Zc=si.length;for(;Zc--;){const bl=si[Zc],{name:ku,namespaceURI:Wi,value:hs}=bl,Ma=Po(ku);let ui=ku==="value"?hs:QNt(hs);if(ss.attrName=Ma,ss.attrValue=ui,ss.keepAttr=!0,ss.forceKeepAttr=void 0,uh("uponSanitizeAttribute",vn,ss),ui=ss.attrValue,Tt&&Ep(/((--!?|])>)|<\/(style|title)/i,ui)){jc(ku,vn);continue}if(ss.forceKeepAttr||(jc(ku,vn),!ss.keepAttr))continue;if(!Ze&&Ep(/\/>/i,ui)){jc(ku,vn);continue}At&&pX([xe,U,Be],Ot=>{ui=$F(ui,Ot," ")});const su=Po(vn.nodeName);if(Ud(su,Ma,ui)){if(ta&&(Ma==="id"||Ma==="name")&&(jc(ku,vn),ui=$o+ui),ge&&typeof F=="object"&&typeof F.getAttributeType=="function"&&!Wi)switch(F.getAttributeType(su,Ma)){case"TrustedHTML":{ui=ge.createHTML(ui);break}case"TrustedScriptURL":{ui=ge.createScriptURL(ui);break}}try{Wi?vn.setAttributeNS(Wi,ku,ui):vn.setAttribute(ku,ui),id(vn)?xu(vn):fRe(s.removed)}catch{}}}uh("afterSanitizeAttributes",vn,null)},R0=function ls(vn){let si=null;const ss=jg(vn);for(uh("beforeSanitizeShadowDOM",vn,null);si=ss.nextNode();)uh("uponSanitizeShadowNode",si,null),!Vd(si)&&(si.content instanceof v&&ls(si.content),sd(si));uh("afterSanitizeShadowDOM",vn,null)};return s.sanitize=function(ls){let vn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},si=null,ss=null,Zc=null,bl=null;if(No=!ls,No&&(ls=""),typeof ls!="string"&&!Hd(ls))if(typeof ls.toString=="function"){if(ls=ls.toString(),typeof ls!="string")throw zF("dirty is not a string, aborting")}else throw zF("toString is not a function");if(!s.isSupported)return ls;if(ht||du(vn),s.removed=[],typeof ls=="string"&&(Nn=!1),Nn){if(ls.nodeName){const hs=Po(ls.nodeName);if(!Ke[hs]||Et[hs])throw zF("root node is forbidden and cannot be sanitized in-place")}}else if(ls instanceof y)si=o5(""),ss=si.ownerDocument.importNode(ls,!0),ss.nodeType===HF.element&&ss.nodeName==="BODY"||ss.nodeName==="HTML"?si=ss:si.appendChild(ss);else{if(!yt&&!At&&!On&&ls.indexOf("<")===-1)return ge&&yi?ge.createHTML(ls):ls;if(si=o5(ls),!si)return yt?null:yi?ae:""}si&&zr&&xu(si.firstChild);const ku=jg(Nn?ls:si);for(;Zc=ku.nextNode();)Vd(Zc)||(Zc.content instanceof v&&R0(Zc.content),sd(Zc));if(Nn)return ls;if(yt){if(Fi)for(bl=de.call(si.ownerDocument);si.firstChild;)bl.appendChild(si.firstChild);else bl=si;return(Pe.shadowroot||Pe.shadowrootmode)&&(bl=pe.call(d,bl,!0)),bl}let Wi=On?si.outerHTML:si.innerHTML;return On&&Ke["!doctype"]&&si.ownerDocument&&si.ownerDocument.doctype&&si.ownerDocument.doctype.name&&Ep(wRe,si.ownerDocument.doctype.name)&&(Wi=" +`+Wi),At&&pX([xe,U,Be],hs=>{Wi=$F(Wi,hs," ")}),ge&&yi?ge.createHTML(Wi):Wi},s.setConfig=function(){let ls=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};du(ls),ht=!0},s.clearConfig=function(){yc=null,ht=!1},s.isValidAttribute=function(ls,vn,si){yc||du({});const ss=Po(ls),Zc=Po(vn);return Ud(ss,Zc,si)},s.addHook=function(ls,vn){typeof vn=="function"&&(K[ls]=K[ls]||[],jF(K[ls],vn))},s.removeHook=function(ls){if(K[ls])return fRe(K[ls])},s.removeHooks=function(ls){K[ls]&&(K[ls]=[])},s.removeAllHooks=function(){K={}},s}var hD=xRe();const fD=//gi,fPt=i=>i?TRe(i).replace(/\\n/g,"#br#").split("#br#"):[""],dPt=(()=>{let i=!1;return()=>{i||(gPt(),i=!0)}})();function gPt(){const i="data-temp-href-target";hD.addHook("beforeSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute("target")&&s.setAttribute(i,s.getAttribute("target")||"")}),hD.addHook("afterSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute(i)&&(s.setAttribute("target",s.getAttribute(i)||""),s.removeAttribute(i),s.getAttribute("target")==="_blank"&&s.setAttribute("rel","noopener"))})}const kRe=i=>(dPt(),hD.sanitize(i)),ERe=(i,s)=>{var u;if(((u=s.flowchart)==null?void 0:u.htmlLabels)!==!1){const d=s.securityLevel;d==="antiscript"||d==="strict"?i=kRe(i):d!=="loose"&&(i=TRe(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=vPt(i))}return i},Wf=(i,s)=>i&&(s.dompurifyConfig?i=hD.sanitize(ERe(i,s),s.dompurifyConfig).toString():i=hD.sanitize(ERe(i,s),{FORBID_TAGS:["style"]}).toString(),i),pPt=(i,s)=>typeof i=="string"?Wf(i,s):i.flat().map(u=>Wf(u,s)),bPt=i=>fD.test(i),mPt=i=>i.split(fD),vPt=i=>i.replace(/#br#/g,"
"),TRe=i=>i.replace(fD,"#br#"),wPt=i=>{let s="";return i&&(s=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,s=s.replaceAll(/\(/g,"\\("),s=s.replaceAll(/\)/g,"\\)")),s},l1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),yPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.max(...s)},xPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.min(...s)},VF=function(i){const s=i.split(/(,)/),u=[];for(let d=0;d0&&d+1Math.max(0,i.split(s).length-1),kPt=(i,s)=>{const u=h2e(i,"~"),d=h2e(s,"~");return u===1&&d===1},EPt=i=>{const s=h2e(i,"~");let u=!1;if(s<=1)return i;s%2!==0&&i.startsWith("~")&&(i=i.substring(1),u=!0);const d=[...i];let p=d.indexOf("~"),v=d.lastIndexOf("~");for(;p!==-1&&v!==-1&&p!==v;)d[p]="<",d[v]=">",p=d.indexOf("~"),v=d.lastIndexOf("~");return u&&d.unshift("~"),d.join("")},CRe=()=>window.MathMLElement!==void 0,f2e=/\$\$(.*)\$\$/g,Iv=i=>{var s;return(((s=i.match(f2e))==null?void 0:s.length)??0)>0},UF=async(i,s)=>{i=await CC(i,s);const u=document.createElement("div");u.innerHTML=i,u.id="katex-temp",u.style.visibility="hidden",u.style.position="absolute",u.style.top="0";const d=document.querySelector("body");d==null||d.insertAdjacentElement("beforeend",u);const p={width:u.clientWidth,height:u.clientHeight};return u.remove(),p},CC=async(i,s)=>{if(!Iv(i))return i;if(!CRe()&&!s.legacyMathML)return i.replace(f2e,"MathML is unsupported in this environment.");const{default:u}=await Promise.resolve().then(()=>IVt);return i.split(fD).map(d=>Iv(d)?` +
+ ${d} +
+ `:`
${d}
`).join("").replace(f2e,(d,p)=>u.renderToString(p,{throwOnError:!0,displayMode:!0,output:CRe()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},ci={getRows:fPt,sanitizeText:Wf,sanitizeTextOrArray:pPt,hasBreaks:bPt,splitBreaks:mPt,lineBreakRegex:fD,removeScript:kRe,getUrl:wPt,evaluate:l1,getMax:yPt,getMin:xPt},vX={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const s=i/255;return i>.03928?Math.pow((s+.055)/1.055,2.4):s/12.92},hue2rgb:(i,s,u)=>(u<0&&(u+=1),u>1&&(u-=1),u<1/6?i+(s-i)*6*u:u<1/2?s:u<2/3?i+(s-i)*(2/3-u)*6:i),hsl2rgb:({h:i,s,l:u},d)=>{if(!s)return u*2.55;i/=360,s/=100,u/=100;const p=u<.5?u*(1+s):u+s-u*s,v=2*u-p;switch(d){case"r":return vX.hue2rgb(v,p,i+1/3)*255;case"g":return vX.hue2rgb(v,p,i)*255;case"b":return vX.hue2rgb(v,p,i-1/3)*255}},rgb2hsl:({r:i,g:s,b:u},d)=>{i/=255,s/=255,u/=255;const p=Math.max(i,s,u),v=Math.min(i,s,u),b=(p+v)/2;if(d==="l")return b*100;if(p===v)return 0;const y=p-v,T=b>.5?y/(2-p-v):y/(p+v);if(d==="s")return T*100;switch(p){case i:return((s-u)/y+(ss>u?Math.min(s,Math.max(u,i)):Math.min(u,Math.max(s,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const s=Math.round(i).toString(16);return s.length>1?s:`0${s}`}}},v9={};for(let i=0;i<=255;i++)v9[i]=Wa.unit.dec2hex(i);const Ig={ALL:0,RGB:1,HSL:2};class TPt{constructor(){this.type=Ig.ALL}get(){return this.type}set(s){if(this.type&&this.type!==s)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=s}reset(){this.type=Ig.ALL}is(s){return this.type===s}}const CPt=TPt;class SPt{constructor(s,u){this.color=u,this.changed=!1,this.data=s,this.type=new CPt}set(s,u){return this.color=u,this.changed=!1,this.data=s,this.type.type=Ig.ALL,this}_ensureHSL(){const s=this.data,{h:u,s:d,l:p}=s;u===void 0&&(s.h=Wa.channel.rgb2hsl(s,"h")),d===void 0&&(s.s=Wa.channel.rgb2hsl(s,"s")),p===void 0&&(s.l=Wa.channel.rgb2hsl(s,"l"))}_ensureRGB(){const s=this.data,{r:u,g:d,b:p}=s;u===void 0&&(s.r=Wa.channel.hsl2rgb(s,"r")),d===void 0&&(s.g=Wa.channel.hsl2rgb(s,"g")),p===void 0&&(s.b=Wa.channel.hsl2rgb(s,"b"))}get r(){const s=this.data,u=s.r;return!this.type.is(Ig.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"r"))}get g(){const s=this.data,u=s.g;return!this.type.is(Ig.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"g"))}get b(){const s=this.data,u=s.b;return!this.type.is(Ig.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"b"))}get h(){const s=this.data,u=s.h;return!this.type.is(Ig.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"h"))}get s(){const s=this.data,u=s.s;return!this.type.is(Ig.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"s"))}get l(){const s=this.data,u=s.l;return!this.type.is(Ig.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"l"))}get a(){return this.data.a}set r(s){this.type.set(Ig.RGB),this.changed=!0,this.data.r=s}set g(s){this.type.set(Ig.RGB),this.changed=!0,this.data.g=s}set b(s){this.type.set(Ig.RGB),this.changed=!0,this.data.b=s}set h(s){this.type.set(Ig.HSL),this.changed=!0,this.data.h=s}set s(s){this.type.set(Ig.HSL),this.changed=!0,this.data.s=s}set l(s){this.type.set(Ig.HSL),this.changed=!0,this.data.l=s}set a(s){this.changed=!0,this.data.a=s}}const _Pt=SPt,wX=new _Pt({r:0,g:0,b:0,a:0},"transparent"),SRe={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const s=i.match(SRe.re);if(!s)return;const u=s[1],d=parseInt(u,16),p=u.length,v=p%4===0,b=p>4,y=b?1:17,T=b?8:4,_=v?0:-1,A=b?255:15;return wX.set({r:(d>>T*(_+3)&A)*y,g:(d>>T*(_+2)&A)*y,b:(d>>T*(_+1)&A)*y,a:v?(d&A)*y/255:1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`#${v9[Math.round(s)]}${v9[Math.round(u)]}${v9[Math.round(d)]}${v9[Math.round(p*255)]}`:`#${v9[Math.round(s)]}${v9[Math.round(u)]}${v9[Math.round(d)]}`}},GF=SRe,yX={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:i=>{const s=i.match(yX.hueRe);if(s){const[,u,d]=s;switch(d){case"grad":return Wa.channel.clamp.h(parseFloat(u)*.9);case"rad":return Wa.channel.clamp.h(parseFloat(u)*180/Math.PI);case"turn":return Wa.channel.clamp.h(parseFloat(u)*360)}}return Wa.channel.clamp.h(parseFloat(i))},parse:i=>{const s=i.charCodeAt(0);if(s!==104&&s!==72)return;const u=i.match(yX.re);if(!u)return;const[,d,p,v,b,y]=u;return wX.set({h:yX._hue2deg(d),s:Wa.channel.clamp.s(parseFloat(p)),l:Wa.channel.clamp.l(parseFloat(v)),a:b?Wa.channel.clamp.a(y?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:s,s:u,l:d,a:p}=i;return p<1?`hsla(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%, ${p})`:`hsl(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%)`}},xX=yX,kX={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:i=>{i=i.toLowerCase();const s=kX.colors[i];if(s)return GF.parse(s)},stringify:i=>{const s=GF.stringify(i);for(const u in kX.colors)if(kX.colors[u]===s)return u}},_Re=kX,ARe={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:i=>{const s=i.charCodeAt(0);if(s!==114&&s!==82)return;const u=i.match(ARe.re);if(!u)return;const[,d,p,v,b,y,T,_,A]=u;return wX.set({r:Wa.channel.clamp.r(p?parseFloat(d)*2.55:parseFloat(d)),g:Wa.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:Wa.channel.clamp.b(T?parseFloat(y)*2.55:parseFloat(y)),a:_?Wa.channel.clamp.a(A?parseFloat(_)/100:parseFloat(_)):1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`rgba(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)}, ${Wa.lang.round(p)})`:`rgb(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)})`}},EX=ARe,N3={format:{keyword:_Re,hex:GF,rgb:EX,rgba:EX,hsl:xX,hsla:xX},parse:i=>{if(typeof i!="string")return i;const s=GF.parse(i)||EX.parse(i)||xX.parse(i)||_Re.parse(i);if(s)return s;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(Ig.HSL)||i.data.r===void 0?xX.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?EX.stringify(i):GF.stringify(i)},LRe=(i,s)=>{const u=N3.parse(i);for(const d in s)u[d]=Wa.channel.clamp[d](s[d]);return N3.stringify(u)},SC=(i,s,u=0,d=1)=>{if(typeof i!="number")return LRe(i,{a:s});const p=wX.set({r:Wa.channel.clamp.r(i),g:Wa.channel.clamp.g(s),b:Wa.channel.clamp.b(u),a:Wa.channel.clamp.a(d)});return N3.stringify(p)},MRe=(i,s)=>Wa.lang.round(N3.parse(i)[s]),APt=i=>{const{r:s,g:u,b:d}=N3.parse(i),p=.2126*Wa.channel.toLinear(s)+.7152*Wa.channel.toLinear(u)+.0722*Wa.channel.toLinear(d);return Wa.lang.round(p)},LPt=i=>APt(i)>=.5,_C=i=>!LPt(i),DRe=(i,s,u)=>{const d=N3.parse(i),p=d[s],v=Wa.channel.clamp[s](p+u);return p!==v&&(d[s]=v),N3.stringify(d)},Us=(i,s)=>DRe(i,"l",s),da=(i,s)=>DRe(i,"l",-s),In=(i,s)=>{const u=N3.parse(i),d={};for(const p in s)s[p]&&(d[p]=u[p]+s[p]);return LRe(i,d)},MPt=(i,s,u=50)=>{const{r:d,g:p,b:v,a:b}=N3.parse(i),{r:y,g:T,b:_,a:A}=N3.parse(s),P=u/100,R=P*2-1,F=b-A,W=((R*F===-1?R:(R+F)/(1+R*F))+1)/2,ee=1-W,ie=d*W+y*ee,oe=p*W+T*ee,be=v*W+_*ee,ge=b*P+A*(1-P);return SC(ie,oe,be,ge)},Vi=(i,s=100)=>{const u=N3.parse(i);return u.r=255-u.r,u.g=255-u.g,u.b=255-u.b,MPt(u,i,s)},Tp=(i,s)=>s?In(i,{s:-40,l:10}):In(i,{s:-40,l:-10}),TX="#ffffff",CX="#f2f2f2";let DPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var u,d,p,v,b,y,T,_,A,P,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||In(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||In(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Tp(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Tp(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Vi(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Vi(this.tertiaryColor),this.lineColor=this.lineColor||Vi(this.background),this.arrowheadColor=this.arrowheadColor||Vi(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?da(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||da(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Vi(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Us(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this.darkMode)for(let F=0;F{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const IPt=i=>{const s=new DPt;return s.calculate(i),s};let OPt=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Us(this.primaryColor,16),this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Vi(this.background),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Us(Vi("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=SC(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=da("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=da(this.sectionBkgColor,10),this.taskBorderColor=SC(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=SC(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Us(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Us(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Us(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330});for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const NPt=i=>{const s=new OPt;return s.calculate(i),s};let PPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=In(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=SC(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||da(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||da(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const d2e=i=>{const s=new PPt;return s.calculate(i),s};let BPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Us("#cde498",10),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.primaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.actorBorder=da(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||da(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||da(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const FPt=i=>{const s=new BPt;return s.calculate(i),s};class RPt{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Us(this.contrast,55),this.background="#ffffff",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Tp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Tp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Tp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Us(this.contrast,55),this.border2=this.contrast,this.actorBorder=Us(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}}const E7={base:{getThemeVariables:IPt},dark:{getThemeVariables:NPt},default:{getThemeVariables:d2e},forest:{getThemeVariables:FPt},neutral:{getThemeVariables:i=>{const s=new RPt;return s.calculate(i),s}}},T7={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},IRe={...T7,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:E7.default.getThemeVariables(),sequence:{...T7.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...T7.gantt,tickInterval:void 0,useWidth:void 0},c4:{...T7.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...T7.pie,useWidth:984},xyChart:{...T7.xyChart,useWidth:void 0},requirement:{...T7.requirement,useWidth:void 0},gitGraph:{...T7.gitGraph,useMaxWidth:!1},sankey:{...T7.sankey,useMaxWidth:!1}},ORe=(i,s="")=>Object.keys(i).reduce((u,d)=>Array.isArray(i[d])?u:typeof i[d]=="object"&&i[d]!==null?[...u,s+d,...ORe(i[d],"")]:[...u,s+d],[]),jPt=new Set(ORe(IRe,"")),ah=IRe,SX=i=>{if(Xe.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(s=>SX(s));return}for(const s of Object.keys(i)){if(Xe.debug("Checking key",s),s.startsWith("__")||s.includes("proto")||s.includes("constr")||!jPt.has(s)||i[s]==null){Xe.debug("sanitize deleting key: ",s),delete i[s];continue}if(typeof i[s]=="object"){Xe.debug("sanitizing object",s),SX(i[s]);continue}const u=["themeCSS","fontFamily","altFontFamily"];for(const d of u)s.includes(d)&&(Xe.debug("sanitizing css option",s),i[s]=$Pt(i[s]))}if(i.themeVariables)for(const s of Object.keys(i.themeVariables)){const u=i.themeVariables[s];u!=null&&u.match&&!u.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[s]="")}Xe.debug("After sanitization",i)}},$Pt=i=>{let s=0,u=0;for(const d of i){if(s{for(const{id:s,detector:u,loader:d}of i)FRe(s,u,d)},FRe=(i,s,u)=>{dD[i]?Xe.error(`Detector with key ${i} already exists`):dD[i]={detector:s,loader:u},Xe.debug(`Detector with key ${i} added${u?" with loader":""}`)},qPt=i=>dD[i].loader,g2e=(i,s,{depth:u=2,clobber:d=!1}={})=>{const p={depth:u,clobber:d};return Array.isArray(s)&&!Array.isArray(i)?(s.forEach(v=>g2e(i,v,p)),i):Array.isArray(s)&&Array.isArray(i)?(s.forEach(v=>{i.includes(v)||i.push(v)}),i):i===void 0||u<=0?i!=null&&typeof i=="object"&&typeof s=="object"?Object.assign(i,s):s:(s!==void 0&&typeof i=="object"&&typeof s=="object"&&Object.keys(s).forEach(v=>{typeof s[v]=="object"&&(i[v]===void 0||typeof i[v]=="object")?(i[v]===void 0&&(i[v]=Array.isArray(s[v])?[]:{}),i[v]=g2e(i[v],s[v],{depth:u-1,clobber:d})):(d||typeof i[v]!="object"&&typeof s[v]!="object")&&(i[v]=s[v])}),i)},td=g2e;var HPt=typeof global=="object"&&global&&global.Object===Object&&global;const RRe=HPt;var VPt=typeof self=="object"&&self&&self.Object===Object&&self,UPt=RRe||VPt||Function("return this")();const P3=UPt;var GPt=P3.Symbol;const Ov=GPt;var jRe=Object.prototype,KPt=jRe.hasOwnProperty,WPt=jRe.toString,WF=Ov?Ov.toStringTag:void 0;function YPt(i){var s=KPt.call(i,WF),u=i[WF];try{i[WF]=void 0;var d=!0}catch{}var p=WPt.call(i);return d&&(s?i[WF]=u:delete i[WF]),p}var XPt=Object.prototype,QPt=XPt.toString;function JPt(i){return QPt.call(i)}var ZPt="[object Null]",eBt="[object Undefined]",$Re=Ov?Ov.toStringTag:void 0;function AC(i){return i==null?i===void 0?eBt:ZPt:$Re&&$Re in Object(i)?YPt(i):JPt(i)}function am(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}var tBt="[object AsyncFunction]",nBt="[object Function]",rBt="[object GeneratorFunction]",iBt="[object Proxy]";function gD(i){if(!am(i))return!1;var s=AC(i);return s==nBt||s==rBt||s==tBt||s==iBt}var sBt=P3["__core-js_shared__"];const p2e=sBt;var zRe=function(){var i=/[^.]+$/.exec(p2e&&p2e.keys&&p2e.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function aBt(i){return!!zRe&&zRe in i}var oBt=Function.prototype,cBt=oBt.toString;function LC(i){if(i!=null){try{return cBt.call(i)}catch{}try{return i+""}catch{}}return""}var uBt=/[\\^$.*+?()[\]{}|]/g,lBt=/^\[object .+?Constructor\]$/,hBt=Function.prototype,fBt=Object.prototype,dBt=hBt.toString,gBt=fBt.hasOwnProperty,pBt=RegExp("^"+dBt.call(gBt).replace(uBt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function bBt(i){if(!am(i)||aBt(i))return!1;var s=gD(i)?pBt:lBt;return s.test(LC(i))}function mBt(i,s){return i==null?void 0:i[s]}function MC(i,s){var u=mBt(i,s);return bBt(u)?u:void 0}var vBt=MC(Object,"create");const YF=vBt;function wBt(){this.__data__=YF?YF(null):{},this.size=0}function yBt(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}var xBt="__lodash_hash_undefined__",kBt=Object.prototype,EBt=kBt.hasOwnProperty;function TBt(i){var s=this.__data__;if(YF){var u=s[i];return u===xBt?void 0:u}return EBt.call(s,i)?s[i]:void 0}var CBt=Object.prototype,SBt=CBt.hasOwnProperty;function _Bt(i){var s=this.__data__;return YF?s[i]!==void 0:SBt.call(s,i)}var ABt="__lodash_hash_undefined__";function LBt(i,s){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=YF&&s===void 0?ABt:s,this}function DC(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1}function BBt(i,s){var u=this.__data__,d=AX(u,i);return d<0?(++this.size,u.push([i,s])):u[d][1]=s,this}function C7(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1&&i%1==0&&i<=hFt}function w9(i){return i!=null&&y2e(i.length)&&!gD(i)}function eje(i){return H4(i)&&w9(i)}function fFt(){return!1}var tje=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nje=tje&&typeof module=="object"&&module&&!module.nodeType&&module,dFt=nje&&nje.exports===tje,rje=dFt?P3.Buffer:void 0,gFt=rje?rje.isBuffer:void 0,pFt=gFt||fFt;const vD=pFt;var bFt="[object Object]",mFt=Function.prototype,vFt=Object.prototype,ije=mFt.toString,wFt=vFt.hasOwnProperty,yFt=ije.call(Object);function sje(i){if(!H4(i)||AC(i)!=bFt)return!1;var s=w2e(i);if(s===null)return!0;var u=wFt.call(s,"constructor")&&s.constructor;return typeof u=="function"&&u instanceof u&&ije.call(u)==yFt}var xFt="[object Arguments]",kFt="[object Array]",EFt="[object Boolean]",TFt="[object Date]",CFt="[object Error]",SFt="[object Function]",_Ft="[object Map]",AFt="[object Number]",LFt="[object Object]",MFt="[object RegExp]",DFt="[object Set]",IFt="[object String]",OFt="[object WeakMap]",NFt="[object ArrayBuffer]",PFt="[object DataView]",BFt="[object Float32Array]",FFt="[object Float64Array]",RFt="[object Int8Array]",jFt="[object Int16Array]",$Ft="[object Int32Array]",zFt="[object Uint8Array]",qFt="[object Uint8ClampedArray]",HFt="[object Uint16Array]",VFt="[object Uint32Array]",oh={};oh[BFt]=oh[FFt]=oh[RFt]=oh[jFt]=oh[$Ft]=oh[zFt]=oh[qFt]=oh[HFt]=oh[VFt]=!0,oh[xFt]=oh[kFt]=oh[NFt]=oh[EFt]=oh[PFt]=oh[TFt]=oh[CFt]=oh[SFt]=oh[_Ft]=oh[AFt]=oh[LFt]=oh[MFt]=oh[DFt]=oh[IFt]=oh[OFt]=!1;function UFt(i){return H4(i)&&y2e(i.length)&&!!oh[AC(i)]}function NX(i){return function(s){return i(s)}}var aje=typeof exports=="object"&&exports&&!exports.nodeType&&exports,QF=aje&&typeof module=="object"&&module&&!module.nodeType&&module,GFt=QF&&QF.exports===aje,x2e=GFt&&RRe.process,KFt=function(){try{var i=QF&&QF.require&&QF.require("util").types;return i||x2e&&x2e.binding&&x2e.binding("util")}catch{}}();const wD=KFt;var oje=wD&&wD.isTypedArray,WFt=oje?NX(oje):UFt;const PX=WFt;function k2e(i,s){if(!(s==="constructor"&&typeof i[s]=="function")&&s!="__proto__")return i[s]}var YFt=Object.prototype,XFt=YFt.hasOwnProperty;function BX(i,s,u){var d=i[s];(!(XFt.call(i,s)&&pD(d,u))||u===void 0&&!(s in i))&&DX(i,s,u)}function JF(i,s,u,d){var p=!u;u||(u={});for(var v=-1,b=s.length;++v-1&&i%1==0&&i0){if(++s>=hRt)return arguments[0]}else s=0;return i.apply(void 0,arguments)}}var pRt=gRt(lRt);const fje=pRt;function RX(i,s){return fje(hje(i,s,OC),i+"")}function ZF(i,s,u){if(!am(u))return!1;var d=typeof s;return(d=="number"?w9(u)&&FX(s,u.length):d=="string"&&s in u)?pD(u[s],i):!1}function bRt(i){return RX(function(s,u){var d=-1,p=u.length,v=p>1?u[p-1]:void 0,b=p>2?u[2]:void 0;for(v=i.length>3&&typeof v=="function"?(p--,v):void 0,b&&ZF(u[0],u[1],b)&&(v=p<3?void 0:v,p=1),s=Object(s);++dy.args);SX(b),d=td(d,[...b])}else d=u.args;if(!d)return;let p=_X(i,s);const v="config";return d[v]!==void 0&&(p==="flowchart-v2"&&(p="flowchart"),d[p]=d[v],delete d[v]),d},gje=function(i,s=null){try{const u=new RegExp(`[%]{2}(?![{]${wRt.source})(?=[}][%]{2}).* +`,"ig");i=i.trim().replace(u,"").replace(/'/gm,'"'),Xe.debug(`Detecting diagram directive${s!==null?" type:"+s:""} based on the text:${i}`);let d;const p=[];for(;(d=KF.exec(i))!==null;)if(d.index===KF.lastIndex&&KF.lastIndex++,d&&!s||s&&d[1]&&d[1].match(s)||s&&d[2]&&d[2].match(s)){const v=d[1]?d[1]:d[2],b=d[3]?d[3].trim():d[4]?JSON.parse(d[4].trim()):null;p.push({type:v,args:b})}return p.length===0?{type:i,args:null}:p.length===1?p[0]:p}catch(u){return Xe.error(`ERROR: ${u.message} - Unable to parse directive type: '${s}' based on the text: '${i}'`),{type:void 0,args:null}}},xRt=function(i){return i.replace(KF,"")},kRt=function(i,s){for(const[u,d]of s.entries())if(d.match(i))return u;return-1};function Nv(i,s){if(!i)return s;const u=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return vRt[u]??s}function ERt(i,s){const u=i.trim();if(u)return s.securityLevel!=="loose"?p9.sanitizeUrl(u):u}const TRt=(i,...s)=>{const u=i.split("."),d=u.length-1,p=u[d];let v=window;for(let b=0;b{u+=pje(p,s),s=p});const d=u/2;return E2e(i,d)}function SRt(i){return i.length===1?i[0]:CRt(i)}const bje=(i,s=2)=>{const u=Math.pow(10,s);return Math.round(i*u)/u},E2e=(i,s)=>{let u,d=s;for(const p of i){if(u){const v=pje(p,u);if(v=1)return{x:p.x,y:p.y};if(b>0&&b<1)return{x:bje((1-b)*u.x+b*p.x,5),y:bje((1-b)*u.y+b*p.y,5)}}}u=p}throw new Error("Could not find a suitable point for the given distance")},_Rt=(i,s,u)=>{Xe.info(`our points ${JSON.stringify(s)}`),s[0]!==u&&(s=s.reverse());const p=E2e(s,25),v=i?10:5,b=Math.atan2(s[0].y-p.y,s[0].x-p.x),y={x:0,y:0};return y.x=Math.sin(b)*v+(s[0].x+p.x)/2,y.y=-Math.cos(b)*v+(s[0].y+p.y)/2,y};function ARt(i,s,u){const d=structuredClone(u);Xe.info("our points",d),s!=="start_left"&&s!=="start_right"&&d.reverse();const p=25+i,v=E2e(d,p),b=10+i*.5,y=Math.atan2(d[0].y-v.y,d[0].x-v.x),T={x:0,y:0};return s==="start_left"?(T.x=Math.sin(y+Math.PI)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y+Math.PI)*b+(d[0].y+v.y)/2):s==="end_right"?(T.x=Math.sin(y-Math.PI)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y-Math.PI)*b+(d[0].y+v.y)/2-5):s==="end_left"?(T.x=Math.sin(y)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2-5):(T.x=Math.sin(y)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2),T}function om(i){let s="",u="";for(const d of i)d!==void 0&&(d.startsWith("color:")||d.startsWith("text-align:")?u=u+d+";":s=s+d+";");return{style:s,labelStyle:u}}let mje=0;const vje=()=>(mje++,"id-"+Math.random().toString(36).substr(2,12)+"-"+mje);function LRt(i){let s="";const u="0123456789abcdef",d=u.length;for(let p=0;pLRt(i.length),MRt=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},DRt=function(i,s){const u=s.text.replace(ci.lineBreakRegex," "),[,d]=NC(s.fontSize),p=i.append("text");p.attr("x",s.x),p.attr("y",s.y),p.style("text-anchor",s.anchor),p.style("font-family",s.fontFamily),p.style("font-size",d),p.style("font-weight",s.fontWeight),p.attr("fill",s.fill),s.class!==void 0&&p.attr("class",s.class);const v=p.append("tspan");return v.attr("x",s.x+s.textMargin*2),v.attr("fill",s.fill),v.text(u),p},yje=bD((i,s,u)=>{if(!i||(u=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},u),ci.lineBreakRegex.test(i)))return i;const d=i.split(" "),p=[];let v="";return d.forEach((b,y)=>{const T=V4(`${b} `,u),_=V4(v,u);if(T>s){const{hyphenatedStrings:R,remainingWord:F}=IRt(b,s,"-",u);p.push(v,...R),v=F}else _+T>=s?(p.push(v),v=b):v=[v,b].filter(Boolean).join(" ");y+1===d.length&&p.push(v)}),p.filter(b=>b!=="").join(u.joinWith)},(i,s,u)=>`${i}${s}${u.fontSize}${u.fontWeight}${u.fontFamily}${u.joinWith}`),IRt=bD((i,s,u="-",d)=>{d=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},d);const p=[...i],v=[];let b="";return p.forEach((y,T)=>{const _=`${b}${y}`;if(V4(_,d)>=s){const P=T+1,R=p.length===P,F=`${_}${u}`;v.push(R?_:F),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,s,u="-",d)=>`${i}${s}${u}${d.fontSize}${d.fontWeight}${d.fontFamily}`);function T2e(i,s){return C2e(i,s).height}function V4(i,s){return C2e(i,s).width}const C2e=bD((i,s)=>{const{fontSize:u=12,fontFamily:d="Arial",fontWeight:p=400}=s;if(!i)return{width:0,height:0};const[,v]=NC(u),b=["sans-serif",d],y=i.split(ci.lineBreakRegex),T=[],_=Ir("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const A=_.append("svg");for(const R of b){let F=0;const j={width:0,height:0,lineHeight:0};for(const W of y){const ee=MRt();ee.text=W||dje;const ie=DRt(A,ee).style("font-size",v).style("font-weight",p).style("font-family",R),oe=(ie._groups||ie)[0][0].getBBox();if(oe.width===0&&oe.height===0)throw new Error("svg element not in render tree");j.width=Math.round(Math.max(j.width,oe.width)),F=Math.round(oe.height),j.height+=F,j.lineHeight=Math.round(Math.max(j.lineHeight,F))}T.push(j)}A.remove();const P=isNaN(T[1].height)||isNaN(T[1].width)||isNaN(T[1].lineHeight)||T[0].height>T[1].height&&T[0].width>T[1].width&&T[0].lineHeight>T[1].lineHeight?0:1;return T[P]},(i,s)=>`${i}${s.fontSize}${s.fontWeight}${s.fontFamily}`);class ORt{constructor(s=!1,u){this.count=0,this.count=u?u.length:0,this.next=s?()=>this.count++:()=>Date.now()}}let $X;const NRt=function(i){return $X=$X||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),$X.innerHTML=i,unescape($X.textContent)};function xje(i){return"str"in i}const PRt=(i,s,u,d)=>{var v;if(!d)return;const p=(v=i.node())==null?void 0:v.getBBox();p&&i.append("text").text(d).attr("x",p.x+p.width/2).attr("y",-u).attr("class",s)},NC=i=>{if(typeof i=="number")return[i,i+"px"];const s=parseInt(i??"",10);return Number.isNaN(s)?[void 0,void 0]:i===String(s)?[s,i+"px"]:[s,i]};function eR(i,s){return jX({},i,s)}const So={assignWithDepth:td,wrapLabel:yje,calculateTextHeight:T2e,calculateTextWidth:V4,calculateTextDimensions:C2e,cleanAndMerge:eR,detectInit:yRt,detectDirective:gje,isSubstringInArray:kRt,interpolateToCurve:Nv,calcLabelPosition:SRt,calcCardinalityPosition:_Rt,calcTerminalLabelPosition:ARt,formatUrl:ERt,getStylesFromArray:om,generateId:vje,random:wje,runFunc:TRt,entityDecode:NRt,insertTitle:PRt,parseFontSize:NC,InitIDGenerator:ORt},BRt=function(i){let s=i;return s=s.replace(/style.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/classDef.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/#\w+;/g,function(u){const d=u.substring(1,u.length-1);return/^\+?\d+$/.test(d)?"fl°°"+d+"¶ß":"fl°"+d+"¶ß"}),s},tR=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var kje="comm",Eje="rule",Tje="decl",FRt="@import",RRt="@keyframes",jRt="@layer",Cje=Math.abs,S2e=String.fromCharCode;function Sje(i){return i.trim()}function zX(i,s,u){return i.replace(s,u)}function $Rt(i,s,u){return i.indexOf(s,u)}function nR(i,s){return i.charCodeAt(s)|0}function rR(i,s,u){return i.slice(s,u)}function _7(i){return i.length}function zRt(i){return i.length}function qX(i,s){return s.push(i),i}var HX=1,xD=1,_je=0,Pv=0,D0=0,kD="";function _2e(i,s,u,d,p,v,b,y){return{value:i,root:s,parent:u,type:d,props:p,children:v,line:HX,column:xD,length:b,return:"",siblings:y}}function qRt(){return D0}function HRt(){return D0=Pv>0?nR(kD,--Pv):0,xD--,D0===10&&(xD=1,HX--),D0}function F3(){return D0=Pv<_je?nR(kD,Pv++):0,xD++,D0===10&&(xD=1,HX++),D0}function PC(){return nR(kD,Pv)}function VX(){return Pv}function UX(i,s){return rR(kD,i,s)}function A2e(i){switch(i){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function VRt(i){return HX=xD=1,_je=_7(kD=i),Pv=0,[]}function URt(i){return kD="",i}function L2e(i){return Sje(UX(Pv-1,M2e(i===91?i+2:i===40?i+1:i)))}function GRt(i){for(;(D0=PC())&&D0<33;)F3();return A2e(i)>2||A2e(D0)>3?"":" "}function KRt(i,s){for(;--s&&F3()&&!(D0<48||D0>102||D0>57&&D0<65||D0>70&&D0<97););return UX(i,VX()+(s<6&&PC()==32&&F3()==32))}function M2e(i){for(;F3();)switch(D0){case i:return Pv;case 34:case 39:i!==34&&i!==39&&M2e(D0);break;case 40:i===41&&M2e(i);break;case 92:F3();break}return Pv}function WRt(i,s){for(;F3()&&i+D0!==47+10;)if(i+D0===42+42&&PC()===47)break;return"/*"+UX(s,Pv-1)+"*"+S2e(i===47?i:F3())}function YRt(i){for(;!A2e(PC());)F3();return UX(i,Pv)}function XRt(i){return URt(GX("",null,null,null,[""],i=VRt(i),0,[0],i))}function GX(i,s,u,d,p,v,b,y,T){for(var _=0,A=0,P=b,R=0,F=0,j=0,W=1,ee=1,ie=1,oe=0,be="",ge=p,ae=v,ne=d,se=be;ee;)switch(j=oe,oe=F3()){case 40:if(j!=108&&nR(se,P-1)==58){$Rt(se+=zX(L2e(oe),"&","&\f"),"&\f",Cje(_?y[_-1]:0))!=-1&&(ie=-1);break}case 34:case 39:case 91:se+=L2e(oe);break;case 9:case 10:case 13:case 32:se+=GRt(j);break;case 92:se+=KRt(VX()-1,7);continue;case 47:switch(PC()){case 42:case 47:qX(QRt(WRt(F3(),VX()),s,u,T),T);break;default:se+="/"}break;case 123*W:y[_++]=_7(se)*ie;case 125*W:case 59:case 0:switch(oe){case 0:case 125:ee=0;case 59+A:ie==-1&&(se=zX(se,/\f/g,"")),F>0&&_7(se)-P&&qX(F>32?Lje(se+";",d,u,P-1,T):Lje(zX(se," ","")+";",d,u,P-2,T),T);break;case 59:se+=";";default:if(qX(ne=Aje(se,s,u,_,A,p,y,be,ge=[],ae=[],P,v),v),oe===123)if(A===0)GX(se,s,ne,ne,ge,v,P,y,ae);else switch(R===99&&nR(se,3)===110?100:R){case 100:case 108:case 109:case 115:GX(i,ne,ne,d&&qX(Aje(i,ne,ne,0,0,p,y,be,p,ge=[],P,ae),ae),p,ae,P,y,d?ge:ae);break;default:GX(se,ne,ne,ne,[""],ae,0,y,ae)}}_=A=F=0,W=ie=1,be=se="",P=b;break;case 58:P=1+_7(se),F=j;default:if(W<1){if(oe==123)--W;else if(oe==125&&W++==0&&HRt()==125)continue}switch(se+=S2e(oe),oe*W){case 38:ie=A>0?1:(se+="\f",-1);break;case 44:y[_++]=(_7(se)-1)*ie,ie=1;break;case 64:PC()===45&&(se+=L2e(F3())),R=PC(),A=P=_7(be=se+=YRt(VX())),oe++;break;case 45:j===45&&_7(se)==2&&(W=0)}}return v}function Aje(i,s,u,d,p,v,b,y,T,_,A,P){for(var R=p-1,F=p===0?v:[""],j=zRt(F),W=0,ee=0,ie=0;W0?F[oe]+" "+be:zX(be,/&\f/g,F[oe])))&&(T[ie++]=ge);return _2e(i,s,u,p===0?Eje:y,T,_,A,P)}function QRt(i,s,u,d){return _2e(i,s,u,kje,S2e(qRt()),rR(i,2,-2),0,d)}function Lje(i,s,u,d,p){return _2e(i,s,u,Tje,rR(i,0,d),rR(i,d+1,-1),d,p)}function D2e(i,s){for(var u="",d=0;d{let u=td({},i),d={};for(const p of s)Nje(p),d=td(d,p);if(u=td(u,d),d.theme&&d.theme in E7){const p=td({},Dje),v=td(p.themeVariables||{},d.themeVariables);u.theme&&u.theme in E7&&(u.themeVariables=E7[u.theme].getThemeVariables(v))}return iR=u,Bje(iR),iR},ZRt=i=>(F2=td({},ED),F2=td(F2,i),i.theme&&E7[i.theme]&&(F2.themeVariables=E7[i.theme].getThemeVariables(i.themeVariables)),KX(F2,TD),F2),ejt=i=>{Dje=td({},i)},tjt=i=>(F2=td(F2,i),KX(F2,TD),F2),Ije=()=>td({},F2),Oje=i=>(Bje(i),td(iR,i),Uh()),Uh=()=>td({},iR),Nje=i=>{i&&(["secure",...F2.secure??[]].forEach(s=>{Object.hasOwn(i,s)&&(Xe.debug(`Denied attempt to modify a secure key ${s}`,i[s]),delete i[s])}),Object.keys(i).forEach(s=>{s.startsWith("__")&&delete i[s]}),Object.keys(i).forEach(s=>{typeof i[s]=="string"&&(i[s].includes("<")||i[s].includes(">")||i[s].includes("url(data:"))&&delete i[s],typeof i[s]=="object"&&Nje(i[s])}))},njt=i=>{SX(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),TD.push(i),KX(F2,TD)},WX=(i=F2)=>{TD=[],KX(i,TD)},rjt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Pje={},ijt=i=>{Pje[i]||(Xe.warn(rjt[i]),Pje[i]=!0)},Bje=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&ijt("LAZY_LOAD_DEPRECATED")},Fje="c4",sjt={id:Fje,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xUt);return{id:Fje,diagram:i}}},Rje="flowchart",ajt={id:Rje,detector:(i,s)=>{var u,d;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-wrapper"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Len);return{id:Rje,diagram:i}}},jje="flowchart-v2",ojt={id:jje,detector:(i,s)=>{var u,d,p;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-d3"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((p=s==null?void 0:s.flowchart)==null?void 0:p.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Men);return{id:jje,diagram:i}}},$je="er",cjt={id:$je,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>ntn);return{id:$je,diagram:i}}},zje="gitGraph",ujt={id:zje,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Atn);return{id:zje,diagram:i}}},qje="gantt",ljt={id:qje,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mnn);return{id:qje,diagram:i}}},Hje="info",hjt={id:Hje,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wnn);return{id:Hje,diagram:i}}},Vje="pie",fjt={id:Vje,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Cnn);return{id:Vje,diagram:i}}},Uje="quadrantChart",djt={id:Uje,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>znn);return{id:Uje,diagram:i}}},Gje="xychart",gjt={id:Gje,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>hrn);return{id:Gje,diagram:i}}},Kje="requirement",pjt={id:Kje,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xrn);return{id:Kje,diagram:i}}},Wje="sequence",bjt={id:Wje,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Tin);return{id:Wje,diagram:i}}},Yje="class",mjt={id:Yje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Win);return{id:Yje,diagram:i}}},Xje="classDiagram",vjt={id:Xje,detector:(i,s)=>{var u;return/^\s*classDiagram/.test(i)&&((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>esn);return{id:Xje,diagram:i}}},Qje="state",wjt={id:Qje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>zsn);return{id:Qje,diagram:i}}},Jje="stateDiagram",yjt={id:Jje,detector:(i,s)=>{var u;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aan);return{id:Jje,diagram:i}}},Zje="journey",xjt={id:Zje,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Can);return{id:Zje,diagram:i}}},kjt=function(i,s){for(let u of s)i.attr(u[0],u[1])},Ejt=function(i,s,u){let d=new Map;return u?(d.set("width","100%"),d.set("style",`max-width: ${s}px;`)):(d.set("height",i),d.set("width",s)),d},Og=function(i,s,u,d){const p=Ejt(s,u,d);kjt(i,p)},y9=function(i,s,u,d){const p=s.node().getBBox(),v=p.width,b=p.height;Xe.info(`SVG bounds: ${v}x${b}`,p);let y=0,T=0;Xe.info(`Graph bounds: ${y}x${T}`,i),y=v+u*2,T=b+u*2,Xe.info(`Calculated bounds: ${y}x${T}`),Og(s,T,y,d);const _=`${p.x-u} ${p.y-u} ${p.width+2*u} ${p.height+2*u}`;s.attr("viewBox",_)},YX={},Tjt=(i,s,u)=>{let d="";return i in YX&&YX[i]?d=YX[i](u):Xe.warn(`No theme found for ${i}`),` & { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + fill: ${u.textColor} + } + + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${u.errorBkgColor}; + } + & .error-text { + fill: ${u.errorTextColor}; + stroke: ${u.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 2px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${u.lineColor}; + stroke: ${u.lineColor}; + } + & .marker.cross { + stroke: ${u.lineColor}; + } + + & svg { + font-family: ${u.fontFamily}; + font-size: ${u.fontSize}; + } + + ${d} + + ${s} +`},Cjt=(i,s)=>{s!==void 0&&(YX[i]=s)},Sjt=Tjt;let I2e="",O2e="",N2e="";const P2e=i=>Wf(i,Uh()),Ng=()=>{I2e="",N2e="",O2e=""},Pg=i=>{I2e=P2e(i).replace(/^\s+/g,"")},Cp=()=>I2e,Sp=i=>{N2e=P2e(i).replace(/\n\s+/g,` +`)},_p=()=>N2e,cm=i=>{O2e=P2e(i)},Ap=()=>O2e,e$e=Object.freeze(Object.defineProperty({__proto__:null,clear:Ng,getAccDescription:_p,getAccTitle:Cp,getDiagramTitle:Ap,setAccDescription:Sp,setAccTitle:Pg,setDiagramTitle:cm},Symbol.toStringTag,{value:"Module"})),_jt=Xe,Ajt=dpe,qt=Uh,Ljt=Oje,t$e=ED,Mjt=i=>Wf(i,qt()),n$e=y9,Djt=()=>e$e,XX={},QX=(i,s,u)=>{var d;if(XX[i])throw new Error(`Diagram ${i} already registered.`);XX[i]=s,u&&FRe(i,u),Cjt(i,s.styles),(d=s.injectUtils)==null||d.call(s,_jt,Ajt,qt,Mjt,n$e,Djt(),()=>{})},B2e=i=>{if(i in XX)return XX[i];throw new Ijt(i)};class Ijt extends Error{constructor(s){super(`Diagram ${s} not found.`)}}const sR=i=>{var p;const{securityLevel:s}=qt();let u=Ir("body");if(s==="sandbox"){const b=((p=Ir(`#i${i}`).node())==null?void 0:p.contentDocument)??document;u=Ir(b.body)}return u.select(`#${i}`)},r$e={draw:(i,s,u)=>{Xe.debug(`rendering svg for syntax error +`);const d=sR(s),p=d.append("g");d.attr("viewBox","0 0 2412 512"),Og(d,100,512,!0),p.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),p.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),p.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),p.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),p.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),p.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),p.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),p.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${u}`)}},Ojt=r$e,Njt={db:{},renderer:r$e,parser:{parser:{yy:{}},parse:()=>{}}},i$e="flowchart-elk",Pjt={id:i$e,detector:(i,s)=>{var u;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>zan);return{id:i$e,diagram:i}}},s$e="timeline",Bjt={id:s$e,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aon);return{id:s$e,diagram:i}}},a$e="mindmap",Fjt={id:a$e,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Non);return{id:a$e,diagram:i}}},o$e="sankey",Rjt={id:o$e,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>lcn);return{id:o$e,diagram:i}}},c$e="block",jjt={id:c$e,detector:i=>/^\s*block-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Icn);return{id:c$e,diagram:i}}};let u$e=!1;const F2e=()=>{u$e||(u$e=!0,QX("error",Njt,i=>i.toLowerCase().trim()==="error"),QX("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),BRe(sjt,vjt,mjt,cjt,ljt,hjt,fjt,pjt,bjt,Pjt,ojt,ajt,Fjt,Bjt,ujt,yjt,wjt,xjt,djt,Rjt,gjt,jjt))};class l$e{constructor(s,u={}){this.text=s,this.metadata=u,this.type="graph",this.text=BRt(s),this.text+=` +`;const d=Uh();try{this.type=_X(s,d)}catch(v){this.type="error",this.detectError=v}const p=B2e(this.type);Xe.debug("Type "+this.type),this.db=p.db,this.renderer=p.renderer,this.parser=p.parser,this.parser.parser.yy=this.db,this.init=p.init,this.parse()}parse(){var u,d,p,v,b;if(this.detectError)throw this.detectError;(d=(u=this.db).clear)==null||d.call(u);const s=Uh();(p=this.init)==null||p.call(this,s),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(s,u){await this.renderer.draw(this.text,s,u,this)}getParser(){return this.parser}getType(){return this.type}}const $jt=async(i,s={})=>{const u=_X(i,Uh());try{B2e(u)}catch{const p=qPt(u);if(!p)throw new PRe(`Diagram ${u} not found.`);const{id:v,diagram:b}=await p();QX(v,b)}return new l$e(i,s)};let h$e=[];const zjt=()=>{h$e.forEach(i=>{i()}),h$e=[]};var qjt=XRe(Object.keys,Object);const Hjt=qjt;var Vjt=Object.prototype,Ujt=Vjt.hasOwnProperty;function f$e(i){if(!OX(i))return Hjt(i);var s=[];for(var u in Object(i))Ujt.call(i,u)&&u!="constructor"&&s.push(u);return s}var Gjt=MC(P3,"DataView");const R2e=Gjt;var Kjt=MC(P3,"Promise");const j2e=Kjt;var Wjt=MC(P3,"Set");const CD=Wjt;var Yjt=MC(P3,"WeakMap");const $2e=Yjt;var d$e="[object Map]",Xjt="[object Object]",g$e="[object Promise]",p$e="[object Set]",b$e="[object WeakMap]",m$e="[object DataView]",Qjt=LC(R2e),Jjt=LC(XF),Zjt=LC(j2e),e$t=LC(CD),t$t=LC($2e),BC=AC;(R2e&&BC(new R2e(new ArrayBuffer(1)))!=m$e||XF&&BC(new XF)!=d$e||j2e&&BC(j2e.resolve())!=g$e||CD&&BC(new CD)!=p$e||$2e&&BC(new $2e)!=b$e)&&(BC=function(i){var s=AC(i),u=s==Xjt?i.constructor:void 0,d=u?LC(u):"";if(d)switch(d){case Qjt:return m$e;case Jjt:return d$e;case Zjt:return g$e;case e$t:return p$e;case t$t:return b$e}return s});const SD=BC;var n$t="[object Map]",r$t="[object Set]",i$t=Object.prototype,s$t=i$t.hasOwnProperty;function aR(i){if(i==null)return!0;if(w9(i)&&(M0(i)||typeof i=="string"||typeof i.splice=="function"||vD(i)||PX(i)||mD(i)))return!i.length;var s=SD(i);if(s==n$t||s==r$t)return!i.size;if(OX(i))return!f$e(i).length;for(var u in i)if(s$t.call(i,u))return!1;return!0}const a$t="graphics-document document";function o$t(i,s){i.attr("role",a$t),s!==""&&i.attr("aria-roledescription",s)}function c$t(i,s,u,d){if(i.insert!==void 0){if(u){const p=`chart-desc-${d}`;i.attr("aria-describedby",p),i.insert("desc",":first-child").attr("id",p).text(u)}if(s){const p=`chart-title-${d}`;i.attr("aria-labelledby",p),i.insert("title",":first-child").attr("id",p).text(s)}}}const u$t=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function v$e(i){return typeof i>"u"||i===null}function l$t(i){return typeof i=="object"&&i!==null}function h$t(i){return Array.isArray(i)?i:v$e(i)?[]:[i]}function f$t(i,s){var u,d,p,v;if(s)for(v=Object.keys(s),u=0,d=v.length;uy&&(v=" ... ",s=d-y+v.length),u-d>y&&(b=" ...",u=d+y-b.length),{str:v+i.slice(s,u).replace(/\t/g,"→")+b,pos:d-s+v.length}}function q2e(i,s){return Lp.repeat(" ",s-i.length)+i}function x$t(i,s){if(s=Object.create(s||null),!i.buffer)return null;s.maxLength||(s.maxLength=79),typeof s.indent!="number"&&(s.indent=1),typeof s.linesBefore!="number"&&(s.linesBefore=3),typeof s.linesAfter!="number"&&(s.linesAfter=2);for(var u=/\r?\n|\r|\0/g,d=[0],p=[],v,b=-1;v=u.exec(i.buffer);)p.push(v.index),d.push(v.index+v[0].length),i.position<=v.index&&b<0&&(b=d.length-2);b<0&&(b=d.length-1);var y="",T,_,A=Math.min(i.line+s.linesAfter,p.length).toString().length,P=s.maxLength-(s.indent+A+3);for(T=1;T<=s.linesBefore&&!(b-T<0);T++)_=z2e(i.buffer,d[b-T],p[b-T],i.position-(d[b]-d[b-T]),P),y=Lp.repeat(" ",s.indent)+q2e((i.line-T+1).toString(),A)+" | "+_.str+` +`+y;for(_=z2e(i.buffer,d[b],p[b],i.position,P),y+=Lp.repeat(" ",s.indent)+q2e((i.line+1).toString(),A)+" | "+_.str+` +`,y+=Lp.repeat("-",s.indent+A+3+_.pos)+`^ +`,T=1;T<=s.linesAfter&&!(b+T>=p.length);T++)_=z2e(i.buffer,d[b+T],p[b+T],i.position-(d[b]-d[b+T]),P),y+=Lp.repeat(" ",s.indent)+q2e((i.line+T+1).toString(),A)+" | "+_.str+` +`;return y.replace(/\n$/,"")}var k$t=x$t,E$t=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],T$t=["scalar","sequence","mapping"];function C$t(i){var s={};return i!==null&&Object.keys(i).forEach(function(u){i[u].forEach(function(d){s[String(d)]=u})}),s}function S$t(i,s){if(s=s||{},Object.keys(s).forEach(function(u){if(E$t.indexOf(u)===-1)throw new A7('Unknown option "'+u+'" is met in definition of "'+i+'" YAML type.')}),this.options=s,this.tag=i,this.kind=s.kind||null,this.resolve=s.resolve||function(){return!0},this.construct=s.construct||function(u){return u},this.instanceOf=s.instanceOf||null,this.predicate=s.predicate||null,this.represent=s.represent||null,this.representName=s.representName||null,this.defaultStyle=s.defaultStyle||null,this.multi=s.multi||!1,this.styleAliases=C$t(s.styleAliases||null),T$t.indexOf(this.kind)===-1)throw new A7('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var Bg=S$t;function y$e(i,s){var u=[];return i[s].forEach(function(d){var p=u.length;u.forEach(function(v,b){v.tag===d.tag&&v.kind===d.kind&&v.multi===d.multi&&(p=b)}),u[p]=d}),u}function _$t(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},s,u;function d(p){p.multi?(i.multi[p.kind].push(p),i.multi.fallback.push(p)):i[p.kind][p.tag]=i.fallback[p.tag]=p}for(s=0,u=arguments.length;s=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),W$t=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Y$t(i){return!(i===null||!W$t.test(i)||i[i.length-1]==="_")}function X$t(i){var s,u;return s=i.replace(/_/g,"").toLowerCase(),u=s[0]==="-"?-1:1,"+-".indexOf(s[0])>=0&&(s=s.slice(1)),s===".inf"?u===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:s===".nan"?NaN:u*parseFloat(s,10)}var Q$t=/^[-+]?[0-9]+e/;function J$t(i,s){var u;if(isNaN(i))switch(s){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(s){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(s){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Lp.isNegativeZero(i))return"-0.0";return u=i.toString(10),Q$t.test(u)?u.replace("e",".e"):u}function Z$t(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||Lp.isNegativeZero(i))}var ezt=new Bg("tag:yaml.org,2002:float",{kind:"scalar",resolve:Y$t,construct:X$t,predicate:Z$t,represent:J$t,defaultStyle:"lowercase"}),x$e=I$t.extend({implicit:[B$t,$$t,K$t,ezt]}),tzt=x$e,k$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),E$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function nzt(i){return i===null?!1:k$e.exec(i)!==null||E$e.exec(i)!==null}function rzt(i){var s,u,d,p,v,b,y,T=0,_=null,A,P,R;if(s=k$e.exec(i),s===null&&(s=E$e.exec(i)),s===null)throw new Error("Date resolve error");if(u=+s[1],d=+s[2]-1,p=+s[3],!s[4])return new Date(Date.UTC(u,d,p));if(v=+s[4],b=+s[5],y=+s[6],s[7]){for(T=s[7].slice(0,3);T.length<3;)T+="0";T=+T}return s[9]&&(A=+s[10],P=+(s[11]||0),_=(A*60+P)*6e4,s[9]==="-"&&(_=-_)),R=new Date(Date.UTC(u,d,p,v,b,y,T)),_&&R.setTime(R.getTime()-_),R}function izt(i){return i.toISOString()}var szt=new Bg("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:nzt,construct:rzt,instanceOf:Date,represent:izt});function azt(i){return i==="<<"||i===null}var ozt=new Bg("tag:yaml.org,2002:merge",{kind:"scalar",resolve:azt}),V2e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function czt(i){if(i===null)return!1;var s,u,d=0,p=i.length,v=V2e;for(u=0;u64)){if(s<0)return!1;d+=6}return d%8===0}function uzt(i){var s,u,d=i.replace(/[\r\n=]/g,""),p=d.length,v=V2e,b=0,y=[];for(s=0;s>16&255),y.push(b>>8&255),y.push(b&255)),b=b<<6|v.indexOf(d.charAt(s));return u=p%4*6,u===0?(y.push(b>>16&255),y.push(b>>8&255),y.push(b&255)):u===18?(y.push(b>>10&255),y.push(b>>2&255)):u===12&&y.push(b>>4&255),new Uint8Array(y)}function lzt(i){var s="",u=0,d,p,v=i.length,b=V2e;for(d=0;d>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]),u=(u<<8)+i[d];return p=v%3,p===0?(s+=b[u>>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]):p===2?(s+=b[u>>10&63],s+=b[u>>4&63],s+=b[u<<2&63],s+=b[64]):p===1&&(s+=b[u>>2&63],s+=b[u<<4&63],s+=b[64],s+=b[64]),s}function hzt(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var fzt=new Bg("tag:yaml.org,2002:binary",{kind:"scalar",resolve:czt,construct:uzt,predicate:hzt,represent:lzt}),dzt=Object.prototype.hasOwnProperty,gzt=Object.prototype.toString;function pzt(i){if(i===null)return!0;var s=[],u,d,p,v,b,y=i;for(u=0,d=y.length;u>10)+55296,(i-65536&1023)+56320)}for(var D$e=new Array(256),I$e=new Array(256),AD=0;AD<256;AD++)D$e[AD]=M$e(AD)?1:0,I$e[AD]=M$e(AD);function Pzt(i,s){this.input=i,this.filename=s.filename||null,this.schema=s.schema||Szt,this.onWarning=s.onWarning||null,this.legacy=s.legacy||!1,this.json=s.json||!1,this.listener=s.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function O$e(i,s){var u={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return u.snippet=k$t(u),new A7(s,u)}function oa(i,s){throw O$e(i,s)}function eQ(i,s){i.onWarning&&i.onWarning.call(null,O$e(i,s))}var N$e={YAML:function(s,u,d){var p,v,b;s.version!==null&&oa(s,"duplication of %YAML directive"),d.length!==1&&oa(s,"YAML directive accepts exactly one argument"),p=/^([0-9]+)\.([0-9]+)$/.exec(d[0]),p===null&&oa(s,"ill-formed argument of the YAML directive"),v=parseInt(p[1],10),b=parseInt(p[2],10),v!==1&&oa(s,"unacceptable YAML version of the document"),s.version=d[0],s.checkLineBreaks=b<2,b!==1&&b!==2&&eQ(s,"unsupported YAML version of the document")},TAG:function(s,u,d){var p,v;d.length!==2&&oa(s,"TAG directive accepts exactly two arguments"),p=d[0],v=d[1],_$e.test(p)||oa(s,"ill-formed tag handle (first argument) of the TAG directive"),x9.call(s.tagMap,p)&&oa(s,'there is a previously declared suffix for "'+p+'" tag handle'),A$e.test(v)||oa(s,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{oa(s,"tag prefix is malformed: "+v)}s.tagMap[p]=v}};function k9(i,s,u,d){var p,v,b,y;if(s1&&(i.result+=Lp.repeat(` +`,s-1))}function Bzt(i,s,u){var d,p,v,b,y,T,_,A,P=i.kind,R=i.result,F;if(F=i.input.charCodeAt(i.position),R2(F)||_D(F)||F===35||F===38||F===42||F===33||F===124||F===62||F===39||F===34||F===37||F===64||F===96||(F===63||F===45)&&(p=i.input.charCodeAt(i.position+1),R2(p)||u&&_D(p)))return!1;for(i.kind="scalar",i.result="",v=b=i.position,y=!1;F!==0;){if(F===58){if(p=i.input.charCodeAt(i.position+1),R2(p)||u&&_D(p))break}else if(F===35){if(d=i.input.charCodeAt(i.position-1),R2(d))break}else{if(i.position===i.lineStart&&tQ(i)||u&&_D(F))break;if(U4(F))if(T=i.line,_=i.lineStart,A=i.lineIndent,I0(i,!1,-1),i.lineIndent>=s){y=!0,F=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=T,i.lineStart=_,i.lineIndent=A;break}}y&&(k9(i,v,b,!1),K2e(i,i.line-T),v=b=i.position,y=!1),FC(F)||(b=i.position+1),F=i.input.charCodeAt(++i.position)}return k9(i,v,b,!1),i.result?!0:(i.kind=P,i.result=R,!1)}function Fzt(i,s){var u,d,p;if(u=i.input.charCodeAt(i.position),u!==39)return!1;for(i.kind="scalar",i.result="",i.position++,d=p=i.position;(u=i.input.charCodeAt(i.position))!==0;)if(u===39)if(k9(i,d,i.position,!0),u=i.input.charCodeAt(++i.position),u===39)d=i.position,i.position++,p=i.position;else return!0;else U4(u)?(k9(i,d,p,!0),K2e(i,I0(i,!1,s)),d=p=i.position):i.position===i.lineStart&&tQ(i)?oa(i,"unexpected end of the document within a single quoted scalar"):(i.position++,p=i.position);oa(i,"unexpected end of the stream within a single quoted scalar")}function Rzt(i,s){var u,d,p,v,b,y;if(y=i.input.charCodeAt(i.position),y!==34)return!1;for(i.kind="scalar",i.result="",i.position++,u=d=i.position;(y=i.input.charCodeAt(i.position))!==0;){if(y===34)return k9(i,u,i.position,!0),i.position++,!0;if(y===92){if(k9(i,u,i.position,!0),y=i.input.charCodeAt(++i.position),U4(y))I0(i,!1,s);else if(y<256&&D$e[y])i.result+=I$e[y],i.position++;else if((b=Izt(y))>0){for(p=b,v=0;p>0;p--)y=i.input.charCodeAt(++i.position),(b=Dzt(y))>=0?v=(v<<4)+b:oa(i,"expected hexadecimal character");i.result+=Nzt(v),i.position++}else oa(i,"unknown escape sequence");u=d=i.position}else U4(y)?(k9(i,u,d,!0),K2e(i,I0(i,!1,s)),u=d=i.position):i.position===i.lineStart&&tQ(i)?oa(i,"unexpected end of the document within a double quoted scalar"):(i.position++,d=i.position)}oa(i,"unexpected end of the stream within a double quoted scalar")}function jzt(i,s){var u=!0,d,p,v,b=i.tag,y,T=i.anchor,_,A,P,R,F,j=Object.create(null),W,ee,ie,oe;if(oe=i.input.charCodeAt(i.position),oe===91)A=93,F=!1,y=[];else if(oe===123)A=125,F=!0,y={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=y),oe=i.input.charCodeAt(++i.position);oe!==0;){if(I0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===A)return i.position++,i.tag=b,i.anchor=T,i.kind=F?"mapping":"sequence",i.result=y,!0;u?oe===44&&oa(i,"expected the node content, but found ','"):oa(i,"missed comma between flow collection entries"),ee=W=ie=null,P=R=!1,oe===63&&(_=i.input.charCodeAt(i.position+1),R2(_)&&(P=R=!0,i.position++,I0(i,!0,s))),d=i.line,p=i.lineStart,v=i.position,MD(i,s,JX,!1,!0),ee=i.tag,W=i.result,I0(i,!0,s),oe=i.input.charCodeAt(i.position),(R||i.line===d)&&oe===58&&(P=!0,oe=i.input.charCodeAt(++i.position),I0(i,!0,s),MD(i,s,JX,!1,!0),ie=i.result),F?LD(i,y,j,ee,W,ie,d,p,v):P?y.push(LD(i,null,j,ee,W,ie,d,p,v)):y.push(W),I0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===44?(u=!0,oe=i.input.charCodeAt(++i.position)):u=!1}oa(i,"unexpected end of the stream within a flow collection")}function $zt(i,s){var u,d,p=U2e,v=!1,b=!1,y=s,T=0,_=!1,A,P;if(P=i.input.charCodeAt(i.position),P===124)d=!1;else if(P===62)d=!0;else return!1;for(i.kind="scalar",i.result="";P!==0;)if(P=i.input.charCodeAt(++i.position),P===43||P===45)U2e===p?p=P===43?S$e:_zt:oa(i,"repeat of a chomping mode identifier");else if((A=Ozt(P))>=0)A===0?oa(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?oa(i,"repeat of an indentation width identifier"):(y=s+A-1,b=!0);else break;if(FC(P)){do P=i.input.charCodeAt(++i.position);while(FC(P));if(P===35)do P=i.input.charCodeAt(++i.position);while(!U4(P)&&P!==0)}for(;P!==0;){for(G2e(i),i.lineIndent=0,P=i.input.charCodeAt(i.position);(!b||i.lineIndenty&&(y=i.lineIndent),U4(P)){T++;continue}if(i.lineIndents)&&T!==0)oa(i,"bad indentation of a sequence entry");else if(i.lineIndents)&&(ee&&(b=i.line,y=i.lineStart,T=i.position),MD(i,s,ZX,!0,p)&&(ee?j=i.result:W=i.result),ee||(LD(i,P,R,F,j,W,b,y,T),F=j=W=null),I0(i,!0,-1),oe=i.input.charCodeAt(i.position)),(i.line===v||i.lineIndent>s)&&oe!==0)oa(i,"bad indentation of a mapping entry");else if(i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),P=0,R=i.implicitTypes.length;P"),i.result!==null&&j.kind!==i.kind&&oa(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+j.kind+'", not "'+i.kind+'"'),j.resolve(i.result,i.tag)?(i.result=j.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):oa(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||A}function Uzt(i){var s=i.position,u,d,p,v=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(I0(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(v=!0,b=i.input.charCodeAt(++i.position),u=i.position;b!==0&&!R2(b);)b=i.input.charCodeAt(++i.position);for(d=i.input.slice(u,i.position),p=[],d.length<1&&oa(i,"directive name must not be less than one character in length");b!==0;){for(;FC(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!U4(b));break}if(U4(b))break;for(u=i.position;b!==0&&!R2(b);)b=i.input.charCodeAt(++i.position);p.push(i.input.slice(u,i.position))}b!==0&&G2e(i),x9.call(N$e,d)?N$e[d](i,d,p):eQ(i,'unknown document directive "'+d+'"')}if(I0(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,I0(i,!0,-1)):v&&oa(i,"directives end mark is expected"),MD(i,i.lineIndent-1,ZX,!1,!0),I0(i,!0,-1),i.checkLineBreaks&&Lzt.test(i.input.slice(s,i.position))&&eQ(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&tQ(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,I0(i,!0,-1));return}if(i.position"u"&&(u=s,s=null);var d=F$e(i,u);if(typeof s!="function")return d;for(var p=0,v=d.length;pi.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(s,u,d)=>"<"+u+d.replace(/="([^"]*)"/g,"='$1'")+">"),tqt=i=>{const{text:s,metadata:u}=Zzt(i),{displayMode:d,title:p,config:v={}}=u;return d&&(v.gantt||(v.gantt={}),v.gantt.displayMode=d),{title:p,config:v,text:s}},nqt=i=>{const s=So.detectInit(i)??{},u=So.detectDirective(i,"wrap");return Array.isArray(u)?s.wrap=u.some(({type:d})=>{}):(u==null?void 0:u.type)==="wrap"&&(s.wrap=!0),{text:xRt(i),directive:s}};function R$e(i){const s=eqt(i),u=tqt(s),d=nqt(u.text),p=eR(u.config,d.directive);return i=u$t(d.text),{code:i,title:u.title,config:p}}const rqt=5e4,iqt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",sqt="sandbox",aqt="loose",oqt="http://www.w3.org/2000/svg",cqt="http://www.w3.org/1999/xlink",uqt="http://www.w3.org/1999/xhtml",lqt="100%",hqt="100%",fqt="border:0;margin:0;",dqt="margin:0",gqt="allow-top-navigation-by-user-activation allow-popups",pqt='The "iframe" tag is not supported by your browser.',bqt=["foreignobject"],mqt=["dominant-baseline"];function j$e(i){const s=R$e(i);return WX(),njt(s.config??{}),s}async function vqt(i,s){F2e(),i=j$e(i).code;try{await W2e(i)}catch(u){if(s!=null&&s.suppressErrors)return!1;throw u}return!0}const $$e=(i,s,u=[])=>` +.${i} ${s} { ${u.join(" !important; ")} !important; }`,wqt=(i,s={})=>{var d;let u="";if(i.themeCSS!==void 0&&(u+=` +${i.themeCSS}`),i.fontFamily!==void 0&&(u+=` +:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(u+=` +:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!aR(s)){const y=i.htmlLabels||((d=i.flowchart)==null?void 0:d.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const T in s){const _=s[T];aR(_.styles)||y.forEach(A=>{u+=$$e(_.id,A,_.styles)}),aR(_.textStyles)||(u+=$$e(_.id,"tspan",_.textStyles))}}return u},yqt=(i,s,u,d)=>{const p=wqt(i,u),v=Sjt(s,p,i.themeVariables);return D2e(XRt(`${d}{${v}}`),JRt)},xqt=(i="",s,u)=>{let d=i;return!u&&!s&&(d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),d=tR(d),d=d.replace(/
/g,"
"),d},kqt=(i="",s)=>{var p,v;const u=(v=(p=s==null?void 0:s.viewBox)==null?void 0:p.baseVal)!=null&&v.height?s.viewBox.baseVal.height+"px":hqt,d=btoa(''+i+"");return``},z$e=(i,s,u,d,p)=>{const v=i.append("div");v.attr("id",u),d&&v.attr("style",d);const b=v.append("svg").attr("id",s).attr("width","100%").attr("xmlns",oqt);return p&&b.attr("xmlns:xlink",p),b.append("g"),i};function q$e(i,s){return i.append("iframe").attr("id",s).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const Eqt=(i,s,u,d)=>{var p,v,b;(p=i.getElementById(s))==null||p.remove(),(v=i.getElementById(u))==null||v.remove(),(b=i.getElementById(d))==null||b.remove()},Tqt=async function(i,s,u){var U,Be,Ne,je,Ie,Se;F2e();const d=j$e(s);s=d.code;const p=Uh();Xe.debug(p),s.length>((p==null?void 0:p.maxTextSize)??rqt)&&(s=iqt);const v="#"+i,b="i"+i,y="#"+b,T="d"+i,_="#"+T;let A=Ir("body");const P=p.securityLevel===sqt,R=p.securityLevel===aqt,F=p.fontFamily;if(u!==void 0){if(u&&(u.innerHTML=""),P){const Ce=q$e(Ir(u),b);A=Ir(Ce.nodes()[0].contentDocument.body),A.node().style.margin=0}else A=Ir(u);z$e(A,i,T,`font-family: ${F}`,cqt)}else{if(Eqt(document,i,T,b),P){const Ce=q$e(Ir("body"),b);A=Ir(Ce.nodes()[0].contentDocument.body),A.node().style.margin=0}else A=Ir("body");z$e(A,i,T)}let j,W;try{j=await W2e(s,{title:d.title})}catch(Ce){j=new l$e("error"),W=Ce}const ee=A.select(_).node(),ie=j.type,oe=ee.firstChild,be=oe.firstChild,ge=(Be=(U=j.renderer).getClasses)==null?void 0:Be.call(U,s,j),ae=yqt(p,ie,ge,v),ne=document.createElement("style");ne.innerHTML=ae,oe.insertBefore(ne,be);try{await j.renderer.draw(s,i,Mje,j)}catch(Ce){throw Ojt.draw(s,i,Mje),Ce}const se=A.select(`${_} svg`),de=(je=(Ne=j.db).getAccTitle)==null?void 0:je.call(Ne),X=(Se=(Ie=j.db).getAccDescription)==null?void 0:Se.call(Ie);Sqt(ie,se,de,X),A.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",uqt);let pe=A.select(_).node().innerHTML;if(Xe.debug("config.arrowMarkerAbsolute",p.arrowMarkerAbsolute),pe=xqt(pe,P,l1(p.arrowMarkerAbsolute)),P){const Ce=A.select(_+" svg").node();pe=kqt(pe,Ce)}else R||(pe=hD.sanitize(pe,{ADD_TAGS:bqt,ADD_ATTR:mqt}));if(zjt(),W)throw W;const xe=Ir(P?y:_).node();return xe&&"remove"in xe&&xe.remove(),{svg:pe,bindFunctions:j.db.bindFunctions}};function Cqt(i={}){var u;i!=null&&i.fontFamily&&!((u=i.themeVariables)!=null&&u.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),ejt(i),i!=null&&i.theme&&i.theme in E7?i.themeVariables=E7[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=E7.default.getThemeVariables(i.themeVariables));const s=typeof i=="object"?ZRt(i):Ije();dpe(s.logLevel),F2e()}const W2e=(i,s={})=>{const{code:u}=R$e(i);return $jt(u,s)};function Sqt(i,s,u,d){o$t(s,i),c$t(s,u,d,s.attr("id"))}const RC=Object.freeze({render:Tqt,parse:vqt,getDiagramFromText:W2e,initialize:Cqt,getConfig:Uh,setConfig:Oje,getSiteConfig:Ije,updateSiteConfig:tjt,reset:()=>{WX()},globalReset:()=>{WX(ED)},defaultConfig:ED});dpe(Uh().logLevel),WX(Uh());const _qt=async()=>{Xe.debug("Loading registered diagrams");const s=(await Promise.allSettled(Object.entries(dD).map(async([u,{detector:d,loader:p}])=>{if(p)try{B2e(u)}catch{try{const{diagram:b,id:y}=await p();QX(y,b,d)}catch(b){throw Xe.error(`Failed to load external diagram with key ${u}. Removing from detectors.`),delete dD[u],b}}}))).filter(u=>u.status==="rejected");if(s.length>0){Xe.error(`Failed to load ${s.length} external diagrams`);for(const u of s)Xe.error(u);throw new Error(`Failed to load ${s.length} external diagrams`)}},Aqt=(i,s,u)=>{Xe.warn(i),xje(i)?(u&&u(i.str,i.hash),s.push({...i,message:i.str,error:i})):(u&&u(i),i instanceof Error&&s.push({str:i.message,message:i.message,hash:i.name,error:i}))},H$e=async function(i={querySelector:".mermaid"}){try{await Lqt(i)}catch(s){if(xje(s)&&Xe.error(s.str),um.parseError&&um.parseError(s),!i.suppressErrors)throw Xe.error("Use the suppressErrors option to suppress these errors"),s}},Lqt=async function({postRenderCallback:i,querySelector:s,nodes:u}={querySelector:".mermaid"}){const d=RC.getConfig();Xe.debug(`${i?"":"No "}Callback function found`);let p;if(u)p=u;else if(s)p=document.querySelectorAll(s);else throw new Error("Nodes and querySelector are both undefined");Xe.debug(`Found ${p.length} diagrams`),(d==null?void 0:d.startOnLoad)!==void 0&&(Xe.debug("Start On Load: "+(d==null?void 0:d.startOnLoad)),RC.updateSiteConfig({startOnLoad:d==null?void 0:d.startOnLoad}));const v=new So.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed);let b;const y=[];for(const T of Array.from(p)){Xe.info("Rendering diagram: "+T.id);/*! Check if previously processed */if(T.getAttribute("data-processed"))continue;T.setAttribute("data-processed","true");const _=`mermaid-${v.next()}`;b=T.innerHTML,b=JM(So.entityDecode(b)).trim().replace(//gi,"
");const A=So.detectInit(b);A&&Xe.debug("Detected early reinit: ",A);try{const{svg:P,bindFunctions:R}=await K$e(_,b,T);T.innerHTML=P,i&&await i(_),R&&R(T)}catch(P){Aqt(P,y,um.parseError)}}if(y.length>0)throw y[0]},V$e=function(i){RC.initialize(i)},Mqt=async function(i,s,u){Xe.warn("mermaid.init is deprecated. Please use run instead."),i&&V$e(i);const d={postRenderCallback:u,querySelector:".mermaid"};typeof s=="string"?d.querySelector=s:s&&(s instanceof HTMLElement?d.nodes=[s]:d.nodes=s),await H$e(d)},Dqt=async(i,{lazyLoad:s=!0}={})=>{BRe(...i),s===!1&&await _qt()},U$e=function(){if(um.startOnLoad){const{startOnLoad:i}=RC.getConfig();i&&um.run().catch(s=>Xe.error("Mermaid failed to initialize",s))}};if(typeof document<"u"){/*! + * Wait for document loaded before starting the execution + */window.addEventListener("load",U$e,!1)}const Iqt=function(i){um.parseError=i},nQ=[];let Y2e=!1;const G$e=async()=>{if(!Y2e){for(Y2e=!0;nQ.length>0;){const i=nQ.shift();if(i)try{await i()}catch(s){Xe.error("Error executing queue",s)}}Y2e=!1}},Oqt=async(i,s)=>new Promise((u,d)=>{const p=()=>new Promise((v,b)=>{RC.parse(i,s).then(y=>{v(y),u(y)},y=>{var T;Xe.error("Error parsing",y),(T=um.parseError)==null||T.call(um,y),b(y),d(y)})});nQ.push(p),G$e().catch(d)}),K$e=(i,s,u)=>new Promise((d,p)=>{const v=()=>new Promise((b,y)=>{RC.render(i,s,u).then(T=>{b(T),d(T)},T=>{var _;Xe.error("Error parsing",T),(_=um.parseError)==null||_.call(um,T),y(T),p(T)})});nQ.push(v),G$e().catch(p)}),um={startOnLoad:!0,mermaidAPI:RC,parse:Oqt,render:K$e,init:Mqt,run:H$e,registerExternalDiagrams:Dqt,initialize:V$e,parseError:void 0,contentLoaded:U$e,setParseErrorHandler:Iqt,detectType:_X};class lm{constructor(s,u,d){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=s,this.start=u,this.end=d}static range(s,u){return u?!s||!s.loc||!u.loc||s.loc.lexer!==u.loc.lexer?null:new lm(s.loc.lexer,s.loc.start,u.loc.end):s&&s.loc}}class Bv{constructor(s,u){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=s,this.loc=u}range(s,u){return new Bv(u,lm.range(this,s))}}class Si{constructor(s,u){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var d="KaTeX parse error: "+s,p,v,b=u&&u.loc;if(b&&b.start<=b.end){var y=b.lexer.input;p=b.start,v=b.end,p===y.length?d+=" at end of input: ":d+=" at position "+(p+1)+": ";var T=y.slice(p,v).replace(/[^]/g,"$&̲"),_;p>15?_="…"+y.slice(p-15,p):_=y.slice(0,p);var A;v+15":">","<":"<",'"':""","'":"'"},jqt=/[&><"']/g;function $qt(i){return String(i).replace(jqt,s=>Rqt[s])}var W$e=function i(s){return s.type==="ordgroup"||s.type==="color"?s.body.length===1?i(s.body[0]):s:s.type==="font"?i(s.body):s},zqt=function(s){var u=W$e(s);return u.type==="mathord"||u.type==="textord"||u.type==="atom"},qqt=function(s){if(!s)throw new Error("Expected non-null, but got "+String(s));return s},Hqt=function(s){var u=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(s);return u?u[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(u[1])?null:u[1].toLowerCase():"_relative"},ga={contains:Nqt,deflt:Pqt,escape:$qt,hyphenate:Fqt,getBaseElem:W$e,isCharacterBox:zqt,protocolFromUrl:Hqt},rQ={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:i=>"#"+i},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(i,s)=>(s.push(i),s)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:i=>Math.max(0,i),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:i=>Math.max(0,i),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:i=>Math.max(0,i),cli:"-e, --max-expand ",cliProcessor:i=>i==="Infinity"?1/0:parseInt(i)},globalGroup:{type:"boolean",cli:!1}};function Vqt(i){if(i.default)return i.default;var s=i.type,u=Array.isArray(s)?s[0]:s;if(typeof u!="string")return u.enum[0];switch(u){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class X2e{constructor(s){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,s=s||{};for(var u in rQ)if(rQ.hasOwnProperty(u)){var d=rQ[u];this[u]=s[u]!==void 0?d.processor?d.processor(s[u]):s[u]:Vqt(d)}}reportNonstrict(s,u,d){var p=this.strict;if(typeof p=="function"&&(p=p(s,u,d)),!(!p||p==="ignore")){if(p===!0||p==="error")throw new Si("LaTeX-incompatible input and strict mode is set to 'error': "+(u+" ["+s+"]"),d);p==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+s+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+s+"]"))}}useStrictBehavior(s,u,d){var p=this.strict;if(typeof p=="function")try{p=p(s,u,d)}catch{p="error"}return!p||p==="ignore"?!1:p===!0||p==="error"?!0:p==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+s+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+s+"]")),!1)}isTrusted(s){if(s.url&&!s.protocol){var u=ga.protocolFromUrl(s.url);if(u==null)return!1;s.protocol=u}var d=typeof this.trust=="function"?this.trust(s):this.trust;return!!d}}class E9{constructor(s,u,d){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=s,this.size=u,this.cramped=d}sup(){return G4[Uqt[this.id]]}sub(){return G4[Gqt[this.id]]}fracNum(){return G4[Kqt[this.id]]}fracDen(){return G4[Wqt[this.id]]}cramp(){return G4[Yqt[this.id]]}text(){return G4[Xqt[this.id]]}isTight(){return this.size>=2}}var Q2e=0,iQ=1,DD=2,L7=3,cR=4,Fv=5,ID=6,Mp=7,G4=[new E9(Q2e,0,!1),new E9(iQ,0,!0),new E9(DD,1,!1),new E9(L7,1,!0),new E9(cR,2,!1),new E9(Fv,2,!0),new E9(ID,3,!1),new E9(Mp,3,!0)],Uqt=[cR,Fv,cR,Fv,ID,Mp,ID,Mp],Gqt=[Fv,Fv,Fv,Fv,Mp,Mp,Mp,Mp],Kqt=[DD,L7,cR,Fv,ID,Mp,ID,Mp],Wqt=[L7,L7,Fv,Fv,Mp,Mp,Mp,Mp],Yqt=[iQ,iQ,L7,L7,Fv,Fv,Mp,Mp],Xqt=[Q2e,iQ,DD,L7,DD,L7,DD,L7],Ta={DISPLAY:G4[Q2e],TEXT:G4[DD],SCRIPT:G4[cR],SCRIPTSCRIPT:G4[ID]},J2e=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Qqt(i){for(var s=0;s=p[0]&&i<=p[1])return u.name}return null}var sQ=[];J2e.forEach(i=>i.blocks.forEach(s=>sQ.push(...s)));function Y$e(i){for(var s=0;s=sQ[s]&&i<=sQ[s+1])return!0;return!1}var OD=80,Jqt=function(s,u){return"M95,"+(622+s+u)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+s/2.075+" -"+s+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+s)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},Zqt=function(s,u){return"M263,"+(601+s+u)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+s/2.084+" -"+s+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+s)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},eHt=function(s,u){return"M983 "+(10+s+u)+` +l`+s/3.13+" -"+s+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+s)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},tHt=function(s,u){return"M424,"+(2398+s+u)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+s/4.223+" -"+s+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+s)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+s)+" "+u+` +h400000v`+(40+s)+"h-400000z"},nHt=function(s,u){return"M473,"+(2713+s+u)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+s/5.298+" -"+s+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+s)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+s)+" "+u+"h400000v"+(40+s)+"H1017.7z"},rHt=function(s){var u=s/2;return"M400000 "+s+" H0 L"+u+" 0 l65 45 L145 "+(s-80)+" H400000z"},iHt=function(s,u,d){var p=d-54-u-s;return"M702 "+(s+u)+"H400000"+(40+s)+` +H742v`+p+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+u+"H400000v"+(40+s)+"H742z"},sHt=function(s,u,d){u=1e3*u;var p="";switch(s){case"sqrtMain":p=Jqt(u,OD);break;case"sqrtSize1":p=Zqt(u,OD);break;case"sqrtSize2":p=eHt(u,OD);break;case"sqrtSize3":p=tHt(u,OD);break;case"sqrtSize4":p=nHt(u,OD);break;case"sqrtTall":p=iHt(u,OD,d)}return p},aHt=function(s,u){switch(s){case"⎜":return"M291 0 H417 V"+u+" H291z M291 0 H417 V"+u+" H291z";case"∣":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z";case"∥":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z"+("M367 0 H410 V"+u+" H367z M367 0 H410 V"+u+" H367z");case"⎟":return"M457 0 H583 V"+u+" H457z M457 0 H583 V"+u+" H457z";case"⎢":return"M319 0 H403 V"+u+" H319z M319 0 H403 V"+u+" H319z";case"⎥":return"M263 0 H347 V"+u+" H263z M263 0 H347 V"+u+" H263z";case"⎪":return"M384 0 H504 V"+u+" H384z M384 0 H504 V"+u+" H384z";case"⏐":return"M312 0 H355 V"+u+" H312z M312 0 H355 V"+u+" H312z";case"‖":return"M257 0 H300 V"+u+" H257z M257 0 H300 V"+u+" H257z"+("M478 0 H521 V"+u+" H478z M478 0 H521 V"+u+" H478z");default:return""}},X$e={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},oHt=function(s,u){switch(s){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+u+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+u+" v1759 h84z";case"vert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+" v585 h43z";case"doublevert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+` v585 h43z +M367 15 v585 v`+u+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+u+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+u+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+u+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v602 h84z +M403 1759 V0 H319 V1759 v`+u+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v602 h84z +M347 1759 V0 h-84 V1759 v`+u+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(u+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(u+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(u+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(u+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class uR{constructor(s){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=s,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(s){return ga.contains(this.classes,s)}toNode(){for(var s=document.createDocumentFragment(),u=0;uu.toText();return this.children.map(s).join("")}}var K4={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},aQ={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Q$e={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function cHt(i,s){K4[i]=s}function Z2e(i,s,u){if(!K4[s])throw new Error("Font metrics not found for font: "+s+".");var d=i.charCodeAt(0),p=K4[s][d];if(!p&&i[0]in Q$e&&(d=Q$e[i[0]].charCodeAt(0),p=K4[s][d]),!p&&u==="text"&&Y$e(d)&&(p=K4[s][77]),p)return{depth:p[0],height:p[1],italic:p[2],skew:p[3],width:p[4]}}var ebe={};function uHt(i){var s;if(i>=5?s=0:i>=3?s=1:s=2,!ebe[s]){var u=ebe[s]={cssEmPerMu:aQ.quad[s]/18};for(var d in aQ)aQ.hasOwnProperty(d)&&(u[d]=aQ[d][s])}return ebe[s]}var lHt=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],J$e=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Z$e=function(s,u){return u.size<2?s:lHt[s-1][u.size-1]};class M7{constructor(s){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=s.style,this.color=s.color,this.size=s.size||M7.BASESIZE,this.textSize=s.textSize||this.size,this.phantom=!!s.phantom,this.font=s.font||"",this.fontFamily=s.fontFamily||"",this.fontWeight=s.fontWeight||"",this.fontShape=s.fontShape||"",this.sizeMultiplier=J$e[this.size-1],this.maxSize=s.maxSize,this.minRuleThickness=s.minRuleThickness,this._fontMetrics=void 0}extend(s){var u={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var d in s)s.hasOwnProperty(d)&&(u[d]=s[d]);return new M7(u)}havingStyle(s){return this.style===s?this:this.extend({style:s,size:Z$e(this.textSize,s)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(s){return this.size===s&&this.textSize===s?this:this.extend({style:this.style.text(),size:s,textSize:s,sizeMultiplier:J$e[s-1]})}havingBaseStyle(s){s=s||this.style.text();var u=Z$e(M7.BASESIZE,s);return this.size===u&&this.textSize===M7.BASESIZE&&this.style===s?this:this.extend({style:s,size:u})}havingBaseSizing(){var s;switch(this.style.id){case 4:case 5:s=3;break;case 6:case 7:s=1;break;default:s=6}return this.extend({style:this.style.text(),size:s})}withColor(s){return this.extend({color:s})}withPhantom(){return this.extend({phantom:!0})}withFont(s){return this.extend({font:s})}withTextFontFamily(s){return this.extend({fontFamily:s,font:""})}withTextFontWeight(s){return this.extend({fontWeight:s,font:""})}withTextFontShape(s){return this.extend({fontShape:s,font:""})}sizingClasses(s){return s.size!==this.size?["sizing","reset-size"+s.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==M7.BASESIZE?["sizing","reset-size"+this.size,"size"+M7.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=uHt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}M7.BASESIZE=6;var tbe={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},hHt={ex:!0,em:!0,mu:!0},eze=function(s){return typeof s!="string"&&(s=s.unit),s in tbe||s in hHt||s==="ex"},Gh=function(s,u){var d;if(s.unit in tbe)d=tbe[s.unit]/u.fontMetrics().ptPerEm/u.sizeMultiplier;else if(s.unit==="mu")d=u.fontMetrics().cssEmPerMu;else{var p;if(u.style.isTight()?p=u.havingStyle(u.style.text()):p=u,s.unit==="ex")d=p.fontMetrics().xHeight;else if(s.unit==="em")d=p.fontMetrics().quad;else throw new Si("Invalid unit: '"+s.unit+"'");p!==u&&(d*=p.sizeMultiplier/u.sizeMultiplier)}return Math.min(s.number*d,u.maxSize)},ji=function(s){return+s.toFixed(4)+"em"},T9=function(s){return s.filter(u=>u).join(" ")},tze=function(s,u,d){if(this.classes=s||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=d||{},u){u.style.isTight()&&this.classes.push("mtight");var p=u.getColor();p&&(this.style.color=p)}},nze=function(s){var u=document.createElement(s);u.className=T9(this.classes);for(var d in this.style)this.style.hasOwnProperty(d)&&(u.style[d]=this.style[d]);for(var p in this.attributes)this.attributes.hasOwnProperty(p)&&u.setAttribute(p,this.attributes[p]);for(var v=0;v",u};class lR{constructor(s,u,d,p){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,tze.call(this,s,d,p),this.children=u||[]}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return ga.contains(this.classes,s)}toNode(){return nze.call(this,"span")}toMarkup(){return rze.call(this,"span")}}class nbe{constructor(s,u,d,p){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,tze.call(this,u,p),this.children=d||[],this.setAttribute("href",s)}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return ga.contains(this.classes,s)}toNode(){return nze.call(this,"a")}toMarkup(){return rze.call(this,"a")}}class fHt{constructor(s,u,d){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=u,this.src=s,this.classes=["mord"],this.style=d}hasClass(s){return ga.contains(this.classes,s)}toNode(){var s=document.createElement("img");s.src=this.src,s.alt=this.alt,s.className="mord";for(var u in this.style)this.style.hasOwnProperty(u)&&(s.style[u]=this.style[u]);return s}toMarkup(){var s=''+ga.escape(this.alt)+'0&&(u=document.createElement("span"),u.style.marginRight=ji(this.italic)),this.classes.length>0&&(u=u||document.createElement("span"),u.className=T9(this.classes));for(var d in this.style)this.style.hasOwnProperty(d)&&(u=u||document.createElement("span"),u.style[d]=this.style[d]);return u?(u.appendChild(s),u):s}toMarkup(){var s=!1,u="0&&(d+="margin-right:"+this.italic+"em;");for(var p in this.style)this.style.hasOwnProperty(p)&&(d+=ga.hyphenate(p)+":"+this.style[p]+";");d&&(s=!0,u+=' style="'+ga.escape(d)+'"');var v=ga.escape(this.text);return s?(u+=">",u+=v,u+="",u):v}}class D7{constructor(s,u){this.children=void 0,this.attributes=void 0,this.children=s||[],this.attributes=u||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"svg");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);for(var p=0;p':''}}class rbe{constructor(s){this.attributes=void 0,this.attributes=s||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"line");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);return u}toMarkup(){var s=" but got "+String(i)+".")}var pHt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},bHt={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Gl={math:{},text:{}};function we(i,s,u,d,p,v){Gl[i][p]={font:s,group:u,replace:d},v&&d&&(Gl[i][d]=Gl[i][p])}var Ae="math",ii="text",Ue="main",$t="ams",xh="accent-token",us="bin",Dp="close",ND="inner",Ca="mathord",O0="op-token",hm="open",oQ="punct",Ht="rel",I7="spacing",mn="textord";we(Ae,Ue,Ht,"≡","\\equiv",!0),we(Ae,Ue,Ht,"≺","\\prec",!0),we(Ae,Ue,Ht,"≻","\\succ",!0),we(Ae,Ue,Ht,"∼","\\sim",!0),we(Ae,Ue,Ht,"⊥","\\perp"),we(Ae,Ue,Ht,"⪯","\\preceq",!0),we(Ae,Ue,Ht,"⪰","\\succeq",!0),we(Ae,Ue,Ht,"≃","\\simeq",!0),we(Ae,Ue,Ht,"∣","\\mid",!0),we(Ae,Ue,Ht,"≪","\\ll",!0),we(Ae,Ue,Ht,"≫","\\gg",!0),we(Ae,Ue,Ht,"≍","\\asymp",!0),we(Ae,Ue,Ht,"∥","\\parallel"),we(Ae,Ue,Ht,"⋈","\\bowtie",!0),we(Ae,Ue,Ht,"⌣","\\smile",!0),we(Ae,Ue,Ht,"⊑","\\sqsubseteq",!0),we(Ae,Ue,Ht,"⊒","\\sqsupseteq",!0),we(Ae,Ue,Ht,"≐","\\doteq",!0),we(Ae,Ue,Ht,"⌢","\\frown",!0),we(Ae,Ue,Ht,"∋","\\ni",!0),we(Ae,Ue,Ht,"∝","\\propto",!0),we(Ae,Ue,Ht,"⊢","\\vdash",!0),we(Ae,Ue,Ht,"⊣","\\dashv",!0),we(Ae,Ue,Ht,"∋","\\owns"),we(Ae,Ue,oQ,".","\\ldotp"),we(Ae,Ue,oQ,"⋅","\\cdotp"),we(Ae,Ue,mn,"#","\\#"),we(ii,Ue,mn,"#","\\#"),we(Ae,Ue,mn,"&","\\&"),we(ii,Ue,mn,"&","\\&"),we(Ae,Ue,mn,"ℵ","\\aleph",!0),we(Ae,Ue,mn,"∀","\\forall",!0),we(Ae,Ue,mn,"ℏ","\\hbar",!0),we(Ae,Ue,mn,"∃","\\exists",!0),we(Ae,Ue,mn,"∇","\\nabla",!0),we(Ae,Ue,mn,"♭","\\flat",!0),we(Ae,Ue,mn,"ℓ","\\ell",!0),we(Ae,Ue,mn,"♮","\\natural",!0),we(Ae,Ue,mn,"♣","\\clubsuit",!0),we(Ae,Ue,mn,"℘","\\wp",!0),we(Ae,Ue,mn,"♯","\\sharp",!0),we(Ae,Ue,mn,"♢","\\diamondsuit",!0),we(Ae,Ue,mn,"ℜ","\\Re",!0),we(Ae,Ue,mn,"♡","\\heartsuit",!0),we(Ae,Ue,mn,"ℑ","\\Im",!0),we(Ae,Ue,mn,"♠","\\spadesuit",!0),we(Ae,Ue,mn,"§","\\S",!0),we(ii,Ue,mn,"§","\\S"),we(Ae,Ue,mn,"¶","\\P",!0),we(ii,Ue,mn,"¶","\\P"),we(Ae,Ue,mn,"†","\\dag"),we(ii,Ue,mn,"†","\\dag"),we(ii,Ue,mn,"†","\\textdagger"),we(Ae,Ue,mn,"‡","\\ddag"),we(ii,Ue,mn,"‡","\\ddag"),we(ii,Ue,mn,"‡","\\textdaggerdbl"),we(Ae,Ue,Dp,"⎱","\\rmoustache",!0),we(Ae,Ue,hm,"⎰","\\lmoustache",!0),we(Ae,Ue,Dp,"⟯","\\rgroup",!0),we(Ae,Ue,hm,"⟮","\\lgroup",!0),we(Ae,Ue,us,"∓","\\mp",!0),we(Ae,Ue,us,"⊖","\\ominus",!0),we(Ae,Ue,us,"⊎","\\uplus",!0),we(Ae,Ue,us,"⊓","\\sqcap",!0),we(Ae,Ue,us,"∗","\\ast"),we(Ae,Ue,us,"⊔","\\sqcup",!0),we(Ae,Ue,us,"◯","\\bigcirc",!0),we(Ae,Ue,us,"∙","\\bullet",!0),we(Ae,Ue,us,"‡","\\ddagger"),we(Ae,Ue,us,"≀","\\wr",!0),we(Ae,Ue,us,"⨿","\\amalg"),we(Ae,Ue,us,"&","\\And"),we(Ae,Ue,Ht,"⟵","\\longleftarrow",!0),we(Ae,Ue,Ht,"⇐","\\Leftarrow",!0),we(Ae,Ue,Ht,"⟸","\\Longleftarrow",!0),we(Ae,Ue,Ht,"⟶","\\longrightarrow",!0),we(Ae,Ue,Ht,"⇒","\\Rightarrow",!0),we(Ae,Ue,Ht,"⟹","\\Longrightarrow",!0),we(Ae,Ue,Ht,"↔","\\leftrightarrow",!0),we(Ae,Ue,Ht,"⟷","\\longleftrightarrow",!0),we(Ae,Ue,Ht,"⇔","\\Leftrightarrow",!0),we(Ae,Ue,Ht,"⟺","\\Longleftrightarrow",!0),we(Ae,Ue,Ht,"↦","\\mapsto",!0),we(Ae,Ue,Ht,"⟼","\\longmapsto",!0),we(Ae,Ue,Ht,"↗","\\nearrow",!0),we(Ae,Ue,Ht,"↩","\\hookleftarrow",!0),we(Ae,Ue,Ht,"↪","\\hookrightarrow",!0),we(Ae,Ue,Ht,"↘","\\searrow",!0),we(Ae,Ue,Ht,"↼","\\leftharpoonup",!0),we(Ae,Ue,Ht,"⇀","\\rightharpoonup",!0),we(Ae,Ue,Ht,"↙","\\swarrow",!0),we(Ae,Ue,Ht,"↽","\\leftharpoondown",!0),we(Ae,Ue,Ht,"⇁","\\rightharpoondown",!0),we(Ae,Ue,Ht,"↖","\\nwarrow",!0),we(Ae,Ue,Ht,"⇌","\\rightleftharpoons",!0),we(Ae,$t,Ht,"≮","\\nless",!0),we(Ae,$t,Ht,"","\\@nleqslant"),we(Ae,$t,Ht,"","\\@nleqq"),we(Ae,$t,Ht,"⪇","\\lneq",!0),we(Ae,$t,Ht,"≨","\\lneqq",!0),we(Ae,$t,Ht,"","\\@lvertneqq"),we(Ae,$t,Ht,"⋦","\\lnsim",!0),we(Ae,$t,Ht,"⪉","\\lnapprox",!0),we(Ae,$t,Ht,"⊀","\\nprec",!0),we(Ae,$t,Ht,"⋠","\\npreceq",!0),we(Ae,$t,Ht,"⋨","\\precnsim",!0),we(Ae,$t,Ht,"⪹","\\precnapprox",!0),we(Ae,$t,Ht,"≁","\\nsim",!0),we(Ae,$t,Ht,"","\\@nshortmid"),we(Ae,$t,Ht,"∤","\\nmid",!0),we(Ae,$t,Ht,"⊬","\\nvdash",!0),we(Ae,$t,Ht,"⊭","\\nvDash",!0),we(Ae,$t,Ht,"⋪","\\ntriangleleft"),we(Ae,$t,Ht,"⋬","\\ntrianglelefteq",!0),we(Ae,$t,Ht,"⊊","\\subsetneq",!0),we(Ae,$t,Ht,"","\\@varsubsetneq"),we(Ae,$t,Ht,"⫋","\\subsetneqq",!0),we(Ae,$t,Ht,"","\\@varsubsetneqq"),we(Ae,$t,Ht,"≯","\\ngtr",!0),we(Ae,$t,Ht,"","\\@ngeqslant"),we(Ae,$t,Ht,"","\\@ngeqq"),we(Ae,$t,Ht,"⪈","\\gneq",!0),we(Ae,$t,Ht,"≩","\\gneqq",!0),we(Ae,$t,Ht,"","\\@gvertneqq"),we(Ae,$t,Ht,"⋧","\\gnsim",!0),we(Ae,$t,Ht,"⪊","\\gnapprox",!0),we(Ae,$t,Ht,"⊁","\\nsucc",!0),we(Ae,$t,Ht,"⋡","\\nsucceq",!0),we(Ae,$t,Ht,"⋩","\\succnsim",!0),we(Ae,$t,Ht,"⪺","\\succnapprox",!0),we(Ae,$t,Ht,"≆","\\ncong",!0),we(Ae,$t,Ht,"","\\@nshortparallel"),we(Ae,$t,Ht,"∦","\\nparallel",!0),we(Ae,$t,Ht,"⊯","\\nVDash",!0),we(Ae,$t,Ht,"⋫","\\ntriangleright"),we(Ae,$t,Ht,"⋭","\\ntrianglerighteq",!0),we(Ae,$t,Ht,"","\\@nsupseteqq"),we(Ae,$t,Ht,"⊋","\\supsetneq",!0),we(Ae,$t,Ht,"","\\@varsupsetneq"),we(Ae,$t,Ht,"⫌","\\supsetneqq",!0),we(Ae,$t,Ht,"","\\@varsupsetneqq"),we(Ae,$t,Ht,"⊮","\\nVdash",!0),we(Ae,$t,Ht,"⪵","\\precneqq",!0),we(Ae,$t,Ht,"⪶","\\succneqq",!0),we(Ae,$t,Ht,"","\\@nsubseteqq"),we(Ae,$t,us,"⊴","\\unlhd"),we(Ae,$t,us,"⊵","\\unrhd"),we(Ae,$t,Ht,"↚","\\nleftarrow",!0),we(Ae,$t,Ht,"↛","\\nrightarrow",!0),we(Ae,$t,Ht,"⇍","\\nLeftarrow",!0),we(Ae,$t,Ht,"⇏","\\nRightarrow",!0),we(Ae,$t,Ht,"↮","\\nleftrightarrow",!0),we(Ae,$t,Ht,"⇎","\\nLeftrightarrow",!0),we(Ae,$t,Ht,"△","\\vartriangle"),we(Ae,$t,mn,"ℏ","\\hslash"),we(Ae,$t,mn,"▽","\\triangledown"),we(Ae,$t,mn,"◊","\\lozenge"),we(Ae,$t,mn,"Ⓢ","\\circledS"),we(Ae,$t,mn,"®","\\circledR"),we(ii,$t,mn,"®","\\circledR"),we(Ae,$t,mn,"∡","\\measuredangle",!0),we(Ae,$t,mn,"∄","\\nexists"),we(Ae,$t,mn,"℧","\\mho"),we(Ae,$t,mn,"Ⅎ","\\Finv",!0),we(Ae,$t,mn,"⅁","\\Game",!0),we(Ae,$t,mn,"‵","\\backprime"),we(Ae,$t,mn,"▲","\\blacktriangle"),we(Ae,$t,mn,"▼","\\blacktriangledown"),we(Ae,$t,mn,"■","\\blacksquare"),we(Ae,$t,mn,"⧫","\\blacklozenge"),we(Ae,$t,mn,"★","\\bigstar"),we(Ae,$t,mn,"∢","\\sphericalangle",!0),we(Ae,$t,mn,"∁","\\complement",!0),we(Ae,$t,mn,"ð","\\eth",!0),we(ii,Ue,mn,"ð","ð"),we(Ae,$t,mn,"╱","\\diagup"),we(Ae,$t,mn,"╲","\\diagdown"),we(Ae,$t,mn,"□","\\square"),we(Ae,$t,mn,"□","\\Box"),we(Ae,$t,mn,"◊","\\Diamond"),we(Ae,$t,mn,"¥","\\yen",!0),we(ii,$t,mn,"¥","\\yen",!0),we(Ae,$t,mn,"✓","\\checkmark",!0),we(ii,$t,mn,"✓","\\checkmark"),we(Ae,$t,mn,"ℶ","\\beth",!0),we(Ae,$t,mn,"ℸ","\\daleth",!0),we(Ae,$t,mn,"ℷ","\\gimel",!0),we(Ae,$t,mn,"ϝ","\\digamma",!0),we(Ae,$t,mn,"ϰ","\\varkappa"),we(Ae,$t,hm,"┌","\\@ulcorner",!0),we(Ae,$t,Dp,"┐","\\@urcorner",!0),we(Ae,$t,hm,"└","\\@llcorner",!0),we(Ae,$t,Dp,"┘","\\@lrcorner",!0),we(Ae,$t,Ht,"≦","\\leqq",!0),we(Ae,$t,Ht,"⩽","\\leqslant",!0),we(Ae,$t,Ht,"⪕","\\eqslantless",!0),we(Ae,$t,Ht,"≲","\\lesssim",!0),we(Ae,$t,Ht,"⪅","\\lessapprox",!0),we(Ae,$t,Ht,"≊","\\approxeq",!0),we(Ae,$t,us,"⋖","\\lessdot"),we(Ae,$t,Ht,"⋘","\\lll",!0),we(Ae,$t,Ht,"≶","\\lessgtr",!0),we(Ae,$t,Ht,"⋚","\\lesseqgtr",!0),we(Ae,$t,Ht,"⪋","\\lesseqqgtr",!0),we(Ae,$t,Ht,"≑","\\doteqdot"),we(Ae,$t,Ht,"≓","\\risingdotseq",!0),we(Ae,$t,Ht,"≒","\\fallingdotseq",!0),we(Ae,$t,Ht,"∽","\\backsim",!0),we(Ae,$t,Ht,"⋍","\\backsimeq",!0),we(Ae,$t,Ht,"⫅","\\subseteqq",!0),we(Ae,$t,Ht,"⋐","\\Subset",!0),we(Ae,$t,Ht,"⊏","\\sqsubset",!0),we(Ae,$t,Ht,"≼","\\preccurlyeq",!0),we(Ae,$t,Ht,"⋞","\\curlyeqprec",!0),we(Ae,$t,Ht,"≾","\\precsim",!0),we(Ae,$t,Ht,"⪷","\\precapprox",!0),we(Ae,$t,Ht,"⊲","\\vartriangleleft"),we(Ae,$t,Ht,"⊴","\\trianglelefteq"),we(Ae,$t,Ht,"⊨","\\vDash",!0),we(Ae,$t,Ht,"⊪","\\Vvdash",!0),we(Ae,$t,Ht,"⌣","\\smallsmile"),we(Ae,$t,Ht,"⌢","\\smallfrown"),we(Ae,$t,Ht,"≏","\\bumpeq",!0),we(Ae,$t,Ht,"≎","\\Bumpeq",!0),we(Ae,$t,Ht,"≧","\\geqq",!0),we(Ae,$t,Ht,"⩾","\\geqslant",!0),we(Ae,$t,Ht,"⪖","\\eqslantgtr",!0),we(Ae,$t,Ht,"≳","\\gtrsim",!0),we(Ae,$t,Ht,"⪆","\\gtrapprox",!0),we(Ae,$t,us,"⋗","\\gtrdot"),we(Ae,$t,Ht,"⋙","\\ggg",!0),we(Ae,$t,Ht,"≷","\\gtrless",!0),we(Ae,$t,Ht,"⋛","\\gtreqless",!0),we(Ae,$t,Ht,"⪌","\\gtreqqless",!0),we(Ae,$t,Ht,"≖","\\eqcirc",!0),we(Ae,$t,Ht,"≗","\\circeq",!0),we(Ae,$t,Ht,"≜","\\triangleq",!0),we(Ae,$t,Ht,"∼","\\thicksim"),we(Ae,$t,Ht,"≈","\\thickapprox"),we(Ae,$t,Ht,"⫆","\\supseteqq",!0),we(Ae,$t,Ht,"⋑","\\Supset",!0),we(Ae,$t,Ht,"⊐","\\sqsupset",!0),we(Ae,$t,Ht,"≽","\\succcurlyeq",!0),we(Ae,$t,Ht,"⋟","\\curlyeqsucc",!0),we(Ae,$t,Ht,"≿","\\succsim",!0),we(Ae,$t,Ht,"⪸","\\succapprox",!0),we(Ae,$t,Ht,"⊳","\\vartriangleright"),we(Ae,$t,Ht,"⊵","\\trianglerighteq"),we(Ae,$t,Ht,"⊩","\\Vdash",!0),we(Ae,$t,Ht,"∣","\\shortmid"),we(Ae,$t,Ht,"∥","\\shortparallel"),we(Ae,$t,Ht,"≬","\\between",!0),we(Ae,$t,Ht,"⋔","\\pitchfork",!0),we(Ae,$t,Ht,"∝","\\varpropto"),we(Ae,$t,Ht,"◀","\\blacktriangleleft"),we(Ae,$t,Ht,"∴","\\therefore",!0),we(Ae,$t,Ht,"∍","\\backepsilon"),we(Ae,$t,Ht,"▶","\\blacktriangleright"),we(Ae,$t,Ht,"∵","\\because",!0),we(Ae,$t,Ht,"⋘","\\llless"),we(Ae,$t,Ht,"⋙","\\gggtr"),we(Ae,$t,us,"⊲","\\lhd"),we(Ae,$t,us,"⊳","\\rhd"),we(Ae,$t,Ht,"≂","\\eqsim",!0),we(Ae,Ue,Ht,"⋈","\\Join"),we(Ae,$t,Ht,"≑","\\Doteq",!0),we(Ae,$t,us,"∔","\\dotplus",!0),we(Ae,$t,us,"∖","\\smallsetminus"),we(Ae,$t,us,"⋒","\\Cap",!0),we(Ae,$t,us,"⋓","\\Cup",!0),we(Ae,$t,us,"⩞","\\doublebarwedge",!0),we(Ae,$t,us,"⊟","\\boxminus",!0),we(Ae,$t,us,"⊞","\\boxplus",!0),we(Ae,$t,us,"⋇","\\divideontimes",!0),we(Ae,$t,us,"⋉","\\ltimes",!0),we(Ae,$t,us,"⋊","\\rtimes",!0),we(Ae,$t,us,"⋋","\\leftthreetimes",!0),we(Ae,$t,us,"⋌","\\rightthreetimes",!0),we(Ae,$t,us,"⋏","\\curlywedge",!0),we(Ae,$t,us,"⋎","\\curlyvee",!0),we(Ae,$t,us,"⊝","\\circleddash",!0),we(Ae,$t,us,"⊛","\\circledast",!0),we(Ae,$t,us,"⋅","\\centerdot"),we(Ae,$t,us,"⊺","\\intercal",!0),we(Ae,$t,us,"⋒","\\doublecap"),we(Ae,$t,us,"⋓","\\doublecup"),we(Ae,$t,us,"⊠","\\boxtimes",!0),we(Ae,$t,Ht,"⇢","\\dashrightarrow",!0),we(Ae,$t,Ht,"⇠","\\dashleftarrow",!0),we(Ae,$t,Ht,"⇇","\\leftleftarrows",!0),we(Ae,$t,Ht,"⇆","\\leftrightarrows",!0),we(Ae,$t,Ht,"⇚","\\Lleftarrow",!0),we(Ae,$t,Ht,"↞","\\twoheadleftarrow",!0),we(Ae,$t,Ht,"↢","\\leftarrowtail",!0),we(Ae,$t,Ht,"↫","\\looparrowleft",!0),we(Ae,$t,Ht,"⇋","\\leftrightharpoons",!0),we(Ae,$t,Ht,"↶","\\curvearrowleft",!0),we(Ae,$t,Ht,"↺","\\circlearrowleft",!0),we(Ae,$t,Ht,"↰","\\Lsh",!0),we(Ae,$t,Ht,"⇈","\\upuparrows",!0),we(Ae,$t,Ht,"↿","\\upharpoonleft",!0),we(Ae,$t,Ht,"⇃","\\downharpoonleft",!0),we(Ae,Ue,Ht,"⊶","\\origof",!0),we(Ae,Ue,Ht,"⊷","\\imageof",!0),we(Ae,$t,Ht,"⊸","\\multimap",!0),we(Ae,$t,Ht,"↭","\\leftrightsquigarrow",!0),we(Ae,$t,Ht,"⇉","\\rightrightarrows",!0),we(Ae,$t,Ht,"⇄","\\rightleftarrows",!0),we(Ae,$t,Ht,"↠","\\twoheadrightarrow",!0),we(Ae,$t,Ht,"↣","\\rightarrowtail",!0),we(Ae,$t,Ht,"↬","\\looparrowright",!0),we(Ae,$t,Ht,"↷","\\curvearrowright",!0),we(Ae,$t,Ht,"↻","\\circlearrowright",!0),we(Ae,$t,Ht,"↱","\\Rsh",!0),we(Ae,$t,Ht,"⇊","\\downdownarrows",!0),we(Ae,$t,Ht,"↾","\\upharpoonright",!0),we(Ae,$t,Ht,"⇂","\\downharpoonright",!0),we(Ae,$t,Ht,"⇝","\\rightsquigarrow",!0),we(Ae,$t,Ht,"⇝","\\leadsto"),we(Ae,$t,Ht,"⇛","\\Rrightarrow",!0),we(Ae,$t,Ht,"↾","\\restriction"),we(Ae,Ue,mn,"‘","`"),we(Ae,Ue,mn,"$","\\$"),we(ii,Ue,mn,"$","\\$"),we(ii,Ue,mn,"$","\\textdollar"),we(Ae,Ue,mn,"%","\\%"),we(ii,Ue,mn,"%","\\%"),we(Ae,Ue,mn,"_","\\_"),we(ii,Ue,mn,"_","\\_"),we(ii,Ue,mn,"_","\\textunderscore"),we(Ae,Ue,mn,"∠","\\angle",!0),we(Ae,Ue,mn,"∞","\\infty",!0),we(Ae,Ue,mn,"′","\\prime"),we(Ae,Ue,mn,"△","\\triangle"),we(Ae,Ue,mn,"Γ","\\Gamma",!0),we(Ae,Ue,mn,"Δ","\\Delta",!0),we(Ae,Ue,mn,"Θ","\\Theta",!0),we(Ae,Ue,mn,"Λ","\\Lambda",!0),we(Ae,Ue,mn,"Ξ","\\Xi",!0),we(Ae,Ue,mn,"Π","\\Pi",!0),we(Ae,Ue,mn,"Σ","\\Sigma",!0),we(Ae,Ue,mn,"Υ","\\Upsilon",!0),we(Ae,Ue,mn,"Φ","\\Phi",!0),we(Ae,Ue,mn,"Ψ","\\Psi",!0),we(Ae,Ue,mn,"Ω","\\Omega",!0),we(Ae,Ue,mn,"A","Α"),we(Ae,Ue,mn,"B","Β"),we(Ae,Ue,mn,"E","Ε"),we(Ae,Ue,mn,"Z","Ζ"),we(Ae,Ue,mn,"H","Η"),we(Ae,Ue,mn,"I","Ι"),we(Ae,Ue,mn,"K","Κ"),we(Ae,Ue,mn,"M","Μ"),we(Ae,Ue,mn,"N","Ν"),we(Ae,Ue,mn,"O","Ο"),we(Ae,Ue,mn,"P","Ρ"),we(Ae,Ue,mn,"T","Τ"),we(Ae,Ue,mn,"X","Χ"),we(Ae,Ue,mn,"¬","\\neg",!0),we(Ae,Ue,mn,"¬","\\lnot"),we(Ae,Ue,mn,"⊤","\\top"),we(Ae,Ue,mn,"⊥","\\bot"),we(Ae,Ue,mn,"∅","\\emptyset"),we(Ae,$t,mn,"∅","\\varnothing"),we(Ae,Ue,Ca,"α","\\alpha",!0),we(Ae,Ue,Ca,"β","\\beta",!0),we(Ae,Ue,Ca,"γ","\\gamma",!0),we(Ae,Ue,Ca,"δ","\\delta",!0),we(Ae,Ue,Ca,"ϵ","\\epsilon",!0),we(Ae,Ue,Ca,"ζ","\\zeta",!0),we(Ae,Ue,Ca,"η","\\eta",!0),we(Ae,Ue,Ca,"θ","\\theta",!0),we(Ae,Ue,Ca,"ι","\\iota",!0),we(Ae,Ue,Ca,"κ","\\kappa",!0),we(Ae,Ue,Ca,"λ","\\lambda",!0),we(Ae,Ue,Ca,"μ","\\mu",!0),we(Ae,Ue,Ca,"ν","\\nu",!0),we(Ae,Ue,Ca,"ξ","\\xi",!0),we(Ae,Ue,Ca,"ο","\\omicron",!0),we(Ae,Ue,Ca,"π","\\pi",!0),we(Ae,Ue,Ca,"ρ","\\rho",!0),we(Ae,Ue,Ca,"σ","\\sigma",!0),we(Ae,Ue,Ca,"τ","\\tau",!0),we(Ae,Ue,Ca,"υ","\\upsilon",!0),we(Ae,Ue,Ca,"ϕ","\\phi",!0),we(Ae,Ue,Ca,"χ","\\chi",!0),we(Ae,Ue,Ca,"ψ","\\psi",!0),we(Ae,Ue,Ca,"ω","\\omega",!0),we(Ae,Ue,Ca,"ε","\\varepsilon",!0),we(Ae,Ue,Ca,"ϑ","\\vartheta",!0),we(Ae,Ue,Ca,"ϖ","\\varpi",!0),we(Ae,Ue,Ca,"ϱ","\\varrho",!0),we(Ae,Ue,Ca,"ς","\\varsigma",!0),we(Ae,Ue,Ca,"φ","\\varphi",!0),we(Ae,Ue,us,"∗","*",!0),we(Ae,Ue,us,"+","+"),we(Ae,Ue,us,"−","-",!0),we(Ae,Ue,us,"⋅","\\cdot",!0),we(Ae,Ue,us,"∘","\\circ",!0),we(Ae,Ue,us,"÷","\\div",!0),we(Ae,Ue,us,"±","\\pm",!0),we(Ae,Ue,us,"×","\\times",!0),we(Ae,Ue,us,"∩","\\cap",!0),we(Ae,Ue,us,"∪","\\cup",!0),we(Ae,Ue,us,"∖","\\setminus",!0),we(Ae,Ue,us,"∧","\\land"),we(Ae,Ue,us,"∨","\\lor"),we(Ae,Ue,us,"∧","\\wedge",!0),we(Ae,Ue,us,"∨","\\vee",!0),we(Ae,Ue,mn,"√","\\surd"),we(Ae,Ue,hm,"⟨","\\langle",!0),we(Ae,Ue,hm,"∣","\\lvert"),we(Ae,Ue,hm,"∥","\\lVert"),we(Ae,Ue,Dp,"?","?"),we(Ae,Ue,Dp,"!","!"),we(Ae,Ue,Dp,"⟩","\\rangle",!0),we(Ae,Ue,Dp,"∣","\\rvert"),we(Ae,Ue,Dp,"∥","\\rVert"),we(Ae,Ue,Ht,"=","="),we(Ae,Ue,Ht,":",":"),we(Ae,Ue,Ht,"≈","\\approx",!0),we(Ae,Ue,Ht,"≅","\\cong",!0),we(Ae,Ue,Ht,"≥","\\ge"),we(Ae,Ue,Ht,"≥","\\geq",!0),we(Ae,Ue,Ht,"←","\\gets"),we(Ae,Ue,Ht,">","\\gt",!0),we(Ae,Ue,Ht,"∈","\\in",!0),we(Ae,Ue,Ht,"","\\@not"),we(Ae,Ue,Ht,"⊂","\\subset",!0),we(Ae,Ue,Ht,"⊃","\\supset",!0),we(Ae,Ue,Ht,"⊆","\\subseteq",!0),we(Ae,Ue,Ht,"⊇","\\supseteq",!0),we(Ae,$t,Ht,"⊈","\\nsubseteq",!0),we(Ae,$t,Ht,"⊉","\\nsupseteq",!0),we(Ae,Ue,Ht,"⊨","\\models"),we(Ae,Ue,Ht,"←","\\leftarrow",!0),we(Ae,Ue,Ht,"≤","\\le"),we(Ae,Ue,Ht,"≤","\\leq",!0),we(Ae,Ue,Ht,"<","\\lt",!0),we(Ae,Ue,Ht,"→","\\rightarrow",!0),we(Ae,Ue,Ht,"→","\\to"),we(Ae,$t,Ht,"≱","\\ngeq",!0),we(Ae,$t,Ht,"≰","\\nleq",!0),we(Ae,Ue,I7," ","\\ "),we(Ae,Ue,I7," ","\\space"),we(Ae,Ue,I7," ","\\nobreakspace"),we(ii,Ue,I7," ","\\ "),we(ii,Ue,I7," "," "),we(ii,Ue,I7," ","\\space"),we(ii,Ue,I7," ","\\nobreakspace"),we(Ae,Ue,I7,null,"\\nobreak"),we(Ae,Ue,I7,null,"\\allowbreak"),we(Ae,Ue,oQ,",",","),we(Ae,Ue,oQ,";",";"),we(Ae,$t,us,"⊼","\\barwedge",!0),we(Ae,$t,us,"⊻","\\veebar",!0),we(Ae,Ue,us,"⊙","\\odot",!0),we(Ae,Ue,us,"⊕","\\oplus",!0),we(Ae,Ue,us,"⊗","\\otimes",!0),we(Ae,Ue,mn,"∂","\\partial",!0),we(Ae,Ue,us,"⊘","\\oslash",!0),we(Ae,$t,us,"⊚","\\circledcirc",!0),we(Ae,$t,us,"⊡","\\boxdot",!0),we(Ae,Ue,us,"△","\\bigtriangleup"),we(Ae,Ue,us,"▽","\\bigtriangledown"),we(Ae,Ue,us,"†","\\dagger"),we(Ae,Ue,us,"⋄","\\diamond"),we(Ae,Ue,us,"⋆","\\star"),we(Ae,Ue,us,"◃","\\triangleleft"),we(Ae,Ue,us,"▹","\\triangleright"),we(Ae,Ue,hm,"{","\\{"),we(ii,Ue,mn,"{","\\{"),we(ii,Ue,mn,"{","\\textbraceleft"),we(Ae,Ue,Dp,"}","\\}"),we(ii,Ue,mn,"}","\\}"),we(ii,Ue,mn,"}","\\textbraceright"),we(Ae,Ue,hm,"{","\\lbrace"),we(Ae,Ue,Dp,"}","\\rbrace"),we(Ae,Ue,hm,"[","\\lbrack",!0),we(ii,Ue,mn,"[","\\lbrack",!0),we(Ae,Ue,Dp,"]","\\rbrack",!0),we(ii,Ue,mn,"]","\\rbrack",!0),we(Ae,Ue,hm,"(","\\lparen",!0),we(Ae,Ue,Dp,")","\\rparen",!0),we(ii,Ue,mn,"<","\\textless",!0),we(ii,Ue,mn,">","\\textgreater",!0),we(Ae,Ue,hm,"⌊","\\lfloor",!0),we(Ae,Ue,Dp,"⌋","\\rfloor",!0),we(Ae,Ue,hm,"⌈","\\lceil",!0),we(Ae,Ue,Dp,"⌉","\\rceil",!0),we(Ae,Ue,mn,"\\","\\backslash"),we(Ae,Ue,mn,"∣","|"),we(Ae,Ue,mn,"∣","\\vert"),we(ii,Ue,mn,"|","\\textbar",!0),we(Ae,Ue,mn,"∥","\\|"),we(Ae,Ue,mn,"∥","\\Vert"),we(ii,Ue,mn,"∥","\\textbardbl"),we(ii,Ue,mn,"~","\\textasciitilde"),we(ii,Ue,mn,"\\","\\textbackslash"),we(ii,Ue,mn,"^","\\textasciicircum"),we(Ae,Ue,Ht,"↑","\\uparrow",!0),we(Ae,Ue,Ht,"⇑","\\Uparrow",!0),we(Ae,Ue,Ht,"↓","\\downarrow",!0),we(Ae,Ue,Ht,"⇓","\\Downarrow",!0),we(Ae,Ue,Ht,"↕","\\updownarrow",!0),we(Ae,Ue,Ht,"⇕","\\Updownarrow",!0),we(Ae,Ue,O0,"∐","\\coprod"),we(Ae,Ue,O0,"⋁","\\bigvee"),we(Ae,Ue,O0,"⋀","\\bigwedge"),we(Ae,Ue,O0,"⨄","\\biguplus"),we(Ae,Ue,O0,"⋂","\\bigcap"),we(Ae,Ue,O0,"⋃","\\bigcup"),we(Ae,Ue,O0,"∫","\\int"),we(Ae,Ue,O0,"∫","\\intop"),we(Ae,Ue,O0,"∬","\\iint"),we(Ae,Ue,O0,"∭","\\iiint"),we(Ae,Ue,O0,"∏","\\prod"),we(Ae,Ue,O0,"∑","\\sum"),we(Ae,Ue,O0,"⨂","\\bigotimes"),we(Ae,Ue,O0,"⨁","\\bigoplus"),we(Ae,Ue,O0,"⨀","\\bigodot"),we(Ae,Ue,O0,"∮","\\oint"),we(Ae,Ue,O0,"∯","\\oiint"),we(Ae,Ue,O0,"∰","\\oiiint"),we(Ae,Ue,O0,"⨆","\\bigsqcup"),we(Ae,Ue,O0,"∫","\\smallint"),we(ii,Ue,ND,"…","\\textellipsis"),we(Ae,Ue,ND,"…","\\mathellipsis"),we(ii,Ue,ND,"…","\\ldots",!0),we(Ae,Ue,ND,"…","\\ldots",!0),we(Ae,Ue,ND,"⋯","\\@cdots",!0),we(Ae,Ue,ND,"⋱","\\ddots",!0),we(Ae,Ue,mn,"⋮","\\varvdots"),we(Ae,Ue,xh,"ˊ","\\acute"),we(Ae,Ue,xh,"ˋ","\\grave"),we(Ae,Ue,xh,"¨","\\ddot"),we(Ae,Ue,xh,"~","\\tilde"),we(Ae,Ue,xh,"ˉ","\\bar"),we(Ae,Ue,xh,"˘","\\breve"),we(Ae,Ue,xh,"ˇ","\\check"),we(Ae,Ue,xh,"^","\\hat"),we(Ae,Ue,xh,"⃗","\\vec"),we(Ae,Ue,xh,"˙","\\dot"),we(Ae,Ue,xh,"˚","\\mathring"),we(Ae,Ue,Ca,"","\\@imath"),we(Ae,Ue,Ca,"","\\@jmath"),we(Ae,Ue,mn,"ı","ı"),we(Ae,Ue,mn,"ȷ","ȷ"),we(ii,Ue,mn,"ı","\\i",!0),we(ii,Ue,mn,"ȷ","\\j",!0),we(ii,Ue,mn,"ß","\\ss",!0),we(ii,Ue,mn,"æ","\\ae",!0),we(ii,Ue,mn,"œ","\\oe",!0),we(ii,Ue,mn,"ø","\\o",!0),we(ii,Ue,mn,"Æ","\\AE",!0),we(ii,Ue,mn,"Œ","\\OE",!0),we(ii,Ue,mn,"Ø","\\O",!0),we(ii,Ue,xh,"ˊ","\\'"),we(ii,Ue,xh,"ˋ","\\`"),we(ii,Ue,xh,"ˆ","\\^"),we(ii,Ue,xh,"˜","\\~"),we(ii,Ue,xh,"ˉ","\\="),we(ii,Ue,xh,"˘","\\u"),we(ii,Ue,xh,"˙","\\."),we(ii,Ue,xh,"¸","\\c"),we(ii,Ue,xh,"˚","\\r"),we(ii,Ue,xh,"ˇ","\\v"),we(ii,Ue,xh,"¨",'\\"'),we(ii,Ue,xh,"˝","\\H"),we(ii,Ue,xh,"◯","\\textcircled");var sze={"--":!0,"---":!0,"``":!0,"''":!0};we(ii,Ue,mn,"–","--",!0),we(ii,Ue,mn,"–","\\textendash"),we(ii,Ue,mn,"—","---",!0),we(ii,Ue,mn,"—","\\textemdash"),we(ii,Ue,mn,"‘","`",!0),we(ii,Ue,mn,"‘","\\textquoteleft"),we(ii,Ue,mn,"’","'",!0),we(ii,Ue,mn,"’","\\textquoteright"),we(ii,Ue,mn,"“","``",!0),we(ii,Ue,mn,"“","\\textquotedblleft"),we(ii,Ue,mn,"”","''",!0),we(ii,Ue,mn,"”","\\textquotedblright"),we(Ae,Ue,mn,"°","\\degree",!0),we(ii,Ue,mn,"°","\\degree"),we(ii,Ue,mn,"°","\\textdegree",!0),we(Ae,Ue,mn,"£","\\pounds"),we(Ae,Ue,mn,"£","\\mathsterling",!0),we(ii,Ue,mn,"£","\\pounds"),we(ii,Ue,mn,"£","\\textsterling",!0),we(Ae,$t,mn,"✠","\\maltese"),we(ii,$t,mn,"✠","\\maltese");for(var aze='0123456789/@."',ibe=0;ibe0)return R3(v,_,p,u,b.concat(A));if(T){var P,R;if(T==="boldsymbol"){var F=wHt(v,p,u,b,d);P=F.fontName,R=[F.fontClass]}else y?(P=dze[T].fontName,R=[T]):(P=dQ(T,u.fontWeight,u.fontShape),R=[T,u.fontWeight,u.fontShape]);if(fQ(v,P,p).metrics)return R3(v,P,p,u,b.concat(R));if(sze.hasOwnProperty(v)&&P.slice(0,10)==="Typewriter"){for(var j=[],W=0;W{if(T9(i.classes)!==T9(s.classes)||i.skew!==s.skew||i.maxFontSize!==s.maxFontSize)return!1;if(i.classes.length===1){var u=i.classes[0];if(u==="mbin"||u==="mord")return!1}for(var d in i.style)if(i.style.hasOwnProperty(d)&&i.style[d]!==s.style[d])return!1;for(var p in s.style)if(s.style.hasOwnProperty(p)&&i.style[p]!==s.style[p])return!1;return!0},kHt=i=>{for(var s=0;su&&(u=b.height),b.depth>d&&(d=b.depth),b.maxFontSize>p&&(p=b.maxFontSize)}s.height=u,s.depth=d,s.maxFontSize=p},j2=function(s,u,d,p){var v=new lR(s,u,d,p);return ube(v),v},hze=(i,s,u,d)=>new lR(i,s,u,d),EHt=function(s,u,d){var p=j2([s],[],u);return p.height=Math.max(d||u.fontMetrics().defaultRuleThickness,u.minRuleThickness),p.style.borderBottomWidth=ji(p.height),p.maxFontSize=1,p},THt=function(s,u,d,p){var v=new nbe(s,u,d,p);return ube(v),v},fze=function(s){var u=new uR(s);return ube(u),u},CHt=function(s,u){return s instanceof uR?j2([],[s],u):s},SHt=function(s){if(s.positionType==="individualShift"){for(var u=s.children,d=[u[0]],p=-u[0].shift-u[0].elem.depth,v=p,b=1;b{var u=j2(["mspace"],[],s),d=Gh(i,s);return u.style.marginRight=ji(d),u},dQ=function(s,u,d){var p="";switch(s){case"amsrm":p="AMS";break;case"textrm":p="Main";break;case"textsf":p="SansSerif";break;case"texttt":p="Typewriter";break;default:p=s}var v;return u==="textbf"&&d==="textit"?v="BoldItalic":u==="textbf"?v="Bold":u==="textit"?v="Italic":v="Regular",p+"-"+v},dze={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},gze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},LHt=function(s,u){var[d,p,v]=gze[s],b=new C9(d),y=new D7([b],{width:ji(p),height:ji(v),style:"width:"+ji(p),viewBox:"0 0 "+1e3*p+" "+1e3*v,preserveAspectRatio:"xMinYMin"}),T=hze(["overlay"],[y],u);return T.height=v,T.style.height=ji(v),T.style.width=ji(p),T},Hn={fontMap:dze,makeSymbol:R3,mathsym:vHt,makeSpan:j2,makeSvgSpan:hze,makeLineSpan:EHt,makeAnchor:THt,makeFragment:fze,wrapFragment:CHt,makeVList:_Ht,makeOrd:yHt,makeGlue:AHt,staticSvg:LHt,svgData:gze,tryCombineChars:kHt},Kh={number:3,unit:"mu"},$C={number:4,unit:"mu"},O7={number:5,unit:"mu"},MHt={mord:{mop:Kh,mbin:$C,mrel:O7,minner:Kh},mop:{mord:Kh,mop:Kh,mrel:O7,minner:Kh},mbin:{mord:$C,mop:$C,mopen:$C,minner:$C},mrel:{mord:O7,mop:O7,mopen:O7,minner:O7},mopen:{},mclose:{mop:Kh,mbin:$C,mrel:O7,minner:Kh},mpunct:{mord:Kh,mop:Kh,mrel:O7,mopen:Kh,mclose:Kh,mpunct:Kh,minner:Kh},minner:{mord:Kh,mop:Kh,mbin:$C,mrel:O7,mopen:Kh,mpunct:Kh,minner:Kh}},DHt={mord:{mop:Kh},mop:{mord:Kh,mop:Kh},mbin:{},mrel:{},mopen:{},mclose:{mop:Kh},mpunct:{},minner:{mop:Kh}},pze={},gQ={},pQ={};function Ji(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs,argTypes:d.argTypes,allowedInArgument:!!d.allowedInArgument,allowedInText:!!d.allowedInText,allowedInMath:d.allowedInMath===void 0?!0:d.allowedInMath,numOptionalArgs:d.numOptionalArgs||0,infix:!!d.infix,primitive:!!d.primitive,handler:p},T=0;T{var ee=W.classes[0],ie=j.classes[0];ee==="mbin"&&ga.contains(OHt,ie)?W.classes[0]="mord":ie==="mbin"&&ga.contains(IHt,ee)&&(j.classes[0]="mord")},{node:P},R,F),bze(v,(j,W)=>{var ee=lbe(W),ie=lbe(j),oe=ee&&ie?j.hasClass("mtight")?DHt[ee][ie]:MHt[ee][ie]:null;if(oe)return Hn.makeGlue(oe,_)},{node:P},R,F),v},bze=function i(s,u,d,p,v){p&&s.push(p);for(var b=0;bR=>{s.splice(P+1,0,R),b++})(b)}p&&s.pop()},mze=function(s){return s instanceof uR||s instanceof nbe||s instanceof lR&&s.hasClass("enclosing")?s:null},BHt=function i(s,u){var d=mze(s);if(d){var p=d.children;if(p.length){if(u==="right")return i(p[p.length-1],"right");if(u==="left")return i(p[0],"left")}}return s},lbe=function(s,u){return s?(u&&(s=BHt(s,u)),PHt[s.classes[0]]||null):null},hR=function(s,u){var d=["nulldelimiter"].concat(s.baseSizingClasses());return N7(u.concat(d))},fu=function(s,u,d){if(!s)return N7();if(gQ[s.type]){var p=gQ[s.type](s,u);if(d&&u.size!==d.size){p=N7(u.sizingClasses(d),[p],u);var v=u.sizeMultiplier/d.sizeMultiplier;p.height*=v,p.depth*=v}return p}else throw new Si("Got group of unknown type: '"+s.type+"'")};function mQ(i,s){var u=N7(["base"],i,s),d=N7(["strut"]);return d.style.height=ji(u.height+u.depth),u.depth&&(d.style.verticalAlign=ji(-u.depth)),u.children.unshift(d),u}function hbe(i,s){var u=null;i.length===1&&i[0].type==="tag"&&(u=i[0].tag,i=i[0].body);var d=h1(i,s,"root"),p;d.length===2&&d[1].hasClass("tag")&&(p=d.pop());for(var v=[],b=[],y=0;y0&&(v.push(mQ(b,s)),b=[]),v.push(d[y]));b.length>0&&v.push(mQ(b,s));var _;u?(_=mQ(h1(u,s,!0)),_.classes=["tag"],v.push(_)):p&&v.push(p);var A=N7(["katex-html"],v);if(A.setAttribute("aria-hidden","true"),_){var P=_.children[0];P.style.height=ji(A.height+A.depth),A.depth&&(P.style.verticalAlign=ji(-A.depth))}return A}function vze(i){return new uR(i)}class jv{constructor(s,u,d){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=s,this.attributes={},this.children=u||[],this.classes=d||[]}setAttribute(s,u){this.attributes[s]=u}getAttribute(s){return this.attributes[s]}toNode(){var s=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var u in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,u)&&s.setAttribute(u,this.attributes[u]);this.classes.length>0&&(s.className=T9(this.classes));for(var d=0;d0&&(s+=' class ="'+ga.escape(T9(this.classes))+'"'),s+=">";for(var d=0;d",s}toText(){return this.children.map(s=>s.toText()).join("")}}class fR{constructor(s){this.text=void 0,this.text=s}toNode(){return document.createTextNode(this.text)}toMarkup(){return ga.escape(this.toText())}toText(){return this.text}}class FHt{constructor(s){this.width=void 0,this.character=void 0,this.width=s,s>=.05555&&s<=.05556?this.character=" ":s>=.1666&&s<=.1667?this.character=" ":s>=.2222&&s<=.2223?this.character=" ":s>=.2777&&s<=.2778?this.character="  ":s>=-.05556&&s<=-.05555?this.character=" ⁣":s>=-.1667&&s<=-.1666?this.character=" ⁣":s>=-.2223&&s<=-.2222?this.character=" ⁣":s>=-.2778&&s<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var s=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return s.setAttribute("width",ji(this.width)),s}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}}var wi={MathNode:jv,TextNode:fR,SpaceNode:FHt,newDocumentFragment:vze},$v=function(s,u,d){return Gl[u][s]&&Gl[u][s].replace&&s.charCodeAt(0)!==55349&&!(sze.hasOwnProperty(s)&&d&&(d.fontFamily&&d.fontFamily.slice(4,6)==="tt"||d.font&&d.font.slice(4,6)==="tt"))&&(s=Gl[u][s].replace),new wi.TextNode(s)},fbe=function(s){return s.length===1?s[0]:new wi.MathNode("mrow",s)},dbe=function(s,u){if(u.fontFamily==="texttt")return"monospace";if(u.fontFamily==="textsf")return u.fontShape==="textit"&&u.fontWeight==="textbf"?"sans-serif-bold-italic":u.fontShape==="textit"?"sans-serif-italic":u.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(u.fontShape==="textit"&&u.fontWeight==="textbf")return"bold-italic";if(u.fontShape==="textit")return"italic";if(u.fontWeight==="textbf")return"bold";var d=u.font;if(!d||d==="mathnormal")return null;var p=s.mode;if(d==="mathit")return"italic";if(d==="boldsymbol")return s.type==="textord"?"bold":"bold-italic";if(d==="mathbf")return"bold";if(d==="mathbb")return"double-struck";if(d==="mathfrak")return"fraktur";if(d==="mathscr"||d==="mathcal")return"script";if(d==="mathsf")return"sans-serif";if(d==="mathtt")return"monospace";var v=s.text;if(ga.contains(["\\imath","\\jmath"],v))return null;Gl[p][v]&&Gl[p][v].replace&&(v=Gl[p][v].replace);var b=Hn.fontMap[d].fontName;return Z2e(v,b,p)?Hn.fontMap[d].variant:null},$2=function(s,u,d){if(s.length===1){var p=Il(s[0],u);return d&&p instanceof jv&&p.type==="mo"&&(p.setAttribute("lspace","0em"),p.setAttribute("rspace","0em")),[p]}for(var v=[],b,y=0;y0&&(P.text=P.text.slice(0,1)+"̸"+P.text.slice(1),v.pop())}}}v.push(T),b=T}return v},_9=function(s,u,d){return fbe($2(s,u,d))},Il=function(s,u){if(!s)return new wi.MathNode("mrow");if(pQ[s.type]){var d=pQ[s.type](s,u);return d}else throw new Si("Got group of unknown type: '"+s.type+"'")};function wze(i,s,u,d,p){var v=$2(i,u),b;v.length===1&&v[0]instanceof jv&&ga.contains(["mrow","mtable"],v[0].type)?b=v[0]:b=new wi.MathNode("mrow",v);var y=new wi.MathNode("annotation",[new wi.TextNode(s)]);y.setAttribute("encoding","application/x-tex");var T=new wi.MathNode("semantics",[b,y]),_=new wi.MathNode("math",[T]);_.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),d&&_.setAttribute("display","block");var A=p?"katex":"katex-mathml";return Hn.makeSpan([A],[_])}var yze=function(s){return new M7({style:s.displayMode?Ta.DISPLAY:Ta.TEXT,maxSize:s.maxSize,minRuleThickness:s.minRuleThickness})},xze=function(s,u){if(u.displayMode){var d=["katex-display"];u.leqno&&d.push("leqno"),u.fleqn&&d.push("fleqn"),s=Hn.makeSpan(d,[s])}return s},RHt=function(s,u,d){var p=yze(d),v;if(d.output==="mathml")return wze(s,u,p,d.displayMode,!0);if(d.output==="html"){var b=hbe(s,p);v=Hn.makeSpan(["katex"],[b])}else{var y=wze(s,u,p,d.displayMode,!1),T=hbe(s,p);v=Hn.makeSpan(["katex"],[y,T])}return xze(v,d)},jHt=function(s,u,d){var p=yze(d),v=hbe(s,p),b=Hn.makeSpan(["katex"],[v]);return xze(b,d)},$Ht={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},zHt=function(s){var u=new wi.MathNode("mo",[new wi.TextNode($Ht[s.replace(/^\\/,"")])]);return u.setAttribute("stretchy","true"),u},qHt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},HHt=function(s){return s.type==="ordgroup"?s.body.length:1},VHt=function(s,u){function d(){var y=4e5,T=s.label.slice(1);if(ga.contains(["widehat","widecheck","widetilde","utilde"],T)){var _=s,A=HHt(_.base),P,R,F;if(A>5)T==="widehat"||T==="widecheck"?(P=420,y=2364,F=.42,R=T+"4"):(P=312,y=2340,F=.34,R="tilde4");else{var j=[1,1,2,2,3,3][A];T==="widehat"||T==="widecheck"?(y=[0,1062,2364,2364,2364][j],P=[0,239,300,360,420][j],F=[0,.24,.3,.3,.36,.42][j],R=T+j):(y=[0,600,1033,2339,2340][j],P=[0,260,286,306,312][j],F=[0,.26,.286,.3,.306,.34][j],R="tilde"+j)}var W=new C9(R),ee=new D7([W],{width:"100%",height:ji(F),viewBox:"0 0 "+y+" "+P,preserveAspectRatio:"none"});return{span:Hn.makeSvgSpan([],[ee],u),minWidth:0,height:F}}else{var ie=[],oe=qHt[T],[be,ge,ae]=oe,ne=ae/1e3,se=be.length,de,X;if(se===1){var pe=oe[3];de=["hide-tail"],X=[pe]}else if(se===2)de=["halfarrow-left","halfarrow-right"],X=["xMinYMin","xMaxYMin"];else if(se===3)de=["brace-left","brace-center","brace-right"],X=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+se+" children.");for(var K=0;K0&&(p.style.minWidth=ji(v)),p},UHt=function(s,u,d,p,v){var b,y=s.height+s.depth+d+p;if(/fbox|color|angl/.test(u)){if(b=Hn.makeSpan(["stretchy",u],[],v),u==="fbox"){var T=v.color&&v.getColor();T&&(b.style.borderColor=T)}}else{var _=[];/^[bx]cancel$/.test(u)&&_.push(new rbe({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(u)&&_.push(new rbe({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var A=new D7(_,{width:"100%",height:ji(y)});b=Hn.makeSvgSpan([],[A],v)}return b.height=y,b.style.height=ji(y),b},P7={encloseSpan:UHt,mathMLnode:zHt,svgSpan:VHt};function Yo(i,s){if(!i||i.type!==s)throw new Error("Expected node of type "+s+", but got "+(i?"node of type "+i.type:String(i)));return i}function gbe(i){var s=vQ(i);if(!s)throw new Error("Expected node of symbol group type, but got "+(i?"node of type "+i.type:String(i)));return s}function vQ(i){return i&&(i.type==="atom"||bHt.hasOwnProperty(i.type))?i:null}var pbe=(i,s)=>{var u,d,p;i&&i.type==="supsub"?(d=Yo(i.base,"accent"),u=d.base,i.base=u,p=gHt(fu(i,s)),i.base=d):(d=Yo(i,"accent"),u=d.base);var v=fu(u,s.havingCrampedStyle()),b=d.isShifty&&ga.isCharacterBox(u),y=0;if(b){var T=ga.getBaseElem(u),_=fu(T,s.havingCrampedStyle());y=ize(_).skew}var A=d.label==="\\c",P=A?v.height+v.depth:Math.min(v.height,s.fontMetrics().xHeight),R;if(d.isStretchy)R=P7.svgSpan(d,s),R=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"elem",elem:R,wrapperClasses:["svg-align"],wrapperStyle:y>0?{width:"calc(100% - "+ji(2*y)+")",marginLeft:ji(2*y)}:void 0}]},s);else{var F,j;d.label==="\\vec"?(F=Hn.staticSvg("vec",s),j=Hn.svgData.vec[1]):(F=Hn.makeOrd({mode:d.mode,text:d.label},s,"textord"),F=ize(F),F.italic=0,j=F.width,A&&(P+=F.depth)),R=Hn.makeSpan(["accent-body"],[F]);var W=d.label==="\\textcircled";W&&(R.classes.push("accent-full"),P=v.height);var ee=y;W||(ee-=j/2),R.style.left=ji(ee),d.label==="\\textcircled"&&(R.style.top=".2em"),R=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:-P},{type:"elem",elem:R}]},s)}var ie=Hn.makeSpan(["mord","accent"],[R],s);return p?(p.children[0]=ie,p.height=Math.max(ie.height,p.height),p.classes[0]="mord",p):ie},kze=(i,s)=>{var u=i.isStretchy?P7.mathMLnode(i.label):new wi.MathNode("mo",[$v(i.label,i.mode)]),d=new wi.MathNode("mover",[Il(i.base,s),u]);return d.setAttribute("accent","true"),d},GHt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(i=>"\\"+i).join("|"));Ji({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(i,s)=>{var u=bQ(s[0]),d=!GHt.test(i.funcName),p=!d||i.funcName==="\\widehat"||i.funcName==="\\widetilde"||i.funcName==="\\widecheck";return{type:"accent",mode:i.parser.mode,label:i.funcName,isStretchy:d,isShifty:p,base:u}},htmlBuilder:pbe,mathmlBuilder:kze}),Ji({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(i,s)=>{var u=s[0],d=i.parser.mode;return d==="math"&&(i.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+i.funcName+" works only in text mode"),d="text"),{type:"accent",mode:d,label:i.funcName,isStretchy:!1,isShifty:!0,base:u}},htmlBuilder:pbe,mathmlBuilder:kze}),Ji({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"accentUnder",mode:u.mode,label:d,base:p}},htmlBuilder:(i,s)=>{var u=fu(i.base,s),d=P7.svgSpan(i,s),p=i.label==="\\utilde"?.12:0,v=Hn.makeVList({positionType:"top",positionData:u.height,children:[{type:"elem",elem:d,wrapperClasses:["svg-align"]},{type:"kern",size:p},{type:"elem",elem:u}]},s);return Hn.makeSpan(["mord","accentunder"],[v],s)},mathmlBuilder:(i,s)=>{var u=P7.mathMLnode(i.label),d=new wi.MathNode("munder",[Il(i.base,s),u]);return d.setAttribute("accentunder","true"),d}});var wQ=i=>{var s=new wi.MathNode("mpadded",i?[i]:[]);return s.setAttribute("width","+0.6em"),s.setAttribute("lspace","0.3em"),s};Ji({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(i,s,u){var{parser:d,funcName:p}=i;return{type:"xArrow",mode:d.mode,label:p,body:s[0],below:u[0]}},htmlBuilder(i,s){var u=s.style,d=s.havingStyle(u.sup()),p=Hn.wrapFragment(fu(i.body,d,s),s),v=i.label.slice(0,2)==="\\x"?"x":"cd";p.classes.push(v+"-arrow-pad");var b;i.below&&(d=s.havingStyle(u.sub()),b=Hn.wrapFragment(fu(i.below,d,s),s),b.classes.push(v+"-arrow-pad"));var y=P7.svgSpan(i,s),T=-s.fontMetrics().axisHeight+.5*y.height,_=-s.fontMetrics().axisHeight-.5*y.height-.111;(p.depth>.25||i.label==="\\xleftequilibrium")&&(_-=p.depth);var A;if(b){var P=-s.fontMetrics().axisHeight+b.height+.5*y.height+.111;A=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T},{type:"elem",elem:b,shift:P}]},s)}else A=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T}]},s);return A.children[0].children[0].children[1].classes.push("svg-align"),Hn.makeSpan(["mrel","x-arrow"],[A],s)},mathmlBuilder(i,s){var u=P7.mathMLnode(i.label);u.setAttribute("minsize",i.label.charAt(0)==="x"?"1.75em":"3.0em");var d;if(i.body){var p=wQ(Il(i.body,s));if(i.below){var v=wQ(Il(i.below,s));d=new wi.MathNode("munderover",[u,v,p])}else d=new wi.MathNode("mover",[u,p])}else if(i.below){var b=wQ(Il(i.below,s));d=new wi.MathNode("munder",[u,b])}else d=wQ(),d=new wi.MathNode("mover",[u,d]);return d}});var KHt=Hn.makeSpan;function Eze(i,s){var u=h1(i.body,s,!0);return KHt([i.mclass],u,s)}function Tze(i,s){var u,d=$2(i.body,s);return i.mclass==="minner"?u=new wi.MathNode("mpadded",d):i.mclass==="mord"?i.isCharacterBox?(u=d[0],u.type="mi"):u=new wi.MathNode("mi",d):(i.isCharacterBox?(u=d[0],u.type="mo"):u=new wi.MathNode("mo",d),i.mclass==="mbin"?(u.attributes.lspace="0.22em",u.attributes.rspace="0.22em"):i.mclass==="mpunct"?(u.attributes.lspace="0em",u.attributes.rspace="0.17em"):i.mclass==="mopen"||i.mclass==="mclose"?(u.attributes.lspace="0em",u.attributes.rspace="0em"):i.mclass==="minner"&&(u.attributes.lspace="0.0556em",u.attributes.width="+0.1111em")),u}Ji({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"mclass",mode:u.mode,mclass:"m"+d.slice(5),body:Yf(p),isCharacterBox:ga.isCharacterBox(p)}},htmlBuilder:Eze,mathmlBuilder:Tze});var yQ=i=>{var s=i.type==="ordgroup"&&i.body.length?i.body[0]:i;return s.type==="atom"&&(s.family==="bin"||s.family==="rel")?"m"+s.family:"mord"};Ji({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(i,s){var{parser:u}=i;return{type:"mclass",mode:u.mode,mclass:yQ(s[0]),body:Yf(s[1]),isCharacterBox:ga.isCharacterBox(s[1])}}}),Ji({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(i,s){var{parser:u,funcName:d}=i,p=s[1],v=s[0],b;d!=="\\stackrel"?b=yQ(p):b="mrel";var y={type:"op",mode:p.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:d!=="\\stackrel",body:Yf(p)},T={type:"supsub",mode:v.mode,base:y,sup:d==="\\underset"?null:v,sub:d==="\\underset"?v:null};return{type:"mclass",mode:u.mode,mclass:b,body:[T],isCharacterBox:ga.isCharacterBox(T)}},htmlBuilder:Eze,mathmlBuilder:Tze}),Ji({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"pmb",mode:u.mode,mclass:yQ(s[0]),body:Yf(s[0])}},htmlBuilder(i,s){var u=h1(i.body,s,!0),d=Hn.makeSpan([i.mclass],u,s);return d.style.textShadow="0.02em 0.01em 0.04px",d},mathmlBuilder(i,s){var u=$2(i.body,s),d=new wi.MathNode("mstyle",u);return d.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),d}});var WHt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Cze=()=>({type:"styling",body:[],mode:"math",style:"display"}),Sze=i=>i.type==="textord"&&i.text==="@",YHt=(i,s)=>(i.type==="mathord"||i.type==="atom")&&i.text===s;function XHt(i,s,u){var d=WHt[i];switch(d){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return u.callFunction(d,[s[0]],[s[1]]);case"\\uparrow":case"\\downarrow":{var p=u.callFunction("\\\\cdleft",[s[0]],[]),v={type:"atom",text:d,mode:"math",family:"rel"},b=u.callFunction("\\Big",[v],[]),y=u.callFunction("\\\\cdright",[s[1]],[]),T={type:"ordgroup",mode:"math",body:[p,b,y]};return u.callFunction("\\\\cdparent",[T],[])}case"\\\\cdlongequal":return u.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var _={type:"textord",text:"\\Vert",mode:"math"};return u.callFunction("\\Big",[_],[])}default:return{type:"textord",text:" ",mode:"math"}}}function QHt(i){var s=[];for(i.gullet.beginGroup(),i.gullet.macros.set("\\cr","\\\\\\relax"),i.gullet.beginGroup();;){s.push(i.parseExpression(!1,"\\\\")),i.gullet.endGroup(),i.gullet.beginGroup();var u=i.fetch().text;if(u==="&"||u==="\\\\")i.consume();else if(u==="\\end"){s[s.length-1].length===0&&s.pop();break}else throw new Si("Expected \\\\ or \\cr or \\end",i.nextToken)}for(var d=[],p=[d],v=0;v-1))if("<>AV".indexOf(_)>-1)for(var P=0;P<2;P++){for(var R=!0,F=T+1;FAV=|." after @',b[T]);var j=XHt(_,A,i),W={type:"styling",body:[j],mode:"math",style:"display"};d.push(W),y=Cze()}v%2===0?d.push(y):d.shift(),d=[],p.push(d)}i.gullet.endGroup(),i.gullet.endGroup();var ee=new Array(p[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:p,arraystretch:1,addJot:!0,rowGaps:[null],cols:ee,colSeparationType:"CD",hLinesBeforeRow:new Array(p.length+1).fill([])}}Ji({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"cdlabel",mode:u.mode,side:d.slice(4),label:s[0]}},htmlBuilder(i,s){var u=s.havingStyle(s.style.sup()),d=Hn.wrapFragment(fu(i.label,u,s),s);return d.classes.push("cd-label-"+i.side),d.style.bottom=ji(.8-d.depth),d.height=0,d.depth=0,d},mathmlBuilder(i,s){var u=new wi.MathNode("mrow",[Il(i.label,s)]);return u=new wi.MathNode("mpadded",[u]),u.setAttribute("width","0"),i.side==="left"&&u.setAttribute("lspace","-1width"),u.setAttribute("voffset","0.7em"),u=new wi.MathNode("mstyle",[u]),u.setAttribute("displaystyle","false"),u.setAttribute("scriptlevel","1"),u}}),Ji({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(i,s){var{parser:u}=i;return{type:"cdlabelparent",mode:u.mode,fragment:s[0]}},htmlBuilder(i,s){var u=Hn.wrapFragment(fu(i.fragment,s),s);return u.classes.push("cd-vert-arrow"),u},mathmlBuilder(i,s){return new wi.MathNode("mrow",[Il(i.fragment,s)])}}),Ji({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(i,s){for(var{parser:u}=i,d=Yo(s[0],"ordgroup"),p=d.body,v="",b=0;b=1114111)throw new Si("\\@char with invalid code point "+v);return T<=65535?_=String.fromCharCode(T):(T-=65536,_=String.fromCharCode((T>>10)+55296,(T&1023)+56320)),{type:"textord",mode:u.mode,text:_}}});var _ze=(i,s)=>{var u=h1(i.body,s.withColor(i.color),!1);return Hn.makeFragment(u)},Aze=(i,s)=>{var u=$2(i.body,s.withColor(i.color)),d=new wi.MathNode("mstyle",u);return d.setAttribute("mathcolor",i.color),d};Ji({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(i,s){var{parser:u}=i,d=Yo(s[0],"color-token").color,p=s[1];return{type:"color",mode:u.mode,color:d,body:Yf(p)}},htmlBuilder:_ze,mathmlBuilder:Aze}),Ji({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(i,s){var{parser:u,breakOnTokenText:d}=i,p=Yo(s[0],"color-token").color;u.gullet.macros.set("\\current@color",p);var v=u.parseExpression(!0,d);return{type:"color",mode:u.mode,color:p,body:v}},htmlBuilder:_ze,mathmlBuilder:Aze}),Ji({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(i,s,u){var{parser:d}=i,p=d.gullet.future().text==="["?d.parseSizeGroup(!0):null,v=!d.settings.displayMode||!d.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:d.mode,newLine:v,size:p&&Yo(p,"size").value}},htmlBuilder(i,s){var u=Hn.makeSpan(["mspace"],[],s);return i.newLine&&(u.classes.push("newline"),i.size&&(u.style.marginTop=ji(Gh(i.size,s)))),u},mathmlBuilder(i,s){var u=new wi.MathNode("mspace");return i.newLine&&(u.setAttribute("linebreak","newline"),i.size&&u.setAttribute("height",ji(Gh(i.size,s)))),u}});var bbe={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Lze=i=>{var s=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new Si("Expected a control sequence",i);return s},JHt=i=>{var s=i.gullet.popToken();return s.text==="="&&(s=i.gullet.popToken(),s.text===" "&&(s=i.gullet.popToken())),s},Mze=(i,s,u,d)=>{var p=i.gullet.macros.get(u.text);p==null&&(u.noexpand=!0,p={tokens:[u],numArgs:0,unexpandable:!i.gullet.isExpandable(u.text)}),i.gullet.macros.set(s,p,d)};Ji({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s,funcName:u}=i;s.consumeSpaces();var d=s.fetch();if(bbe[d.text])return(u==="\\global"||u==="\\\\globallong")&&(d.text=bbe[d.text]),Yo(s.parseFunction(),"internal");throw new Si("Invalid token after macro prefix",d)}}),Ji({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=s.gullet.popToken(),p=d.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(p))throw new Si("Expected a control sequence",d);for(var v=0,b,y=[[]];s.gullet.future().text!=="{";)if(d=s.gullet.popToken(),d.text==="#"){if(s.gullet.future().text==="{"){b=s.gullet.future(),y[v].push("{");break}if(d=s.gullet.popToken(),!/^[1-9]$/.test(d.text))throw new Si('Invalid argument number "'+d.text+'"');if(parseInt(d.text)!==v+1)throw new Si('Argument number "'+d.text+'" out of order');v++,y.push([])}else{if(d.text==="EOF")throw new Si("Expected a macro definition");y[v].push(d.text)}var{tokens:T}=s.gullet.consumeArg();return b&&T.unshift(b),(u==="\\edef"||u==="\\xdef")&&(T=s.gullet.expandTokens(T),T.reverse()),s.gullet.macros.set(p,{tokens:T,numArgs:v,delimiters:y},u===bbe[u]),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=Lze(s.gullet.popToken());s.gullet.consumeSpaces();var p=JHt(s);return Mze(s,d,p,u==="\\\\globallet"),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=Lze(s.gullet.popToken()),p=s.gullet.popToken(),v=s.gullet.popToken();return Mze(s,d,v,u==="\\\\globalfuture"),s.gullet.pushToken(v),s.gullet.pushToken(p),{type:"internal",mode:s.mode}}});var dR=function(s,u,d){var p=Gl.math[s]&&Gl.math[s].replace,v=Z2e(p||s,u,d);if(!v)throw new Error("Unsupported symbol "+s+" and font size "+u+".");return v},mbe=function(s,u,d,p){var v=d.havingBaseStyle(u),b=Hn.makeSpan(p.concat(v.sizingClasses(d)),[s],d),y=v.sizeMultiplier/d.sizeMultiplier;return b.height*=y,b.depth*=y,b.maxFontSize=v.sizeMultiplier,b},Dze=function(s,u,d){var p=u.havingBaseStyle(d),v=(1-u.sizeMultiplier/p.sizeMultiplier)*u.fontMetrics().axisHeight;s.classes.push("delimcenter"),s.style.top=ji(v),s.height-=v,s.depth+=v},ZHt=function(s,u,d,p,v,b){var y=Hn.makeSymbol(s,"Main-Regular",v,p),T=mbe(y,u,p,b);return d&&Dze(T,p,u),T},eVt=function(s,u,d,p){return Hn.makeSymbol(s,"Size"+u+"-Regular",d,p)},Ize=function(s,u,d,p,v,b){var y=eVt(s,u,v,p),T=mbe(Hn.makeSpan(["delimsizing","size"+u],[y],p),Ta.TEXT,p,b);return d&&Dze(T,p,Ta.TEXT),T},vbe=function(s,u,d){var p;u==="Size1-Regular"?p="delim-size1":p="delim-size4";var v=Hn.makeSpan(["delimsizinginner",p],[Hn.makeSpan([],[Hn.makeSymbol(s,u,d)])]);return{type:"elem",elem:v}},wbe=function(s,u,d){var p=K4["Size4-Regular"][s.charCodeAt(0)]?K4["Size4-Regular"][s.charCodeAt(0)][4]:K4["Size1-Regular"][s.charCodeAt(0)][4],v=new C9("inner",aHt(s,Math.round(1e3*u))),b=new D7([v],{width:ji(p),height:ji(u),style:"width:"+ji(p),viewBox:"0 0 "+1e3*p+" "+Math.round(1e3*u),preserveAspectRatio:"xMinYMin"}),y=Hn.makeSvgSpan([],[b],d);return y.height=u,y.style.height=ji(u),y.style.width=ji(p),{type:"elem",elem:y}},ybe=.008,xQ={type:"kern",size:-1*ybe},tVt=["|","\\lvert","\\rvert","\\vert"],nVt=["\\|","\\lVert","\\rVert","\\Vert"],Oze=function(s,u,d,p,v,b){var y,T,_,A,P="",R=0;y=_=A=s,T=null;var F="Size1-Regular";s==="\\uparrow"?_=A="⏐":s==="\\Uparrow"?_=A="‖":s==="\\downarrow"?y=_="⏐":s==="\\Downarrow"?y=_="‖":s==="\\updownarrow"?(y="\\uparrow",_="⏐",A="\\downarrow"):s==="\\Updownarrow"?(y="\\Uparrow",_="‖",A="\\Downarrow"):ga.contains(tVt,s)?(_="∣",P="vert",R=333):ga.contains(nVt,s)?(_="∥",P="doublevert",R=556):s==="["||s==="\\lbrack"?(y="⎡",_="⎢",A="⎣",F="Size4-Regular",P="lbrack",R=667):s==="]"||s==="\\rbrack"?(y="⎤",_="⎥",A="⎦",F="Size4-Regular",P="rbrack",R=667):s==="\\lfloor"||s==="⌊"?(_=y="⎢",A="⎣",F="Size4-Regular",P="lfloor",R=667):s==="\\lceil"||s==="⌈"?(y="⎡",_=A="⎢",F="Size4-Regular",P="lceil",R=667):s==="\\rfloor"||s==="⌋"?(_=y="⎥",A="⎦",F="Size4-Regular",P="rfloor",R=667):s==="\\rceil"||s==="⌉"?(y="⎤",_=A="⎥",F="Size4-Regular",P="rceil",R=667):s==="("||s==="\\lparen"?(y="⎛",_="⎜",A="⎝",F="Size4-Regular",P="lparen",R=875):s===")"||s==="\\rparen"?(y="⎞",_="⎟",A="⎠",F="Size4-Regular",P="rparen",R=875):s==="\\{"||s==="\\lbrace"?(y="⎧",T="⎨",A="⎩",_="⎪",F="Size4-Regular"):s==="\\}"||s==="\\rbrace"?(y="⎫",T="⎬",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lgroup"||s==="⟮"?(y="⎧",A="⎩",_="⎪",F="Size4-Regular"):s==="\\rgroup"||s==="⟯"?(y="⎫",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lmoustache"||s==="⎰"?(y="⎧",A="⎭",_="⎪",F="Size4-Regular"):(s==="\\rmoustache"||s==="⎱")&&(y="⎫",A="⎩",_="⎪",F="Size4-Regular");var j=dR(y,F,v),W=j.height+j.depth,ee=dR(_,F,v),ie=ee.height+ee.depth,oe=dR(A,F,v),be=oe.height+oe.depth,ge=0,ae=1;if(T!==null){var ne=dR(T,F,v);ge=ne.height+ne.depth,ae=2}var se=W+be+ge,de=Math.max(0,Math.ceil((u-se)/(ae*ie))),X=se+de*ae*ie,pe=p.fontMetrics().axisHeight;d&&(pe*=p.sizeMultiplier);var K=X/2-pe,xe=[];if(P.length>0){var U=X-W-be,Be=Math.round(X*1e3),Ne=oHt(P,Math.round(U*1e3)),je=new C9(P,Ne),Ie=(R/1e3).toFixed(3)+"em",Se=(Be/1e3).toFixed(3)+"em",Ce=new D7([je],{width:Ie,height:Se,viewBox:"0 0 "+R+" "+Be}),ke=Hn.makeSvgSpan([],[Ce],p);ke.height=Be/1e3,ke.style.width=Ie,ke.style.height=Se,xe.push({type:"elem",elem:ke})}else{if(xe.push(vbe(A,F,v)),xe.push(xQ),T===null){var Ke=X-W-be+2*ybe;xe.push(wbe(_,Ke,p))}else{var Ft=(X-W-be-ge)/2+2*ybe;xe.push(wbe(_,Ft,p)),xe.push(xQ),xe.push(vbe(T,F,v)),xe.push(xQ),xe.push(wbe(_,Ft,p))}xe.push(xQ),xe.push(vbe(y,F,v))}var Pe=p.havingBaseStyle(Ta.TEXT),gn=Hn.makeVList({positionType:"bottom",positionData:K,children:xe},Pe);return mbe(Hn.makeSpan(["delimsizing","mult"],[gn],Pe),Ta.TEXT,p,b)},xbe=80,kbe=.08,Ebe=function(s,u,d,p,v){var b=sHt(s,p,d),y=new C9(s,b),T=new D7([y],{width:"400em",height:ji(u),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});return Hn.makeSvgSpan(["hide-tail"],[T],v)},rVt=function(s,u){var d=u.havingBaseSizing(),p=Fze("\\surd",s*d.sizeMultiplier,Bze,d),v=d.sizeMultiplier,b=Math.max(0,u.minRuleThickness-u.fontMetrics().sqrtRuleThickness),y,T=0,_=0,A=0,P;return p.type==="small"?(A=1e3+1e3*b+xbe,s<1?v=1:s<1.4&&(v=.7),T=(1+b+kbe)/v,_=(1+b)/v,y=Ebe("sqrtMain",T,A,b,u),y.style.minWidth="0.853em",P=.833/v):p.type==="large"?(A=(1e3+xbe)*gR[p.size],_=(gR[p.size]+b)/v,T=(gR[p.size]+b+kbe)/v,y=Ebe("sqrtSize"+p.size,T,A,b,u),y.style.minWidth="1.02em",P=1/v):(T=s+b+kbe,_=s+b,A=Math.floor(1e3*s+b)+xbe,y=Ebe("sqrtTall",T,A,b,u),y.style.minWidth="0.742em",P=1.056),y.height=_,y.style.height=ji(T),{span:y,advanceWidth:P,ruleWidth:(u.fontMetrics().sqrtRuleThickness+b)*v}},Nze=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],iVt=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Pze=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],gR=[0,1.2,1.8,2.4,3],sVt=function(s,u,d,p,v){if(s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle"),ga.contains(Nze,s)||ga.contains(Pze,s))return Ize(s,u,!1,d,p,v);if(ga.contains(iVt,s))return Oze(s,gR[u],!1,d,p,v);throw new Si("Illegal delimiter: '"+s+"'")},aVt=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],oVt=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"stack"}],Bze=[{type:"small",style:Ta.SCRIPTSCRIPT},{type:"small",style:Ta.SCRIPT},{type:"small",style:Ta.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],cVt=function(s){if(s.type==="small")return"Main-Regular";if(s.type==="large")return"Size"+s.size+"-Regular";if(s.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+s.type+"' here.")},Fze=function(s,u,d,p){for(var v=Math.min(2,3-p.style.size),b=v;bu)return d[b]}return d[d.length-1]},Rze=function(s,u,d,p,v,b){s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle");var y;ga.contains(Pze,s)?y=aVt:ga.contains(Nze,s)?y=Bze:y=oVt;var T=Fze(s,u,y,p);return T.type==="small"?ZHt(s,T.style,d,p,v,b):T.type==="large"?Ize(s,T.size,d,p,v,b):Oze(s,u,d,p,v,b)},uVt=function(s,u,d,p,v,b){var y=p.fontMetrics().axisHeight*p.sizeMultiplier,T=901,_=5/p.fontMetrics().ptPerEm,A=Math.max(u-y,d+y),P=Math.max(A/500*T,2*A-_);return Rze(s,P,!0,p,v,b)},B7={sqrtImage:rVt,sizedDelim:sVt,sizeToMaxHeight:gR,customSizedDelim:Rze,leftRightDelim:uVt},jze={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},lVt=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function kQ(i,s){var u=vQ(i);if(u&&ga.contains(lVt,u.text))return u;throw u?new Si("Invalid delimiter '"+u.text+"' after '"+s.funcName+"'",i):new Si("Invalid delimiter type '"+i.type+"'",i)}Ji({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(i,s)=>{var u=kQ(s[0],i);return{type:"delimsizing",mode:i.parser.mode,size:jze[i.funcName].size,mclass:jze[i.funcName].mclass,delim:u.text}},htmlBuilder:(i,s)=>i.delim==="."?Hn.makeSpan([i.mclass]):B7.sizedDelim(i.delim,i.size,s,i.mode,[i.mclass]),mathmlBuilder:i=>{var s=[];i.delim!=="."&&s.push($v(i.delim,i.mode));var u=new wi.MathNode("mo",s);i.mclass==="mopen"||i.mclass==="mclose"?u.setAttribute("fence","true"):u.setAttribute("fence","false"),u.setAttribute("stretchy","true");var d=ji(B7.sizeToMaxHeight[i.size]);return u.setAttribute("minsize",d),u.setAttribute("maxsize",d),u}});function $ze(i){if(!i.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Ji({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=i.parser.gullet.macros.get("\\current@color");if(u&&typeof u!="string")throw new Si("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:i.parser.mode,delim:kQ(s[0],i).text,color:u}}}),Ji({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=kQ(s[0],i),d=i.parser;++d.leftrightDepth;var p=d.parseExpression(!1);--d.leftrightDepth,d.expect("\\right",!1);var v=Yo(d.parseFunction(),"leftright-right");return{type:"leftright",mode:d.mode,body:p,left:u.text,right:v.delim,rightColor:v.color}},htmlBuilder:(i,s)=>{$ze(i);for(var u=h1(i.body,s,!0,["mopen","mclose"]),d=0,p=0,v=!1,b=0;b{$ze(i);var u=$2(i.body,s);if(i.left!=="."){var d=new wi.MathNode("mo",[$v(i.left,i.mode)]);d.setAttribute("fence","true"),u.unshift(d)}if(i.right!=="."){var p=new wi.MathNode("mo",[$v(i.right,i.mode)]);p.setAttribute("fence","true"),i.rightColor&&p.setAttribute("mathcolor",i.rightColor),u.push(p)}return fbe(u)}}),Ji({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=kQ(s[0],i);if(!i.parser.leftrightDepth)throw new Si("\\middle without preceding \\left",u);return{type:"middle",mode:i.parser.mode,delim:u.text}},htmlBuilder:(i,s)=>{var u;if(i.delim===".")u=hR(s,[]);else{u=B7.sizedDelim(i.delim,1,s,i.mode,[]);var d={delim:i.delim,options:s};u.isMiddle=d}return u},mathmlBuilder:(i,s)=>{var u=i.delim==="\\vert"||i.delim==="|"?$v("|","text"):$v(i.delim,i.mode),d=new wi.MathNode("mo",[u]);return d.setAttribute("fence","true"),d.setAttribute("lspace","0.05em"),d.setAttribute("rspace","0.05em"),d}});var Tbe=(i,s)=>{var u=Hn.wrapFragment(fu(i.body,s),s),d=i.label.slice(1),p=s.sizeMultiplier,v,b=0,y=ga.isCharacterBox(i.body);if(d==="sout")v=Hn.makeSpan(["stretchy","sout"]),v.height=s.fontMetrics().defaultRuleThickness/p,b=-.5*s.fontMetrics().xHeight;else if(d==="phase"){var T=Gh({number:.6,unit:"pt"},s),_=Gh({number:.35,unit:"ex"},s),A=s.havingBaseSizing();p=p/A.sizeMultiplier;var P=u.height+u.depth+T+_;u.style.paddingLeft=ji(P/2+T);var R=Math.floor(1e3*P*p),F=rHt(R),j=new D7([new C9("phase",F)],{width:"400em",height:ji(R/1e3),viewBox:"0 0 400000 "+R,preserveAspectRatio:"xMinYMin slice"});v=Hn.makeSvgSpan(["hide-tail"],[j],s),v.style.height=ji(P),b=u.depth+T+_}else{/cancel/.test(d)?y||u.classes.push("cancel-pad"):d==="angl"?u.classes.push("anglpad"):u.classes.push("boxpad");var W=0,ee=0,ie=0;/box/.test(d)?(ie=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness),W=s.fontMetrics().fboxsep+(d==="colorbox"?0:ie),ee=W):d==="angl"?(ie=Math.max(s.fontMetrics().defaultRuleThickness,s.minRuleThickness),W=4*ie,ee=Math.max(0,.25-u.depth)):(W=y?.2:0,ee=W),v=P7.encloseSpan(u,d,W,ee,s),/fbox|boxed|fcolorbox/.test(d)?(v.style.borderStyle="solid",v.style.borderWidth=ji(ie)):d==="angl"&&ie!==.049&&(v.style.borderTopWidth=ji(ie),v.style.borderRightWidth=ji(ie)),b=u.depth+ee,i.backgroundColor&&(v.style.backgroundColor=i.backgroundColor,i.borderColor&&(v.style.borderColor=i.borderColor))}var oe;if(i.backgroundColor)oe=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:v,shift:b},{type:"elem",elem:u,shift:0}]},s);else{var be=/cancel|phase/.test(d)?["svg-align"]:[];oe=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:v,shift:b,wrapperClasses:be}]},s)}return/cancel/.test(d)&&(oe.height=u.height,oe.depth=u.depth),/cancel/.test(d)&&!y?Hn.makeSpan(["mord","cancel-lap"],[oe],s):Hn.makeSpan(["mord"],[oe],s)},Cbe=(i,s)=>{var u=0,d=new wi.MathNode(i.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Il(i.body,s)]);switch(i.label){case"\\cancel":d.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":d.setAttribute("notation","downdiagonalstrike");break;case"\\phase":d.setAttribute("notation","phasorangle");break;case"\\sout":d.setAttribute("notation","horizontalstrike");break;case"\\fbox":d.setAttribute("notation","box");break;case"\\angl":d.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(u=s.fontMetrics().fboxsep*s.fontMetrics().ptPerEm,d.setAttribute("width","+"+2*u+"pt"),d.setAttribute("height","+"+2*u+"pt"),d.setAttribute("lspace",u+"pt"),d.setAttribute("voffset",u+"pt"),i.label==="\\fcolorbox"){var p=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness);d.setAttribute("style","border: "+p+"em solid "+String(i.borderColor))}break;case"\\xcancel":d.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return i.backgroundColor&&d.setAttribute("mathbackground",i.backgroundColor),d};Ji({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Yo(s[0],"color-token").color,b=s[1];return{type:"enclose",mode:d.mode,label:p,backgroundColor:v,body:b}},htmlBuilder:Tbe,mathmlBuilder:Cbe}),Ji({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Yo(s[0],"color-token").color,b=Yo(s[1],"color-token").color,y=s[2];return{type:"enclose",mode:d.mode,label:p,backgroundColor:b,borderColor:v,body:y}},htmlBuilder:Tbe,mathmlBuilder:Cbe}),Ji({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\fbox",body:s[0]}}}),Ji({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:Tbe,mathmlBuilder:Cbe}),Ji({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\angl",body:s[0]}}});var zze={};function W4(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:p},T=0;T{var s=i.parser.settings;if(!s.displayMode)throw new Si("{"+i.envName+"} can be used only in display mode.")};function Sbe(i){if(i.indexOf("ed")===-1)return i.indexOf("*")===-1}function A9(i,s,u){var{hskipBeforeAndAfter:d,addJot:p,cols:v,arraystretch:b,colSeparationType:y,autoTag:T,singleRow:_,emptySingleRow:A,maxNumCols:P,leqno:R}=s;if(i.gullet.beginGroup(),_||i.gullet.macros.set("\\cr","\\\\\\relax"),!b){var F=i.gullet.expandMacroAsText("\\arraystretch");if(F==null)b=1;else if(b=parseFloat(F),!b||b<0)throw new Si("Invalid \\arraystretch: "+F)}i.gullet.beginGroup();var j=[],W=[j],ee=[],ie=[],oe=T!=null?[]:void 0;function be(){T&&i.gullet.macros.set("\\@eqnsw","1",!0)}function ge(){oe&&(i.gullet.macros.get("\\df@tag")?(oe.push(i.subparse([new Bv("\\df@tag")])),i.gullet.macros.set("\\df@tag",void 0,!0)):oe.push(!!T&&i.gullet.macros.get("\\@eqnsw")==="1"))}for(be(),ie.push(Hze(i));;){var ae=i.parseExpression(!1,_?"\\end":"\\\\");i.gullet.endGroup(),i.gullet.beginGroup(),ae={type:"ordgroup",mode:i.mode,body:ae},u&&(ae={type:"styling",mode:i.mode,style:u,body:[ae]}),j.push(ae);var ne=i.fetch().text;if(ne==="&"){if(P&&j.length===P){if(_||y)throw new Si("Too many tab characters: &",i.nextToken);i.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}i.consume()}else if(ne==="\\end"){ge(),j.length===1&&ae.type==="styling"&&ae.body[0].body.length===0&&(W.length>1||!A)&&W.pop(),ie.length0&&(be+=.25),_.push({pos:be,isDashed:Fi[yi]})}for(ge(b[0]),d=0;d0&&(K+=oe,seFi))for(d=0;d=y)){var Gt=void 0;(p>0||s.hskipBeforeAndAfter)&&(Gt=ga.deflt(Ft.pregap,R),Gt!==0&&(Ne=Hn.makeSpan(["arraycolsep"],[]),Ne.style.width=ji(Gt),Be.push(Ne)));var ln=[];for(d=0;d0){for(var At=Hn.makeLineSpan("hline",u,A),Tt=Hn.makeLineSpan("hdashline",u,A),On=[{type:"elem",elem:T,shift:0}];_.length>0;){var ht=_.pop(),zr=ht.pos-xe;ht.isDashed?On.push({type:"elem",elem:Tt,shift:zr}):On.push({type:"elem",elem:At,shift:zr})}T=Hn.makeVList({positionType:"individualShift",children:On},u)}if(Ie.length===0)return Hn.makeSpan(["mord"],[T],u);var yt=Hn.makeVList({positionType:"individualShift",children:Ie},u);return yt=Hn.makeSpan(["tag"],[yt],u),Hn.makeFragment([T,yt])},hVt={c:"center ",l:"left ",r:"right "},X4=function(s,u){for(var d=[],p=new wi.MathNode("mtd",[],["mtr-glue"]),v=new wi.MathNode("mtd",[],["mml-eqn-num"]),b=0;b0){var j=s.cols,W="",ee=!1,ie=0,oe=j.length;j[0].type==="separator"&&(R+="top ",ie=1),j[j.length-1].type==="separator"&&(R+="bottom ",oe-=1);for(var be=ie;be0?"left ":"",R+=de[de.length-1].length>0?"right ":"";for(var X=1;X-1?"alignat":"align",v=s.envName==="split",b=A9(s.parser,{cols:d,addJot:!0,autoTag:v?void 0:Sbe(s.envName),emptySingleRow:!0,colSeparationType:p,maxNumCols:v?2:void 0,leqno:s.parser.settings.leqno},"display"),y,T=0,_={type:"ordgroup",mode:s.mode,body:[]};if(u[0]&&u[0].type==="ordgroup"){for(var A="",P=0;P0&&F&&(ee=1),d[j]={type:"align",align:W,pregap:ee,postgap:0}}return b.colSeparationType=F?"align":"alignat",b};W4({type:"array",names:["array","darray"],props:{numArgs:1},handler(i,s){var u=vQ(s[0]),d=u?[s[0]]:Yo(s[0],"ordgroup").body,p=d.map(function(b){var y=gbe(b),T=y.text;if("lcr".indexOf(T)!==-1)return{type:"align",align:T};if(T==="|")return{type:"separator",separator:"|"};if(T===":")return{type:"separator",separator:":"};throw new Si("Unknown column alignment: "+T,b)}),v={cols:p,hskipBeforeAndAfter:!0,maxNumCols:p.length};return A9(i.parser,v,_be(i.envName))},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(i){var s={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[i.envName.replace("*","")],u="c",d={hskipBeforeAndAfter:!1,cols:[{type:"align",align:u}]};if(i.envName.charAt(i.envName.length-1)==="*"){var p=i.parser;if(p.consumeSpaces(),p.fetch().text==="["){if(p.consume(),p.consumeSpaces(),u=p.fetch().text,"lcr".indexOf(u)===-1)throw new Si("Expected l or c or r",p.nextToken);p.consume(),p.consumeSpaces(),p.expect("]"),p.consume(),d.cols=[{type:"align",align:u}]}}var v=A9(i.parser,d,_be(i.envName)),b=Math.max(0,...v.body.map(y=>y.length));return v.cols=new Array(b).fill({type:"align",align:u}),s?{type:"leftright",mode:i.mode,body:[v],left:s[0],right:s[1],rightColor:void 0}:v},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(i){var s={arraystretch:.5},u=A9(i.parser,s,"script");return u.colSeparationType="small",u},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["subarray"],props:{numArgs:1},handler(i,s){var u=vQ(s[0]),d=u?[s[0]]:Yo(s[0],"ordgroup").body,p=d.map(function(b){var y=gbe(b),T=y.text;if("lc".indexOf(T)!==-1)return{type:"align",align:T};throw new Si("Unknown column alignment: "+T,b)});if(p.length>1)throw new Si("{subarray} can contain only one column");var v={cols:p,hskipBeforeAndAfter:!1,arraystretch:.5};if(v=A9(i.parser,v,"script"),v.body.length>0&&v.body[0].length>1)throw new Si("{subarray} can contain only one column");return v},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(i){var s={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},u=A9(i.parser,s,_be(i.envName));return{type:"leftright",mode:i.mode,body:[u],left:i.envName.indexOf("r")>-1?".":"\\{",right:i.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Vze,htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(i){ga.contains(["gather","gather*"],i.envName)&&EQ(i);var s={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Sbe(i.envName),emptySingleRow:!0,leqno:i.parser.settings.leqno};return A9(i.parser,s,"display")},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Vze,htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(i){EQ(i);var s={autoTag:Sbe(i.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:i.parser.settings.leqno};return A9(i.parser,s,"display")},htmlBuilder:Y4,mathmlBuilder:X4}),W4({type:"array",names:["CD"],props:{numArgs:0},handler(i){return EQ(i),QHt(i.parser)},htmlBuilder:Y4,mathmlBuilder:X4}),et("\\nonumber","\\gdef\\@eqnsw{0}"),et("\\notag","\\nonumber"),Ji({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(i,s){throw new Si(i.funcName+" valid only within array environment")}});var Uze=zze;Ji({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];if(p.type!=="ordgroup")throw new Si("Invalid environment name",p);for(var v="",b=0;b{var u=i.font,d=s.withFont(u);return fu(i.body,d)},Kze=(i,s)=>{var u=i.font,d=s.withFont(u);return Il(i.body,d)},Wze={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ji({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=bQ(s[0]),v=d;return v in Wze&&(v=Wze[v]),{type:"font",mode:u.mode,font:v.slice(1),body:p}},htmlBuilder:Gze,mathmlBuilder:Kze}),Ji({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(i,s)=>{var{parser:u}=i,d=s[0],p=ga.isCharacterBox(d);return{type:"mclass",mode:u.mode,mclass:yQ(d),body:[{type:"font",mode:u.mode,font:"boldsymbol",body:d}],isCharacterBox:p}}}),Ji({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d,breakOnTokenText:p}=i,{mode:v}=u,b=u.parseExpression(!0,p),y="math"+d.slice(1);return{type:"font",mode:v,font:y,body:{type:"ordgroup",mode:u.mode,body:b}}},htmlBuilder:Gze,mathmlBuilder:Kze});var Yze=(i,s)=>{var u=s;return i==="display"?u=u.id>=Ta.SCRIPT.id?u.text():Ta.DISPLAY:i==="text"&&u.size===Ta.DISPLAY.size?u=Ta.TEXT:i==="script"?u=Ta.SCRIPT:i==="scriptscript"&&(u=Ta.SCRIPTSCRIPT),u},Abe=(i,s)=>{var u=Yze(i.size,s.style),d=u.fracNum(),p=u.fracDen(),v;v=s.havingStyle(d);var b=fu(i.numer,v,s);if(i.continued){var y=8.5/s.fontMetrics().ptPerEm,T=3.5/s.fontMetrics().ptPerEm;b.height=b.height0?j=3*R:j=7*R,W=s.fontMetrics().denom1):(P>0?(F=s.fontMetrics().num2,j=R):(F=s.fontMetrics().num3,j=3*R),W=s.fontMetrics().denom2);var ee;if(A){var oe=s.fontMetrics().axisHeight;F-b.depth-(oe+.5*P){var u=new wi.MathNode("mfrac",[Il(i.numer,s),Il(i.denom,s)]);if(!i.hasBarLine)u.setAttribute("linethickness","0px");else if(i.barSize){var d=Gh(i.barSize,s);u.setAttribute("linethickness",ji(d))}var p=Yze(i.size,s.style);if(p.size!==s.style.size){u=new wi.MathNode("mstyle",[u]);var v=p.size===Ta.DISPLAY.size?"true":"false";u.setAttribute("displaystyle",v),u.setAttribute("scriptlevel","0")}if(i.leftDelim!=null||i.rightDelim!=null){var b=[];if(i.leftDelim!=null){var y=new wi.MathNode("mo",[new wi.TextNode(i.leftDelim.replace("\\",""))]);y.setAttribute("fence","true"),b.push(y)}if(b.push(u),i.rightDelim!=null){var T=new wi.MathNode("mo",[new wi.TextNode(i.rightDelim.replace("\\",""))]);T.setAttribute("fence","true"),b.push(T)}return fbe(b)}return u};Ji({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1],b,y=null,T=null,_="auto";switch(d){case"\\dfrac":case"\\frac":case"\\tfrac":b=!0;break;case"\\\\atopfrac":b=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":b=!1,y="(",T=")";break;case"\\\\bracefrac":b=!1,y="\\{",T="\\}";break;case"\\\\brackfrac":b=!1,y="[",T="]";break;default:throw new Error("Unrecognized genfrac command")}switch(d){case"\\dfrac":case"\\dbinom":_="display";break;case"\\tfrac":case"\\tbinom":_="text";break}return{type:"genfrac",mode:u.mode,continued:!1,numer:p,denom:v,hasBarLine:b,leftDelim:y,rightDelim:T,size:_,barSize:null}},htmlBuilder:Abe,mathmlBuilder:Lbe}),Ji({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1];return{type:"genfrac",mode:u.mode,continued:!0,numer:p,denom:v,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),Ji({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(i){var{parser:s,funcName:u,token:d}=i,p;switch(u){case"\\over":p="\\frac";break;case"\\choose":p="\\binom";break;case"\\atop":p="\\\\atopfrac";break;case"\\brace":p="\\\\bracefrac";break;case"\\brack":p="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:s.mode,replaceWith:p,token:d}}});var Xze=["display","text","script","scriptscript"],Qze=function(s){var u=null;return s.length>0&&(u=s,u=u==="."?null:u),u};Ji({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(i,s){var{parser:u}=i,d=s[4],p=s[5],v=bQ(s[0]),b=v.type==="atom"&&v.family==="open"?Qze(v.text):null,y=bQ(s[1]),T=y.type==="atom"&&y.family==="close"?Qze(y.text):null,_=Yo(s[2],"size"),A,P=null;_.isBlank?A=!0:(P=_.value,A=P.number>0);var R="auto",F=s[3];if(F.type==="ordgroup"){if(F.body.length>0){var j=Yo(F.body[0],"textord");R=Xze[Number(j.text)]}}else F=Yo(F,"textord"),R=Xze[Number(F.text)];return{type:"genfrac",mode:u.mode,numer:d,denom:p,continued:!1,hasBarLine:A,barSize:P,leftDelim:b,rightDelim:T,size:R}},htmlBuilder:Abe,mathmlBuilder:Lbe}),Ji({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(i,s){var{parser:u,funcName:d,token:p}=i;return{type:"infix",mode:u.mode,replaceWith:"\\\\abovefrac",size:Yo(s[0],"size").value,token:p}}}),Ji({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=qqt(Yo(s[1],"infix").size),b=s[2],y=v.number>0;return{type:"genfrac",mode:u.mode,numer:p,denom:b,continued:!1,hasBarLine:y,barSize:v,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Abe,mathmlBuilder:Lbe});var Jze=(i,s)=>{var u=s.style,d,p;i.type==="supsub"?(d=i.sup?fu(i.sup,s.havingStyle(u.sup()),s):fu(i.sub,s.havingStyle(u.sub()),s),p=Yo(i.base,"horizBrace")):p=Yo(i,"horizBrace");var v=fu(p.base,s.havingBaseStyle(Ta.DISPLAY)),b=P7.svgSpan(p,s),y;if(p.isOver?(y=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:.1},{type:"elem",elem:b}]},s),y.children[0].children[0].children[1].classes.push("svg-align")):(y=Hn.makeVList({positionType:"bottom",positionData:v.depth+.1+b.height,children:[{type:"elem",elem:b},{type:"kern",size:.1},{type:"elem",elem:v}]},s),y.children[0].children[0].children[0].classes.push("svg-align")),d){var T=Hn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s);p.isOver?y=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:T},{type:"kern",size:.2},{type:"elem",elem:d}]},s):y=Hn.makeVList({positionType:"bottom",positionData:T.depth+.2+d.height+d.depth,children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:T}]},s)}return Hn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s)},fVt=(i,s)=>{var u=P7.mathMLnode(i.label);return new wi.MathNode(i.isOver?"mover":"munder",[Il(i.base,s),u])};Ji({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"horizBrace",mode:u.mode,label:d,isOver:/^\\over/.test(d),base:s[0]}},htmlBuilder:Jze,mathmlBuilder:fVt}),Ji({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[1],p=Yo(s[0],"url").url;return u.settings.isTrusted({command:"\\href",url:p})?{type:"href",mode:u.mode,href:p,body:Yf(d)}:u.formatUnsupportedCmd("\\href")},htmlBuilder:(i,s)=>{var u=h1(i.body,s,!1);return Hn.makeAnchor(i.href,[],u,s)},mathmlBuilder:(i,s)=>{var u=_9(i.body,s);return u instanceof jv||(u=new jv("mrow",[u])),u.setAttribute("href",i.href),u}}),Ji({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=Yo(s[0],"url").url;if(!u.settings.isTrusted({command:"\\url",url:d}))return u.formatUnsupportedCmd("\\url");for(var p=[],v=0;v{var{parser:u,funcName:d,token:p}=i,v=Yo(s[0],"raw").string,b=s[1];u.settings.strict&&u.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var y,T={};switch(d){case"\\htmlClass":T.class=v,y={command:"\\htmlClass",class:v};break;case"\\htmlId":T.id=v,y={command:"\\htmlId",id:v};break;case"\\htmlStyle":T.style=v,y={command:"\\htmlStyle",style:v};break;case"\\htmlData":{for(var _=v.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length!==2)throw new Si("Error parsing key-value for \\htmlData");T["data-"+P[0].trim()]=P[1].trim()}y={command:"\\htmlData",attributes:T};break}default:throw new Error("Unrecognized html command")}return u.settings.isTrusted(y)?{type:"html",mode:u.mode,attributes:T,body:Yf(b)}:u.formatUnsupportedCmd(d)},htmlBuilder:(i,s)=>{var u=h1(i.body,s,!1),d=["enclosing"];i.attributes.class&&d.push(...i.attributes.class.trim().split(/\s+/));var p=Hn.makeSpan(d,u,s);for(var v in i.attributes)v!=="class"&&i.attributes.hasOwnProperty(v)&&p.setAttribute(v,i.attributes[v]);return p},mathmlBuilder:(i,s)=>_9(i.body,s)}),Ji({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"htmlmathml",mode:u.mode,html:Yf(s[0]),mathml:Yf(s[1])}},htmlBuilder:(i,s)=>{var u=h1(i.html,s,!1);return Hn.makeFragment(u)},mathmlBuilder:(i,s)=>_9(i.mathml,s)});var Mbe=function(s){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(s))return{number:+s,unit:"bp"};var u=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(s);if(!u)throw new Si("Invalid size: '"+s+"' in \\includegraphics");var d={number:+(u[1]+u[2]),unit:u[3]};if(!eze(d))throw new Si("Invalid unit: '"+d.unit+"' in \\includegraphics.");return d};Ji({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(i,s,u)=>{var{parser:d}=i,p={number:0,unit:"em"},v={number:.9,unit:"em"},b={number:0,unit:"em"},y="";if(u[0])for(var T=Yo(u[0],"raw").string,_=T.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length===2){var R=P[1].trim();switch(P[0].trim()){case"alt":y=R;break;case"width":p=Mbe(R);break;case"height":v=Mbe(R);break;case"totalheight":b=Mbe(R);break;default:throw new Si("Invalid key: '"+P[0]+"' in \\includegraphics.")}}}var F=Yo(s[0],"url").url;return y===""&&(y=F,y=y.replace(/^.*[\\/]/,""),y=y.substring(0,y.lastIndexOf("."))),d.settings.isTrusted({command:"\\includegraphics",url:F})?{type:"includegraphics",mode:d.mode,alt:y,width:p,height:v,totalheight:b,src:F}:d.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(i,s)=>{var u=Gh(i.height,s),d=0;i.totalheight.number>0&&(d=Gh(i.totalheight,s)-u);var p=0;i.width.number>0&&(p=Gh(i.width,s));var v={height:ji(u+d)};p>0&&(v.width=ji(p)),d>0&&(v.verticalAlign=ji(-d));var b=new fHt(i.src,i.alt,v);return b.height=u,b.depth=d,b},mathmlBuilder:(i,s)=>{var u=new wi.MathNode("mglyph",[]);u.setAttribute("alt",i.alt);var d=Gh(i.height,s),p=0;if(i.totalheight.number>0&&(p=Gh(i.totalheight,s)-d,u.setAttribute("valign",ji(-p))),u.setAttribute("height",ji(d+p)),i.width.number>0){var v=Gh(i.width,s);u.setAttribute("width",ji(v))}return u.setAttribute("src",i.src),u}}),Ji({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=Yo(s[0],"size");if(u.settings.strict){var v=d[1]==="m",b=p.value.unit==="mu";v?(b||u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" supports only mu units, "+("not "+p.value.unit+" units")),u.mode!=="math"&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" works only in math mode")):b&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" doesn't support mu units")}return{type:"kern",mode:u.mode,dimension:p.value}},htmlBuilder(i,s){return Hn.makeGlue(i.dimension,s)},mathmlBuilder(i,s){var u=Gh(i.dimension,s);return new wi.SpaceNode(u)}}),Ji({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"lap",mode:u.mode,alignment:d.slice(5),body:p}},htmlBuilder:(i,s)=>{var u;i.alignment==="clap"?(u=Hn.makeSpan([],[fu(i.body,s)]),u=Hn.makeSpan(["inner"],[u],s)):u=Hn.makeSpan(["inner"],[fu(i.body,s)]);var d=Hn.makeSpan(["fix"],[]),p=Hn.makeSpan([i.alignment],[u,d],s),v=Hn.makeSpan(["strut"]);return v.style.height=ji(p.height+p.depth),p.depth&&(v.style.verticalAlign=ji(-p.depth)),p.children.unshift(v),p=Hn.makeSpan(["thinbox"],[p],s),Hn.makeSpan(["mord","vbox"],[p],s)},mathmlBuilder:(i,s)=>{var u=new wi.MathNode("mpadded",[Il(i.body,s)]);if(i.alignment!=="rlap"){var d=i.alignment==="llap"?"-1":"-0.5";u.setAttribute("lspace",d+"width")}return u.setAttribute("width","0px"),u}}),Ji({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){var{funcName:u,parser:d}=i,p=d.mode;d.switchMode("math");var v=u==="\\("?"\\)":"$",b=d.parseExpression(!1,v);return d.expect(v),d.switchMode(p),{type:"styling",mode:d.mode,style:"text",body:b}}}),Ji({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){throw new Si("Mismatched "+i.funcName)}});var Zze=(i,s)=>{switch(s.style.size){case Ta.DISPLAY.size:return i.display;case Ta.TEXT.size:return i.text;case Ta.SCRIPT.size:return i.script;case Ta.SCRIPTSCRIPT.size:return i.scriptscript;default:return i.text}};Ji({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"mathchoice",mode:u.mode,display:Yf(s[0]),text:Yf(s[1]),script:Yf(s[2]),scriptscript:Yf(s[3])}},htmlBuilder:(i,s)=>{var u=Zze(i,s),d=h1(u,s,!1);return Hn.makeFragment(d)},mathmlBuilder:(i,s)=>{var u=Zze(i,s);return _9(u,s)}});var eqe=(i,s,u,d,p,v,b)=>{i=Hn.makeSpan([],[i]);var y=u&&ga.isCharacterBox(u),T,_;if(s){var A=fu(s,d.havingStyle(p.sup()),d);_={elem:A,kern:Math.max(d.fontMetrics().bigOpSpacing1,d.fontMetrics().bigOpSpacing3-A.depth)}}if(u){var P=fu(u,d.havingStyle(p.sub()),d);T={elem:P,kern:Math.max(d.fontMetrics().bigOpSpacing2,d.fontMetrics().bigOpSpacing4-P.height)}}var R;if(_&&T){var F=d.fontMetrics().bigOpSpacing5+T.elem.height+T.elem.depth+T.kern+i.depth+b;R=Hn.makeVList({positionType:"bottom",positionData:F,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:ji(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:ji(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else if(T){var j=i.height-b;R=Hn.makeVList({positionType:"top",positionData:j,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:ji(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i}]},d)}else if(_){var W=i.depth+b;R=Hn.makeVList({positionType:"bottom",positionData:W,children:[{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:ji(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else return i;var ee=[R];if(T&&v!==0&&!y){var ie=Hn.makeSpan(["mspace"],[],d);ie.style.marginRight=ji(v),ee.unshift(ie)}return Hn.makeSpan(["mop","op-limits"],ee,d)},tqe=["\\smallint"],PD=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Yo(i.base,"op"),p=!0):v=Yo(i,"op");var b=s.style,y=!1;b.size===Ta.DISPLAY.size&&v.symbol&&!ga.contains(tqe,v.name)&&(y=!0);var T;if(v.symbol){var _=y?"Size2-Regular":"Size1-Regular",A="";if((v.name==="\\oiint"||v.name==="\\oiiint")&&(A=v.name.slice(1),v.name=A==="oiint"?"\\iint":"\\iiint"),T=Hn.makeSymbol(v.name,_,"math",s,["mop","op-symbol",y?"large-op":"small-op"]),A.length>0){var P=T.italic,R=Hn.staticSvg(A+"Size"+(y?"2":"1"),s);T=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:T,shift:0},{type:"elem",elem:R,shift:y?.08:0}]},s),v.name="\\"+A,T.classes.unshift("mop"),T.italic=P}}else if(v.body){var F=h1(v.body,s,!0);F.length===1&&F[0]instanceof Rv?(T=F[0],T.classes[0]="mop"):T=Hn.makeSpan(["mop"],F,s)}else{for(var j=[],W=1;W{var u;if(i.symbol)u=new jv("mo",[$v(i.name,i.mode)]),ga.contains(tqe,i.name)&&u.setAttribute("largeop","false");else if(i.body)u=new jv("mo",$2(i.body,s));else{u=new jv("mi",[new fR(i.name.slice(1))]);var d=new jv("mo",[$v("⁡","text")]);i.parentIsSupSub?u=new jv("mrow",[u,d]):u=vze([u,d])}return u},dVt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Ji({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=d;return p.length===1&&(p=dVt[p]),{type:"op",mode:u.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:p}},htmlBuilder:PD,mathmlBuilder:pR}),Ji({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"op",mode:u.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Yf(d)}},htmlBuilder:PD,mathmlBuilder:pR});var gVt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Ji({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:PD,mathmlBuilder:pR}),Ji({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:PD,mathmlBuilder:pR}),Ji({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i,d=u;return d.length===1&&(d=gVt[d]),{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:d}},htmlBuilder:PD,mathmlBuilder:pR});var nqe=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Yo(i.base,"operatorname"),p=!0):v=Yo(i,"operatorname");var b;if(v.body.length>0){for(var y=v.body.map(P=>{var R=P.text;return typeof R=="string"?{type:"textord",mode:P.mode,text:R}:P}),T=h1(y,s.withFont("mathrm"),!0),_=0;_{for(var u=$2(i.body,s.withFont("mathrm")),d=!0,p=0;pA.toText()).join("");u=[new wi.TextNode(y)]}var T=new wi.MathNode("mi",u);T.setAttribute("mathvariant","normal");var _=new wi.MathNode("mo",[$v("⁡","text")]);return i.parentIsSupSub?new wi.MathNode("mrow",[T,_]):wi.newDocumentFragment([T,_])};Ji({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"operatorname",mode:u.mode,body:Yf(p),alwaysHandleSupSub:d==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:nqe,mathmlBuilder:pVt}),et("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),zC({type:"ordgroup",htmlBuilder(i,s){return i.semisimple?Hn.makeFragment(h1(i.body,s,!1)):Hn.makeSpan(["mord"],h1(i.body,s,!0),s)},mathmlBuilder(i,s){return _9(i.body,s,!0)}}),Ji({type:"overline",names:["\\overline"],props:{numArgs:1},handler(i,s){var{parser:u}=i,d=s[0];return{type:"overline",mode:u.mode,body:d}},htmlBuilder(i,s){var u=fu(i.body,s.havingCrampedStyle()),d=Hn.makeLineSpan("overline-line",s),p=s.fontMetrics().defaultRuleThickness,v=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:3*p},{type:"elem",elem:d},{type:"kern",size:p}]},s);return Hn.makeSpan(["mord","overline"],[v],s)},mathmlBuilder(i,s){var u=new wi.MathNode("mo",[new wi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new wi.MathNode("mover",[Il(i.body,s),u]);return d.setAttribute("accent","true"),d}}),Ji({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"phantom",mode:u.mode,body:Yf(d)}},htmlBuilder:(i,s)=>{var u=h1(i.body,s.withPhantom(),!1);return Hn.makeFragment(u)},mathmlBuilder:(i,s)=>{var u=$2(i.body,s);return new wi.MathNode("mphantom",u)}}),Ji({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"hphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=Hn.makeSpan([],[fu(i.body,s.withPhantom())]);if(u.height=0,u.depth=0,u.children)for(var d=0;d{var u=$2(Yf(i.body),s),d=new wi.MathNode("mphantom",u),p=new wi.MathNode("mpadded",[d]);return p.setAttribute("height","0px"),p.setAttribute("depth","0px"),p}}),Ji({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"vphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=Hn.makeSpan(["inner"],[fu(i.body,s.withPhantom())]),d=Hn.makeSpan(["fix"],[]);return Hn.makeSpan(["mord","rlap"],[u,d],s)},mathmlBuilder:(i,s)=>{var u=$2(Yf(i.body),s),d=new wi.MathNode("mphantom",u),p=new wi.MathNode("mpadded",[d]);return p.setAttribute("width","0px"),p}}),Ji({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i,d=Yo(s[0],"size").value,p=s[1];return{type:"raisebox",mode:u.mode,dy:d,body:p}},htmlBuilder(i,s){var u=fu(i.body,s),d=Gh(i.dy,s);return Hn.makeVList({positionType:"shift",positionData:-d,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){var u=new wi.MathNode("mpadded",[Il(i.body,s)]),d=i.dy.number+i.dy.unit;return u.setAttribute("voffset",d),u}}),Ji({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s}=i;return{type:"internal",mode:s.mode}}}),Ji({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(i,s,u){var{parser:d}=i,p=u[0],v=Yo(s[0],"size"),b=Yo(s[1],"size");return{type:"rule",mode:d.mode,shift:p&&Yo(p,"size").value,width:v.value,height:b.value}},htmlBuilder(i,s){var u=Hn.makeSpan(["mord","rule"],[],s),d=Gh(i.width,s),p=Gh(i.height,s),v=i.shift?Gh(i.shift,s):0;return u.style.borderRightWidth=ji(d),u.style.borderTopWidth=ji(p),u.style.bottom=ji(v),u.width=d,u.height=p+v,u.depth=-v,u.maxFontSize=p*1.125*s.sizeMultiplier,u},mathmlBuilder(i,s){var u=Gh(i.width,s),d=Gh(i.height,s),p=i.shift?Gh(i.shift,s):0,v=s.color&&s.getColor()||"black",b=new wi.MathNode("mspace");b.setAttribute("mathbackground",v),b.setAttribute("width",ji(u)),b.setAttribute("height",ji(d));var y=new wi.MathNode("mpadded",[b]);return p>=0?y.setAttribute("height",ji(p)):(y.setAttribute("height",ji(p)),y.setAttribute("depth",ji(-p))),y.setAttribute("voffset",ji(p)),y}});function rqe(i,s,u){for(var d=h1(i,s,!1),p=s.sizeMultiplier/u.sizeMultiplier,v=0;v{var u=s.havingSize(i.size);return rqe(i.body,u,s)};Ji({type:"sizing",names:iqe,props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!1,u);return{type:"sizing",mode:p.mode,size:iqe.indexOf(d)+1,body:v}},htmlBuilder:bVt,mathmlBuilder:(i,s)=>{var u=s.havingSize(i.size),d=$2(i.body,u),p=new wi.MathNode("mstyle",d);return p.setAttribute("mathsize",ji(u.sizeMultiplier)),p}}),Ji({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(i,s,u)=>{var{parser:d}=i,p=!1,v=!1,b=u[0]&&Yo(u[0],"ordgroup");if(b)for(var y="",T=0;T{var u=Hn.makeSpan([],[fu(i.body,s)]);if(!i.smashHeight&&!i.smashDepth)return u;if(i.smashHeight&&(u.height=0,u.children))for(var d=0;d{var u=new wi.MathNode("mpadded",[Il(i.body,s)]);return i.smashHeight&&u.setAttribute("height","0px"),i.smashDepth&&u.setAttribute("depth","0px"),u}}),Ji({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(i,s,u){var{parser:d}=i,p=u[0],v=s[0];return{type:"sqrt",mode:d.mode,body:v,index:p}},htmlBuilder(i,s){var u=fu(i.body,s.havingCrampedStyle());u.height===0&&(u.height=s.fontMetrics().xHeight),u=Hn.wrapFragment(u,s);var d=s.fontMetrics(),p=d.defaultRuleThickness,v=p;s.style.idu.height+u.depth+b&&(b=(b+P-u.height-u.depth)/2);var R=T.height-u.height-b-_;u.style.paddingLeft=ji(A);var F=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u,wrapperClasses:["svg-align"]},{type:"kern",size:-(u.height+R)},{type:"elem",elem:T},{type:"kern",size:_}]},s);if(i.index){var j=s.havingStyle(Ta.SCRIPTSCRIPT),W=fu(i.index,j,s),ee=.6*(F.height-F.depth),ie=Hn.makeVList({positionType:"shift",positionData:-ee,children:[{type:"elem",elem:W}]},s),oe=Hn.makeSpan(["root"],[ie]);return Hn.makeSpan(["mord","sqrt"],[oe,F],s)}else return Hn.makeSpan(["mord","sqrt"],[F],s)},mathmlBuilder(i,s){var{body:u,index:d}=i;return d?new wi.MathNode("mroot",[Il(u,s),Il(d,s)]):new wi.MathNode("msqrt",[Il(u,s)])}});var sqe={display:Ta.DISPLAY,text:Ta.TEXT,script:Ta.SCRIPT,scriptscript:Ta.SCRIPTSCRIPT};Ji({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i,s){var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!0,u),b=d.slice(1,d.length-5);return{type:"styling",mode:p.mode,style:b,body:v}},htmlBuilder(i,s){var u=sqe[i.style],d=s.havingStyle(u).withFont("");return rqe(i.body,d,s)},mathmlBuilder(i,s){var u=sqe[i.style],d=s.havingStyle(u),p=$2(i.body,d),v=new wi.MathNode("mstyle",p),b={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},y=b[i.style];return v.setAttribute("scriptlevel",y[0]),v.setAttribute("displaystyle",y[1]),v}});var mVt=function(s,u){var d=s.base;if(d)if(d.type==="op"){var p=d.limits&&(u.style.size===Ta.DISPLAY.size||d.alwaysHandleSupSub);return p?PD:null}else if(d.type==="operatorname"){var v=d.alwaysHandleSupSub&&(u.style.size===Ta.DISPLAY.size||d.limits);return v?nqe:null}else{if(d.type==="accent")return ga.isCharacterBox(d.base)?pbe:null;if(d.type==="horizBrace"){var b=!s.sub;return b===d.isOver?Jze:null}else return null}else return null};zC({type:"supsub",htmlBuilder(i,s){var u=mVt(i,s);if(u)return u(i,s);var{base:d,sup:p,sub:v}=i,b=fu(d,s),y,T,_=s.fontMetrics(),A=0,P=0,R=d&&ga.isCharacterBox(d);if(p){var F=s.havingStyle(s.style.sup());y=fu(p,F,s),R||(A=b.height-F.fontMetrics().supDrop*F.sizeMultiplier/s.sizeMultiplier)}if(v){var j=s.havingStyle(s.style.sub());T=fu(v,j,s),R||(P=b.depth+j.fontMetrics().subDrop*j.sizeMultiplier/s.sizeMultiplier)}var W;s.style===Ta.DISPLAY?W=_.sup1:s.style.cramped?W=_.sup3:W=_.sup2;var ee=s.sizeMultiplier,ie=ji(.5/_.ptPerEm/ee),oe=null;if(T){var be=i.base&&i.base.type==="op"&&i.base.name&&(i.base.name==="\\oiint"||i.base.name==="\\oiiint");(b instanceof Rv||be)&&(oe=ji(-b.italic))}var ge;if(y&&T){A=Math.max(A,W,y.depth+.25*_.xHeight),P=Math.max(P,_.sub2);var ae=_.defaultRuleThickness,ne=4*ae;if(A-y.depth-(T.height-P)0&&(A+=se,P-=se)}var de=[{type:"elem",elem:T,shift:P,marginRight:ie,marginLeft:oe},{type:"elem",elem:y,shift:-A,marginRight:ie}];ge=Hn.makeVList({positionType:"individualShift",children:de},s)}else if(T){P=Math.max(P,_.sub1,T.height-.8*_.xHeight);var X=[{type:"elem",elem:T,marginLeft:oe,marginRight:ie}];ge=Hn.makeVList({positionType:"shift",positionData:P,children:X},s)}else if(y)A=Math.max(A,W,y.depth+.25*_.xHeight),ge=Hn.makeVList({positionType:"shift",positionData:-A,children:[{type:"elem",elem:y,marginRight:ie}]},s);else throw new Error("supsub must have either sup or sub.");var pe=lbe(b,"right")||"mord";return Hn.makeSpan([pe],[b,Hn.makeSpan(["msupsub"],[ge])],s)},mathmlBuilder(i,s){var u=!1,d,p;i.base&&i.base.type==="horizBrace"&&(p=!!i.sup,p===i.base.isOver&&(u=!0,d=i.base.isOver)),i.base&&(i.base.type==="op"||i.base.type==="operatorname")&&(i.base.parentIsSupSub=!0);var v=[Il(i.base,s)];i.sub&&v.push(Il(i.sub,s)),i.sup&&v.push(Il(i.sup,s));var b;if(u)b=d?"mover":"munder";else if(i.sub)if(i.sup){var _=i.base;_&&_.type==="op"&&_.limits&&s.style===Ta.DISPLAY||_&&_.type==="operatorname"&&_.alwaysHandleSupSub&&(s.style===Ta.DISPLAY||_.limits)?b="munderover":b="msubsup"}else{var T=i.base;T&&T.type==="op"&&T.limits&&(s.style===Ta.DISPLAY||T.alwaysHandleSupSub)||T&&T.type==="operatorname"&&T.alwaysHandleSupSub&&(T.limits||s.style===Ta.DISPLAY)?b="munder":b="msub"}else{var y=i.base;y&&y.type==="op"&&y.limits&&(s.style===Ta.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||s.style===Ta.DISPLAY)?b="mover":b="msup"}return new wi.MathNode(b,v)}}),zC({type:"atom",htmlBuilder(i,s){return Hn.mathsym(i.text,i.mode,s,["m"+i.family])},mathmlBuilder(i,s){var u=new wi.MathNode("mo",[$v(i.text,i.mode)]);if(i.family==="bin"){var d=dbe(i,s);d==="bold-italic"&&u.setAttribute("mathvariant",d)}else i.family==="punct"?u.setAttribute("separator","true"):(i.family==="open"||i.family==="close")&&u.setAttribute("stretchy","false");return u}});var aqe={mi:"italic",mn:"normal",mtext:"normal"};zC({type:"mathord",htmlBuilder(i,s){return Hn.makeOrd(i,s,"mathord")},mathmlBuilder(i,s){var u=new wi.MathNode("mi",[$v(i.text,i.mode,s)]),d=dbe(i,s)||"italic";return d!==aqe[u.type]&&u.setAttribute("mathvariant",d),u}}),zC({type:"textord",htmlBuilder(i,s){return Hn.makeOrd(i,s,"textord")},mathmlBuilder(i,s){var u=$v(i.text,i.mode,s),d=dbe(i,s)||"normal",p;return i.mode==="text"?p=new wi.MathNode("mtext",[u]):/[0-9]/.test(i.text)?p=new wi.MathNode("mn",[u]):i.text==="\\prime"?p=new wi.MathNode("mo",[u]):p=new wi.MathNode("mi",[u]),d!==aqe[p.type]&&p.setAttribute("mathvariant",d),p}});var Dbe={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Ibe={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};zC({type:"spacing",htmlBuilder(i,s){if(Ibe.hasOwnProperty(i.text)){var u=Ibe[i.text].className||"";if(i.mode==="text"){var d=Hn.makeOrd(i,s,"textord");return d.classes.push(u),d}else return Hn.makeSpan(["mspace",u],[Hn.mathsym(i.text,i.mode,s)],s)}else{if(Dbe.hasOwnProperty(i.text))return Hn.makeSpan(["mspace",Dbe[i.text]],[],s);throw new Si('Unknown type of space "'+i.text+'"')}},mathmlBuilder(i,s){var u;if(Ibe.hasOwnProperty(i.text))u=new wi.MathNode("mtext",[new wi.TextNode(" ")]);else{if(Dbe.hasOwnProperty(i.text))return new wi.MathNode("mspace");throw new Si('Unknown type of space "'+i.text+'"')}return u}});var oqe=()=>{var i=new wi.MathNode("mtd",[]);return i.setAttribute("width","50%"),i};zC({type:"tag",mathmlBuilder(i,s){var u=new wi.MathNode("mtable",[new wi.MathNode("mtr",[oqe(),new wi.MathNode("mtd",[_9(i.body,s)]),oqe(),new wi.MathNode("mtd",[_9(i.tag,s)])])]);return u.setAttribute("width","100%"),u}});var cqe={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},uqe={"\\textbf":"textbf","\\textmd":"textmd"},vVt={"\\textit":"textit","\\textup":"textup"},lqe=(i,s)=>{var u=i.font;if(u){if(cqe[u])return s.withTextFontFamily(cqe[u]);if(uqe[u])return s.withTextFontWeight(uqe[u]);if(u==="\\emph")return s.fontShape==="textit"?s.withTextFontShape("textup"):s.withTextFontShape("textit")}else return s;return s.withTextFontShape(vVt[u])};Ji({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"text",mode:u.mode,body:Yf(p),font:d}},htmlBuilder(i,s){var u=lqe(i,s),d=h1(i.body,u,!0);return Hn.makeSpan(["mord","text"],d,u)},mathmlBuilder(i,s){var u=lqe(i,s);return _9(i.body,u)}}),Ji({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"underline",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=fu(i.body,s),d=Hn.makeLineSpan("underline-line",s),p=s.fontMetrics().defaultRuleThickness,v=Hn.makeVList({positionType:"top",positionData:u.height,children:[{type:"kern",size:p},{type:"elem",elem:d},{type:"kern",size:3*p},{type:"elem",elem:u}]},s);return Hn.makeSpan(["mord","underline"],[v],s)},mathmlBuilder(i,s){var u=new wi.MathNode("mo",[new wi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new wi.MathNode("munder",[Il(i.body,s),u]);return d.setAttribute("accentunder","true"),d}}),Ji({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"vcenter",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=fu(i.body,s),d=s.fontMetrics().axisHeight,p=.5*(u.height-d-(u.depth+d));return Hn.makeVList({positionType:"shift",positionData:p,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){return new wi.MathNode("mpadded",[Il(i.body,s)],["vcenter"])}}),Ji({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(i,s,u){throw new Si("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(i,s){for(var u=hqe(i),d=[],p=s.havingStyle(s.style.text()),v=0;vi.body.replace(/ /g,i.star?"␣":" "),L9=pze,fqe=`[ \r + ]`,wVt="\\\\[a-zA-Z@]+",yVt="\\\\[^\uD800-\uDFFF]",xVt="("+wVt+")"+fqe+"*",kVt=`\\\\( +|[ \r ]+ +?)[ \r ]*`,Obe="[̀-ͯ]",EVt=new RegExp(Obe+"+$"),TVt="("+fqe+"+)|"+(kVt+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Obe+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Obe+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+xVt)+("|"+yVt+")");class dqe{constructor(s,u){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=s,this.settings=u,this.tokenRegex=new RegExp(TVt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(s,u){this.catcodes[s]=u}lex(){var s=this.input,u=this.tokenRegex.lastIndex;if(u===s.length)return new Bv("EOF",new lm(this,u,u));var d=this.tokenRegex.exec(s);if(d===null||d.index!==u)throw new Si("Unexpected character: '"+s[u]+"'",new Bv(s[u],new lm(this,u,u+1)));var p=d[6]||d[3]||(d[2]?"\\ ":" ");if(this.catcodes[p]===14){var v=s.indexOf(` +`,this.tokenRegex.lastIndex);return v===-1?(this.tokenRegex.lastIndex=s.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=v+1,this.lex()}return new Bv(p,new lm(this,u,this.tokenRegex.lastIndex))}}class CVt{constructor(s,u){s===void 0&&(s={}),u===void 0&&(u={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=u,this.builtins=s,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Si("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var s=this.undefStack.pop();for(var u in s)s.hasOwnProperty(u)&&(s[u]==null?delete this.current[u]:this.current[u]=s[u])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(s){return this.current.hasOwnProperty(s)||this.builtins.hasOwnProperty(s)}get(s){return this.current.hasOwnProperty(s)?this.current[s]:this.builtins[s]}set(s,u,d){if(d===void 0&&(d=!1),d){for(var p=0;p0&&(this.undefStack[this.undefStack.length-1][s]=u)}else{var v=this.undefStack[this.undefStack.length-1];v&&!v.hasOwnProperty(s)&&(v[s]=this.current[s])}u==null?delete this.current[s]:this.current[s]=u}}var SVt=qze;et("\\noexpand",function(i){var s=i.popToken();return i.isExpandable(s.text)&&(s.noexpand=!0,s.treatAsRelax=!0),{tokens:[s],numArgs:0}}),et("\\expandafter",function(i){var s=i.popToken();return i.expandOnce(!0),{tokens:[s],numArgs:0}}),et("\\@firstoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[0],numArgs:0}}),et("\\@secondoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[1],numArgs:0}}),et("\\@ifnextchar",function(i){var s=i.consumeArgs(3);i.consumeSpaces();var u=i.future();return s[0].length===1&&s[0][0].text===u.text?{tokens:s[1],numArgs:0}:{tokens:s[2],numArgs:0}}),et("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),et("\\TextOrMath",function(i){var s=i.consumeArgs(2);return i.mode==="text"?{tokens:s[0],numArgs:0}:{tokens:s[1],numArgs:0}});var gqe={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};et("\\char",function(i){var s=i.popToken(),u,d="";if(s.text==="'")u=8,s=i.popToken();else if(s.text==='"')u=16,s=i.popToken();else if(s.text==="`")if(s=i.popToken(),s.text[0]==="\\")d=s.text.charCodeAt(1);else{if(s.text==="EOF")throw new Si("\\char` missing argument");d=s.text.charCodeAt(0)}else u=10;if(u){if(d=gqe[s.text],d==null||d>=u)throw new Si("Invalid base-"+u+" digit "+s.text);for(var p;(p=gqe[i.future().text])!=null&&p{var d=i.consumeArg().tokens;if(d.length!==1)throw new Si("\\newcommand's first argument must be a macro name");var p=d[0].text,v=i.isDefined(p);if(v&&!s)throw new Si("\\newcommand{"+p+"} attempting to redefine "+(p+"; use \\renewcommand"));if(!v&&!u)throw new Si("\\renewcommand{"+p+"} when command "+p+" does not yet exist; use \\newcommand");var b=0;if(d=i.consumeArg().tokens,d.length===1&&d[0].text==="["){for(var y="",T=i.expandNextToken();T.text!=="]"&&T.text!=="EOF";)y+=T.text,T=i.expandNextToken();if(!y.match(/^\s*[0-9]+\s*$/))throw new Si("Invalid number of arguments: "+y);b=parseInt(y),d=i.consumeArg().tokens}return i.macros.set(p,{tokens:d,numArgs:b}),""};et("\\newcommand",i=>Nbe(i,!1,!0)),et("\\renewcommand",i=>Nbe(i,!0,!1)),et("\\providecommand",i=>Nbe(i,!0,!0)),et("\\message",i=>{var s=i.consumeArgs(1)[0];return console.log(s.reverse().map(u=>u.text).join("")),""}),et("\\errmessage",i=>{var s=i.consumeArgs(1)[0];return console.error(s.reverse().map(u=>u.text).join("")),""}),et("\\show",i=>{var s=i.popToken(),u=s.text;return console.log(s,i.macros.get(u),L9[u],Gl.math[u],Gl.text[u]),""}),et("\\bgroup","{"),et("\\egroup","}"),et("~","\\nobreakspace"),et("\\lq","`"),et("\\rq","'"),et("\\aa","\\r a"),et("\\AA","\\r A"),et("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),et("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),et("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),et("ℬ","\\mathscr{B}"),et("ℰ","\\mathscr{E}"),et("ℱ","\\mathscr{F}"),et("ℋ","\\mathscr{H}"),et("ℐ","\\mathscr{I}"),et("ℒ","\\mathscr{L}"),et("ℳ","\\mathscr{M}"),et("ℛ","\\mathscr{R}"),et("ℭ","\\mathfrak{C}"),et("ℌ","\\mathfrak{H}"),et("ℨ","\\mathfrak{Z}"),et("\\Bbbk","\\Bbb{k}"),et("·","\\cdotp"),et("\\llap","\\mathllap{\\textrm{#1}}"),et("\\rlap","\\mathrlap{\\textrm{#1}}"),et("\\clap","\\mathclap{\\textrm{#1}}"),et("\\mathstrut","\\vphantom{(}"),et("\\underbar","\\underline{\\text{#1}}"),et("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),et("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),et("\\ne","\\neq"),et("≠","\\neq"),et("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),et("∉","\\notin"),et("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),et("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),et("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),et("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),et("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),et("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),et("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),et("⟂","\\perp"),et("‼","\\mathclose{!\\mkern-0.8mu!}"),et("∌","\\notni"),et("⌜","\\ulcorner"),et("⌝","\\urcorner"),et("⌞","\\llcorner"),et("⌟","\\lrcorner"),et("©","\\copyright"),et("®","\\textregistered"),et("️","\\textregistered"),et("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),et("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),et("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),et("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),et("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),et("⋮","\\vdots"),et("\\varGamma","\\mathit{\\Gamma}"),et("\\varDelta","\\mathit{\\Delta}"),et("\\varTheta","\\mathit{\\Theta}"),et("\\varLambda","\\mathit{\\Lambda}"),et("\\varXi","\\mathit{\\Xi}"),et("\\varPi","\\mathit{\\Pi}"),et("\\varSigma","\\mathit{\\Sigma}"),et("\\varUpsilon","\\mathit{\\Upsilon}"),et("\\varPhi","\\mathit{\\Phi}"),et("\\varPsi","\\mathit{\\Psi}"),et("\\varOmega","\\mathit{\\Omega}"),et("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),et("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),et("\\boxed","\\fbox{$\\displaystyle{#1}$}"),et("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),et("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),et("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var pqe={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};et("\\dots",function(i){var s="\\dotso",u=i.expandAfterFuture().text;return u in pqe?s=pqe[u]:(u.slice(0,4)==="\\not"||u in Gl.math&&ga.contains(["bin","rel"],Gl.math[u].group))&&(s="\\dotsb"),s});var Pbe={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};et("\\dotso",function(i){var s=i.future().text;return s in Pbe?"\\ldots\\,":"\\ldots"}),et("\\dotsc",function(i){var s=i.future().text;return s in Pbe&&s!==","?"\\ldots\\,":"\\ldots"}),et("\\cdots",function(i){var s=i.future().text;return s in Pbe?"\\@cdots\\,":"\\@cdots"}),et("\\dotsb","\\cdots"),et("\\dotsm","\\cdots"),et("\\dotsi","\\!\\cdots"),et("\\dotsx","\\ldots\\,"),et("\\DOTSI","\\relax"),et("\\DOTSB","\\relax"),et("\\DOTSX","\\relax"),et("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),et("\\,","\\tmspace+{3mu}{.1667em}"),et("\\thinspace","\\,"),et("\\>","\\mskip{4mu}"),et("\\:","\\tmspace+{4mu}{.2222em}"),et("\\medspace","\\:"),et("\\;","\\tmspace+{5mu}{.2777em}"),et("\\thickspace","\\;"),et("\\!","\\tmspace-{3mu}{.1667em}"),et("\\negthinspace","\\!"),et("\\negmedspace","\\tmspace-{4mu}{.2222em}"),et("\\negthickspace","\\tmspace-{5mu}{.277em}"),et("\\enspace","\\kern.5em "),et("\\enskip","\\hskip.5em\\relax"),et("\\quad","\\hskip1em\\relax"),et("\\qquad","\\hskip2em\\relax"),et("\\tag","\\@ifstar\\tag@literal\\tag@paren"),et("\\tag@paren","\\tag@literal{({#1})}"),et("\\tag@literal",i=>{if(i.macros.get("\\df@tag"))throw new Si("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),et("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),et("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),et("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),et("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),et("\\newline","\\\\\\relax"),et("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var bqe=ji(K4["Main-Regular"]["T".charCodeAt(0)][1]-.7*K4["Main-Regular"]["A".charCodeAt(0)][1]);et("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+bqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),et("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+bqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),et("\\hspace","\\@ifstar\\@hspacer\\@hspace"),et("\\@hspace","\\hskip #1\\relax"),et("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),et("\\ordinarycolon",":"),et("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),et("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),et("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),et("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),et("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),et("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),et("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),et("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),et("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),et("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),et("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),et("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),et("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),et("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),et("∷","\\dblcolon"),et("∹","\\eqcolon"),et("≔","\\coloneqq"),et("≕","\\eqqcolon"),et("⩴","\\Coloneqq"),et("\\ratio","\\vcentcolon"),et("\\coloncolon","\\dblcolon"),et("\\colonequals","\\coloneqq"),et("\\coloncolonequals","\\Coloneqq"),et("\\equalscolon","\\eqqcolon"),et("\\equalscoloncolon","\\Eqqcolon"),et("\\colonminus","\\coloneq"),et("\\coloncolonminus","\\Coloneq"),et("\\minuscolon","\\eqcolon"),et("\\minuscoloncolon","\\Eqcolon"),et("\\coloncolonapprox","\\Colonapprox"),et("\\coloncolonsim","\\Colonsim"),et("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),et("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),et("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),et("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),et("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),et("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),et("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),et("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),et("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),et("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),et("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),et("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),et("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),et("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),et("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),et("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),et("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),et("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),et("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),et("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),et("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),et("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),et("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),et("\\imath","\\html@mathml{\\@imath}{ı}"),et("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),et("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),et("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),et("⟦","\\llbracket"),et("⟧","\\rrbracket"),et("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),et("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),et("⦃","\\lBrace"),et("⦄","\\rBrace"),et("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),et("⦵","\\minuso"),et("\\darr","\\downarrow"),et("\\dArr","\\Downarrow"),et("\\Darr","\\Downarrow"),et("\\lang","\\langle"),et("\\rang","\\rangle"),et("\\uarr","\\uparrow"),et("\\uArr","\\Uparrow"),et("\\Uarr","\\Uparrow"),et("\\N","\\mathbb{N}"),et("\\R","\\mathbb{R}"),et("\\Z","\\mathbb{Z}"),et("\\alef","\\aleph"),et("\\alefsym","\\aleph"),et("\\Alpha","\\mathrm{A}"),et("\\Beta","\\mathrm{B}"),et("\\bull","\\bullet"),et("\\Chi","\\mathrm{X}"),et("\\clubs","\\clubsuit"),et("\\cnums","\\mathbb{C}"),et("\\Complex","\\mathbb{C}"),et("\\Dagger","\\ddagger"),et("\\diamonds","\\diamondsuit"),et("\\empty","\\emptyset"),et("\\Epsilon","\\mathrm{E}"),et("\\Eta","\\mathrm{H}"),et("\\exist","\\exists"),et("\\harr","\\leftrightarrow"),et("\\hArr","\\Leftrightarrow"),et("\\Harr","\\Leftrightarrow"),et("\\hearts","\\heartsuit"),et("\\image","\\Im"),et("\\infin","\\infty"),et("\\Iota","\\mathrm{I}"),et("\\isin","\\in"),et("\\Kappa","\\mathrm{K}"),et("\\larr","\\leftarrow"),et("\\lArr","\\Leftarrow"),et("\\Larr","\\Leftarrow"),et("\\lrarr","\\leftrightarrow"),et("\\lrArr","\\Leftrightarrow"),et("\\Lrarr","\\Leftrightarrow"),et("\\Mu","\\mathrm{M}"),et("\\natnums","\\mathbb{N}"),et("\\Nu","\\mathrm{N}"),et("\\Omicron","\\mathrm{O}"),et("\\plusmn","\\pm"),et("\\rarr","\\rightarrow"),et("\\rArr","\\Rightarrow"),et("\\Rarr","\\Rightarrow"),et("\\real","\\Re"),et("\\reals","\\mathbb{R}"),et("\\Reals","\\mathbb{R}"),et("\\Rho","\\mathrm{P}"),et("\\sdot","\\cdot"),et("\\sect","\\S"),et("\\spades","\\spadesuit"),et("\\sub","\\subset"),et("\\sube","\\subseteq"),et("\\supe","\\supseteq"),et("\\Tau","\\mathrm{T}"),et("\\thetasym","\\vartheta"),et("\\weierp","\\wp"),et("\\Zeta","\\mathrm{Z}"),et("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),et("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),et("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),et("\\bra","\\mathinner{\\langle{#1}|}"),et("\\ket","\\mathinner{|{#1}\\rangle}"),et("\\braket","\\mathinner{\\langle{#1}\\rangle}"),et("\\Bra","\\left\\langle#1\\right|"),et("\\Ket","\\left|#1\\right\\rangle");var mqe=i=>s=>{var u=s.consumeArg().tokens,d=s.consumeArg().tokens,p=s.consumeArg().tokens,v=s.consumeArg().tokens,b=s.macros.get("|"),y=s.macros.get("\\|");s.macros.beginGroup();var T=P=>R=>{i&&(R.macros.set("|",b),p.length&&R.macros.set("\\|",y));var F=P;if(!P&&p.length){var j=R.future();j.text==="|"&&(R.popToken(),F=!0)}return{tokens:F?p:d,numArgs:0}};s.macros.set("|",T(!1)),p.length&&s.macros.set("\\|",T(!0));var _=s.consumeArg().tokens,A=s.expandTokens([...v,..._,...u]);return s.macros.endGroup(),{tokens:A.reverse(),numArgs:0}};et("\\bra@ket",mqe(!1)),et("\\bra@set",mqe(!0)),et("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),et("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),et("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),et("\\angln","{\\angl n}"),et("\\blue","\\textcolor{##6495ed}{#1}"),et("\\orange","\\textcolor{##ffa500}{#1}"),et("\\pink","\\textcolor{##ff00af}{#1}"),et("\\red","\\textcolor{##df0030}{#1}"),et("\\green","\\textcolor{##28ae7b}{#1}"),et("\\gray","\\textcolor{gray}{#1}"),et("\\purple","\\textcolor{##9d38bd}{#1}"),et("\\blueA","\\textcolor{##ccfaff}{#1}"),et("\\blueB","\\textcolor{##80f6ff}{#1}"),et("\\blueC","\\textcolor{##63d9ea}{#1}"),et("\\blueD","\\textcolor{##11accd}{#1}"),et("\\blueE","\\textcolor{##0c7f99}{#1}"),et("\\tealA","\\textcolor{##94fff5}{#1}"),et("\\tealB","\\textcolor{##26edd5}{#1}"),et("\\tealC","\\textcolor{##01d1c1}{#1}"),et("\\tealD","\\textcolor{##01a995}{#1}"),et("\\tealE","\\textcolor{##208170}{#1}"),et("\\greenA","\\textcolor{##b6ffb0}{#1}"),et("\\greenB","\\textcolor{##8af281}{#1}"),et("\\greenC","\\textcolor{##74cf70}{#1}"),et("\\greenD","\\textcolor{##1fab54}{#1}"),et("\\greenE","\\textcolor{##0d923f}{#1}"),et("\\goldA","\\textcolor{##ffd0a9}{#1}"),et("\\goldB","\\textcolor{##ffbb71}{#1}"),et("\\goldC","\\textcolor{##ff9c39}{#1}"),et("\\goldD","\\textcolor{##e07d10}{#1}"),et("\\goldE","\\textcolor{##a75a05}{#1}"),et("\\redA","\\textcolor{##fca9a9}{#1}"),et("\\redB","\\textcolor{##ff8482}{#1}"),et("\\redC","\\textcolor{##f9685d}{#1}"),et("\\redD","\\textcolor{##e84d39}{#1}"),et("\\redE","\\textcolor{##bc2612}{#1}"),et("\\maroonA","\\textcolor{##ffbde0}{#1}"),et("\\maroonB","\\textcolor{##ff92c6}{#1}"),et("\\maroonC","\\textcolor{##ed5fa6}{#1}"),et("\\maroonD","\\textcolor{##ca337c}{#1}"),et("\\maroonE","\\textcolor{##9e034e}{#1}"),et("\\purpleA","\\textcolor{##ddd7ff}{#1}"),et("\\purpleB","\\textcolor{##c6b9fc}{#1}"),et("\\purpleC","\\textcolor{##aa87ff}{#1}"),et("\\purpleD","\\textcolor{##7854ab}{#1}"),et("\\purpleE","\\textcolor{##543b78}{#1}"),et("\\mintA","\\textcolor{##f5f9e8}{#1}"),et("\\mintB","\\textcolor{##edf2df}{#1}"),et("\\mintC","\\textcolor{##e0e5cc}{#1}"),et("\\grayA","\\textcolor{##f6f7f7}{#1}"),et("\\grayB","\\textcolor{##f0f1f2}{#1}"),et("\\grayC","\\textcolor{##e3e5e6}{#1}"),et("\\grayD","\\textcolor{##d6d8da}{#1}"),et("\\grayE","\\textcolor{##babec2}{#1}"),et("\\grayF","\\textcolor{##888d93}{#1}"),et("\\grayG","\\textcolor{##626569}{#1}"),et("\\grayH","\\textcolor{##3b3e40}{#1}"),et("\\grayI","\\textcolor{##21242c}{#1}"),et("\\kaBlue","\\textcolor{##314453}{#1}"),et("\\kaGreen","\\textcolor{##71B307}{#1}");var vqe={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class _Vt{constructor(s,u,d){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=u,this.expansionCount=0,this.feed(s),this.macros=new CVt(SVt,u.macros),this.mode=d,this.stack=[]}feed(s){this.lexer=new dqe(s,this.settings)}switchMode(s){this.mode=s}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(s){this.stack.push(s)}pushTokens(s){this.stack.push(...s)}scanArgument(s){var u,d,p;if(s){if(this.consumeSpaces(),this.future().text!=="[")return null;u=this.popToken(),{tokens:p,end:d}=this.consumeArg(["]"])}else({tokens:p,start:u,end:d}=this.consumeArg());return this.pushToken(new Bv("EOF",d.loc)),this.pushTokens(p),u.range(d,"")}consumeSpaces(){for(;;){var s=this.future();if(s.text===" ")this.stack.pop();else break}}consumeArg(s){var u=[],d=s&&s.length>0;d||this.consumeSpaces();var p=this.future(),v,b=0,y=0;do{if(v=this.popToken(),u.push(v),v.text==="{")++b;else if(v.text==="}"){if(--b,b===-1)throw new Si("Extra }",v)}else if(v.text==="EOF")throw new Si("Unexpected end of input in a macro argument, expected '"+(s&&d?s[y]:"}")+"'",v);if(s&&d)if((b===0||b===1&&s[y]==="{")&&v.text===s[y]){if(++y,y===s.length){u.splice(-y,y);break}}else y=0}while(b!==0||d);return p.text==="{"&&u[u.length-1].text==="}"&&(u.pop(),u.shift()),u.reverse(),{tokens:u,start:p,end:v}}consumeArgs(s,u){if(u){if(u.length!==s+1)throw new Si("The length of delimiters doesn't match the number of args!");for(var d=u[0],p=0;pthis.settings.maxExpand)throw new Si("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(s){var u=this.popToken(),d=u.text,p=u.noexpand?null:this._getExpansion(d);if(p==null||s&&p.unexpandable){if(s&&p==null&&d[0]==="\\"&&!this.isDefined(d))throw new Si("Undefined control sequence: "+d);return this.pushToken(u),!1}this.countExpansion(1);var v=p.tokens,b=this.consumeArgs(p.numArgs,p.delimiters);if(p.numArgs){v=v.slice();for(var y=v.length-1;y>=0;--y){var T=v[y];if(T.text==="#"){if(y===0)throw new Si("Incomplete placeholder at end of macro body",T);if(T=v[--y],T.text==="#")v.splice(y+1,1);else if(/^[1-9]$/.test(T.text))v.splice(y,2,...b[+T.text-1]);else throw new Si("Not a valid argument number",T)}}}return this.pushTokens(v),v.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var s=this.stack.pop();return s.treatAsRelax&&(s.text="\\relax"),s}throw new Error}expandMacro(s){return this.macros.has(s)?this.expandTokens([new Bv(s)]):void 0}expandTokens(s){var u=[],d=this.stack.length;for(this.pushTokens(s);this.stack.length>d;)if(this.expandOnce(!0)===!1){var p=this.stack.pop();p.treatAsRelax&&(p.noexpand=!1,p.treatAsRelax=!1),u.push(p)}return this.countExpansion(u.length),u}expandMacroAsText(s){var u=this.expandMacro(s);return u&&u.map(d=>d.text).join("")}_getExpansion(s){var u=this.macros.get(s);if(u==null)return u;if(s.length===1){var d=this.lexer.catcodes[s];if(d!=null&&d!==13)return}var p=typeof u=="function"?u(this):u;if(typeof p=="string"){var v=0;if(p.indexOf("#")!==-1)for(var b=p.replace(/##/g,"");b.indexOf("#"+(v+1))!==-1;)++v;for(var y=new dqe(p,this.settings),T=[],_=y.lex();_.text!=="EOF";)T.push(_),_=y.lex();T.reverse();var A={tokens:T,numArgs:v};return A}return p}isDefined(s){return this.macros.has(s)||L9.hasOwnProperty(s)||Gl.math.hasOwnProperty(s)||Gl.text.hasOwnProperty(s)||vqe.hasOwnProperty(s)}isExpandable(s){var u=this.macros.get(s);return u!=null?typeof u=="string"||typeof u=="function"||!u.unexpandable:L9.hasOwnProperty(s)&&!L9[s].primitive}}var wqe=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,TQ=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Bbe={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},yqe={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class CQ{constructor(s,u){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new _Vt(s,u,this.mode),this.settings=u,this.leftrightDepth=0}expect(s,u){if(u===void 0&&(u=!0),this.fetch().text!==s)throw new Si("Expected '"+s+"', got '"+this.fetch().text+"'",this.fetch());u&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(s){this.mode=s,this.gullet.switchMode(s)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var s=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),s}finally{this.gullet.endGroups()}}subparse(s){var u=this.nextToken;this.consume(),this.gullet.pushToken(new Bv("}")),this.gullet.pushTokens(s);var d=this.parseExpression(!1);return this.expect("}"),this.nextToken=u,d}parseExpression(s,u){for(var d=[];;){this.mode==="math"&&this.consumeSpaces();var p=this.fetch();if(CQ.endOfExpression.indexOf(p.text)!==-1||u&&p.text===u||s&&L9[p.text]&&L9[p.text].infix)break;var v=this.parseAtom(u);if(v){if(v.type==="internal")continue}else break;d.push(v)}return this.mode==="text"&&this.formLigatures(d),this.handleInfixNodes(d)}handleInfixNodes(s){for(var u=-1,d,p=0;p=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+u[0]+'" used in math mode',s);var y=Gl[this.mode][u].group,T=lm.range(s),_;if(pHt.hasOwnProperty(y)){var A=y;_={type:"atom",mode:this.mode,family:A,loc:T,text:u}}else _={type:y,mode:this.mode,loc:T,text:u};b=_}else if(u.charCodeAt(0)>=128)this.settings.strict&&(Y$e(u.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+u[0]+'" used in math mode',s):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+u[0]+'"'+(" ("+u.charCodeAt(0)+")"),s)),b={type:"textord",mode:"text",loc:lm.range(s),text:u};else return null;if(this.consume(),v)for(var P=0;P"u"&&(Ts.yylloc={});var Bp=Ts.yylloc;cn.push(Bp);var pm=Ts.options&&Ts.options.ranges;typeof rl.yy.parseError=="function"?this.parseError=rl.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Po(){var xu;return xu=Lt.pop()||Ts.lex()||ca,typeof xu!="number"&&(xu instanceof Array&&(Lt=xu,xu=Lt.pop()),xu=$n.symbols_[xu]||xu),xu}for(var yc,Jc,Ra,du,Sa={},Bo,Rc,Qa,ja;;){if(Jc=qn[qn.length-1],this.defaultActions[Jc]?Ra=this.defaultActions[Jc]:((yc===null||typeof yc>"u")&&(yc=Po()),Ra=fn[Jc]&&fn[Jc][yc]),typeof Ra>"u"||!Ra.length||!Ra[0]){var xa="";ja=[];for(Bo in fn[Jc])this.terminals_[Bo]&&Bo>Xa&&ja.push("'"+this.terminals_[Bo]+"'");Ts.showPosition?xa="Parse error on line "+(mo+1)+`: +`+Ts.showPosition()+` +Expecting `+ja.join(", ")+", got '"+(this.terminals_[yc]||yc)+"'":xa="Parse error on line "+(mo+1)+": Unexpected "+(yc==ca?"end of input":"'"+(this.terminals_[yc]||yc)+"'"),this.parseError(xa,{text:Ts.match,token:this.terminals_[yc]||yc,line:Ts.yylineno,loc:Bp,expected:ja})}if(Ra[0]instanceof Array&&Ra.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Jc+", token: "+yc);switch(Ra[0]){case 1:qn.push(yc),wt.push(Ts.yytext),cn.push(Ts.yylloc),qn.push(Ra[1]),yc=null,Oo=Ts.yyleng,Mn=Ts.yytext,mo=Ts.yylineno,Bp=Ts.yylloc;break;case 2:if(Rc=this.productions_[Ra[1]][1],Sa.$=wt[wt.length-Rc],Sa._$={first_line:cn[cn.length-(Rc||1)].first_line,last_line:cn[cn.length-1].last_line,first_column:cn[cn.length-(Rc||1)].first_column,last_column:cn[cn.length-1].last_column},pm&&(Sa._$.range=[cn[cn.length-(Rc||1)].range[0],cn[cn.length-1].range[1]]),du=this.performAction.apply(Sa,[Mn,Oo,mo,rl.yy,Ra[1],wt,cn].concat(No)),typeof du<"u")return du;Rc&&(qn=qn.slice(0,-1*Rc*2),wt=wt.slice(0,-1*Rc),cn=cn.slice(0,-1*Rc)),qn.push(this.productions_[Ra[1]][0]),wt.push(Sa.$),cn.push(Sa._$),Qa=fn[qn[qn.length-2]][qn[qn.length-1]],qn.push(Qa);break;case 3:return!0}}return!0}},ta=function(){var Ar={EOF:1,parseError:function($n,qn){if(this.yy.parser)this.yy.parser.parseError($n,qn);else throw new Error($n)},setInput:function(Nn,$n){return this.yy=$n||this.yy||{},this._input=Nn,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Nn=this._input[0];this.yytext+=Nn,this.yyleng++,this.offset++,this.match+=Nn,this.matched+=Nn;var $n=Nn.match(/(?:\r\n?|\n).*/g);return $n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Nn},unput:function(Nn){var $n=Nn.length,qn=Nn.split(/(?:\r\n?|\n)/g);this._input=Nn+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$n),this.offset-=$n;var Lt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),qn.length-1&&(this.yylineno-=qn.length-1);var wt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:qn?(qn.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-qn.length].length-qn[0].length:this.yylloc.first_column-$n},this.options.ranges&&(this.yylloc.range=[wt[0],wt[0]+this.yyleng-$n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Nn){this.unput(this.match.slice(Nn))},pastInput:function(){var Nn=this.matched.substr(0,this.matched.length-this.match.length);return(Nn.length>20?"...":"")+Nn.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Nn=this.match;return Nn.length<20&&(Nn+=this._input.substr(0,20-Nn.length)),(Nn.substr(0,20)+(Nn.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Nn=this.pastInput(),$n=new Array(Nn.length+1).join("-");return Nn+this.upcomingInput()+` +`+$n+"^"},test_match:function(Nn,$n){var qn,Lt,wt;if(this.options.backtrack_lexer&&(wt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(wt.yylloc.range=this.yylloc.range.slice(0))),Lt=Nn[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Nn[0].length},this.yytext+=Nn[0],this.match+=Nn[0],this.matches=Nn,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Nn[0].length),this.matched+=Nn[0],qn=this.performAction.call(this,this.yy,this,$n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),qn)return qn;if(this._backtrack){for(var cn in wt)this[cn]=wt[cn];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Nn,$n,qn,Lt;this._more||(this.yytext="",this.match="");for(var wt=this._currentRules(),cn=0;cn$n[0].length)){if($n=qn,Lt=cn,this.options.backtrack_lexer){if(Nn=this.test_match(qn,wt[cn]),Nn!==!1)return Nn;if(this._backtrack){$n=!1;continue}else return!1}else if(!this.options.flex)break}return $n?(Nn=this.test_match($n,wt[Lt]),Nn!==!1?Nn:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var $n=this.next();return $n||this.lex()},begin:function($n){this.conditionStack.push($n)},popState:function(){var $n=this.conditionStack.length-1;return $n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function($n){return $n=this.conditionStack.length-1-Math.abs($n||0),$n>=0?this.conditionStack[$n]:"INITIAL"},pushState:function($n){this.begin($n)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function($n,qn,Lt,wt){switch(Lt){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return Ar}();Pa.lexer=ta;function $o(){this.yy={}}return $o.prototype=Pa,Pa.Parser=$o,new $o}();SQ.parser=SQ;const OVt=SQ;let j3=[],M9=[""],Op="global",$3="",Q4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],bR=[],jbe="",$be=!1,_Q=4,AQ=2;var Eqe;const NVt=function(){return Eqe},PVt=function(i){Eqe=Wf(i,qt())},BVt=function(i,s,u,d,p,v,b,y,T){if(i==null||s===void 0||s===null||u===void 0||u===null||d===void 0||d===null)return;let _={};const A=bR.find(P=>P.from===s&&P.to===u);if(A?_=A:bR.push(_),_.type=i,_.from=s,_.to=u,_.label={text:d},p==null)_.techn={text:""};else if(typeof p=="object"){let[P,R]=Object.entries(p)[0];_[P]={text:R}}else _.techn={text:p};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[P,R]=Object.entries(v)[0];_[P]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[P,R]=Object.entries(b)[0];_[P]=R}else _.sprite=b;if(typeof y=="object"){let[P,R]=Object.entries(y)[0];_[P]=R}else _.tags=y;if(typeof T=="object"){let[P,R]=Object.entries(T)[0];_[P]=R}else _.link=T;_.wrap=D9()},FVt=function(i,s,u,d,p,v,b){if(s===null||u===null)return;let y={};const T=j3.find(_=>_.alias===s);if(T&&s===T.alias?y=T:(y.alias=s,j3.push(y)),u==null?y.label={text:""}:y.label={text:u},d==null)y.descr={text:""};else if(typeof d=="object"){let[_,A]=Object.entries(d)[0];y[_]={text:A}}else y.descr={text:d};if(typeof p=="object"){let[_,A]=Object.entries(p)[0];y[_]=A}else y.sprite=p;if(typeof v=="object"){let[_,A]=Object.entries(v)[0];y[_]=A}else y.tags=v;if(typeof b=="object"){let[_,A]=Object.entries(b)[0];y[_]=A}else y.link=b;y.typeC4Shape={text:i},y.parentBoundary=Op,y.wrap=D9()},RVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=j3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,j3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=D9(),T.typeC4Shape={text:i},T.parentBoundary=Op},jVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=j3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,j3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=D9(),T.typeC4Shape={text:i},T.parentBoundary=Op},$Vt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=Q4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Q4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"system"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Op,v.wrap=D9(),$3=Op,Op=i,M9.push($3)},zVt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=Q4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Q4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"container"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Op,v.wrap=D9(),$3=Op,Op=i,M9.push($3)},qVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=Q4.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,Q4.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.type={text:"node"};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.type={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.nodeType=i,T.parentBoundary=Op,T.wrap=D9(),$3=Op,Op=s,M9.push($3)},HVt=function(){Op=$3,M9.pop(),$3=M9.pop(),M9.push($3)},VVt=function(i,s,u,d,p,v,b,y,T,_,A){let P=j3.find(R=>R.alias===s);if(!(P===void 0&&(P=Q4.find(R=>R.alias===s),P===void 0))){if(u!=null)if(typeof u=="object"){let[R,F]=Object.entries(u)[0];P[R]=F}else P.bgColor=u;if(d!=null)if(typeof d=="object"){let[R,F]=Object.entries(d)[0];P[R]=F}else P.fontColor=d;if(p!=null)if(typeof p=="object"){let[R,F]=Object.entries(p)[0];P[R]=F}else P.borderColor=p;if(v!=null)if(typeof v=="object"){let[R,F]=Object.entries(v)[0];P[R]=F}else P.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,F]=Object.entries(b)[0];P[R]=F}else P.shape=b;if(y!=null)if(typeof y=="object"){let[R,F]=Object.entries(y)[0];P[R]=F}else P.sprite=y;if(T!=null)if(typeof T=="object"){let[R,F]=Object.entries(T)[0];P[R]=F}else P.techn=T;if(_!=null)if(typeof _=="object"){let[R,F]=Object.entries(_)[0];P[R]=F}else P.legendText=_;if(A!=null)if(typeof A=="object"){let[R,F]=Object.entries(A)[0];P[R]=F}else P.legendSprite=A}},UVt=function(i,s,u,d,p,v,b){const y=bR.find(T=>T.from===s&&T.to===u);if(y!==void 0){if(d!=null)if(typeof d=="object"){let[T,_]=Object.entries(d)[0];y[T]=_}else y.textColor=d;if(p!=null)if(typeof p=="object"){let[T,_]=Object.entries(p)[0];y[T]=_}else y.lineColor=p;if(v!=null)if(typeof v=="object"){let[T,_]=Object.entries(v)[0];y[T]=parseInt(_)}else y.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[T,_]=Object.entries(b)[0];y[T]=parseInt(_)}else y.offsetY=parseInt(b)}},GVt=function(i,s,u){let d=_Q,p=AQ;if(typeof s=="object"){const v=Object.values(s)[0];d=parseInt(v)}else d=parseInt(s);if(typeof u=="object"){const v=Object.values(u)[0];p=parseInt(v)}else p=parseInt(u);d>=1&&(_Q=d),p>=1&&(AQ=p)},KVt=function(){return _Q},WVt=function(){return AQ},YVt=function(){return Op},XVt=function(){return $3},Tqe=function(i){return i==null?j3:j3.filter(s=>s.parentBoundary===i)},QVt=function(i){return j3.find(s=>s.alias===i)},JVt=function(i){return Object.keys(Tqe(i))},Cqe=function(i){return i==null?Q4:Q4.filter(s=>s.parentBoundary===i)},ZVt=Cqe,eUt=function(){return bR},tUt=function(){return jbe},nUt=function(i){$be=i},D9=function(){return $be},zbe={addPersonOrSystem:FVt,addPersonOrSystemBoundary:$Vt,addContainer:RVt,addContainerBoundary:zVt,addComponent:jVt,addDeploymentNode:qVt,popBoundaryParseStack:HVt,addRel:BVt,updateElStyle:VVt,updateRelStyle:UVt,updateLayoutConfig:GVt,autoWrap:D9,setWrap:nUt,getC4ShapeArray:Tqe,getC4Shape:QVt,getC4ShapeKeys:JVt,getBoundaries:Cqe,getBoundarys:ZVt,getCurrentBoundaryParse:YVt,getParentBoundaryParse:XVt,getRels:eUt,getTitle:tUt,getC4Type:NVt,getC4ShapeInRow:KVt,getC4BoundaryInRow:WVt,setAccTitle:Pg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,getConfig:()=>qt().c4,clear:function(){j3=[],Q4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],$3="",Op="global",M9=[""],bR=[],M9=[""],jbe="",$be=!1,_Q=4,AQ=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){jbe=Wf(i,qt())},setC4Type:PVt},LQ=(i,s)=>{const u=i.append("rect");if(u.attr("x",s.x),u.attr("y",s.y),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("width",s.width),u.attr("height",s.height),s.name&&u.attr("name",s.name),s.rx!==void 0&&u.attr("rx",s.rx),s.ry!==void 0&&u.attr("ry",s.ry),s.attrs!==void 0)for(const d in s.attrs)u.attr(d,s.attrs[d]);return s.class!==void 0&&u.attr("class",s.class),u},Sqe=(i,s)=>{const u={x:s.startx,y:s.starty,width:s.stopx-s.startx,height:s.stopy-s.starty,fill:s.fill,stroke:s.stroke,class:"rect"};LQ(i,u).lower()},rUt=(i,s)=>{const u=s.text.replace(fD," "),d=i.append("text");d.attr("x",s.x),d.attr("y",s.y),d.attr("class","legend"),d.style("text-anchor",s.anchor),s.class!==void 0&&d.attr("class",s.class);const p=d.append("tspan");return p.attr("x",s.x+s.textMargin*2),p.text(u),d},iUt=(i,s,u,d)=>{const p=i.append("image");p.attr("x",s),p.attr("y",u);const v=p9.sanitizeUrl(d);p.attr("xlink:href",v)},sUt=(i,s,u,d)=>{const p=i.append("use");p.attr("x",s),p.attr("y",u);const v=p9.sanitizeUrl(d);p.attr("xlink:href",`#${v}`)},qC=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),qbe=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),Hbe=function(i,s){return LQ(i,s)},_qe=function(i,s,u,d,p,v){const b=i.append("image");b.attr("width",s),b.attr("height",u),b.attr("x",d),b.attr("y",p);let y=v.startsWith("data:image/png;base64")?v:p9.sanitizeUrl(v);b.attr("xlink:href",y)},aUt=(i,s,u)=>{const d=i.append("g");let p=0;for(let v of s){let b=v.textColor?v.textColor:"#444444",y=v.lineColor?v.lineColor:"#444444",T=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,A="";if(p===0){let R=d.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",y),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)"),p=-1}else{let R=d.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",y).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)")}let P=u.messageFont();F7(u)(v.label.text,d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},P),v.techn&&v.techn.text!==""&&(P=u.messageFont(),F7(u)("["+v.techn.text+"]",d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+u.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},P))}},oUt=function(i,s,u){const d=i.append("g");let p=s.bgColor?s.bgColor:"none",v=s.borderColor?s.borderColor:"#444444",b=s.fontColor?s.fontColor:"black",y={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};s.nodeType&&(y={"stroke-width":1});let T={x:s.x,y:s.y,fill:p,stroke:v,width:s.width,height:s.height,rx:2.5,ry:2.5,attrs:y};Hbe(d,T);let _=u.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,F7(u)(s.label.text,d,s.x,s.y+s.label.Y,s.width,s.height,{fill:"#444444"},_),s.type&&s.type.text!==""&&(_=u.boundaryFont(),_.fontColor=b,F7(u)(s.type.text,d,s.x,s.y+s.type.Y,s.width,s.height,{fill:"#444444"},_)),s.descr&&s.descr.text!==""&&(_=u.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,F7(u)(s.descr.text,d,s.x,s.y+s.descr.Y,s.width,s.height,{fill:"#444444"},_))},cUt=function(i,s,u){var P;let d=s.bgColor?s.bgColor:u[s.typeC4Shape.text+"_bg_color"],p=s.borderColor?s.borderColor:u[s.typeC4Shape.text+"_border_color"],v=s.fontColor?s.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(s.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const y=i.append("g");y.attr("class","person-man");const T=qC();switch(s.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":T.x=s.x,T.y=s.y,T.fill=d,T.width=s.width,T.height=s.height,T.stroke=p,T.rx=2.5,T.ry=2.5,T.attrs={"stroke-width":.5},Hbe(y,T);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2).replaceAll("height",s.height)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",s.x).replaceAll("starty",s.y).replaceAll("width",s.width).replaceAll("half",s.height/2)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",s.x+s.width).replaceAll("starty",s.y).replaceAll("half",s.height/2));break}let _=mUt(u,s.typeC4Shape.text);switch(y.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",s.typeC4Shape.width).attr("x",s.x+s.width/2-s.typeC4Shape.width/2).attr("y",s.y+s.typeC4Shape.Y).text("<<"+s.typeC4Shape.text+">>"),s.typeC4Shape.text){case"person":case"external_person":_qe(y,48,48,s.x+s.width/2-24,s.y+s.image.Y,b);break}let A=u[s.typeC4Shape.text+"Font"]();return A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=v,F7(u)(s.label.text,y,s.x,s.y+s.label.Y,s.width,s.height,{fill:v},A),A=u[s.typeC4Shape.text+"Font"](),A.fontColor=v,s.techn&&((P=s.techn)==null?void 0:P.text)!==""?F7(u)(s.techn.text,y,s.x,s.y+s.techn.Y,s.width,s.height,{fill:v,"font-style":"italic"},A):s.type&&s.type.text!==""&&F7(u)(s.type.text,y,s.x,s.y+s.type.Y,s.width,s.height,{fill:v,"font-style":"italic"},A),s.descr&&s.descr.text!==""&&(A=u.personFont(),A.fontColor=v,F7(u)(s.descr.text,y,s.x,s.y+s.descr.Y,s.width,s.height,{fill:v},A)),s.height},uUt=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},lUt=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},hUt=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},fUt=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},dUt=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},gUt=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},pUt=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},bUt=function(i){const u=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);u.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),u.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},mUt=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),F7=function(){function i(p,v,b,y,T,_,A){const P=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("text-anchor","middle").text(p);d(P,A)}function s(p,v,b,y,T,_,A,P){const{fontSize:R,fontFamily:F,fontWeight:j}=P,W=p.split(ci.lineBreakRegex);for(let ee=0;ee=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>Aqe)&&(u=this.nextData.startx+s.margin+$s.nextLinePaddingX,p=this.nextData.stopy+s.margin*2,this.nextData.stopx=d=u+s.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=p+s.height,this.nextData.cnt=1),s.x=u,s.y=p,this.updateVal(this.data,"startx",u,Math.min),this.updateVal(this.data,"starty",p,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",u,Math.min),this.updateVal(this.nextData,"starty",p,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(s){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},Ube(s.db.getConfig())}bumpLastMargin(s){this.data.stopx+=s,this.data.stopy+=s}}const Ube=function(i){td($s,i),i.fontFamily&&($s.personFontFamily=$s.systemFontFamily=$s.messageFontFamily=i.fontFamily),i.fontSize&&($s.personFontSize=$s.systemFontSize=$s.messageFontSize=i.fontSize),i.fontWeight&&($s.personFontWeight=$s.systemFontWeight=$s.messageFontWeight=i.fontWeight)},mR=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),IQ=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),vUt=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function z3(i,s,u,d,p){if(!s[i].width)if(u)s[i].text=yje(s[i].text,p,d),s[i].textLines=s[i].text.split(ci.lineBreakRegex).length,s[i].width=p,s[i].height=T2e(s[i].text,d);else{let v=s[i].text.split(ci.lineBreakRegex);s[i].textLines=v.length;let b=0;s[i].height=0,s[i].width=0;for(const y of v)s[i].width=Math.max(V4(y,d),s[i].width),b=T2e(y,d),s[i].height=s[i].height+b}}const Mqe=function(i,s,u){s.x=u.data.startx,s.y=u.data.starty,s.width=u.data.stopx-u.data.startx,s.height=u.data.stopy-u.data.starty,s.label.y=$s.c4ShapeMargin-35;let d=s.wrap&&$s.wrap,p=IQ($s);p.fontSize=p.fontSize+2,p.fontWeight="bold";let v=V4(s.label.text,p);z3("label",s,d,p,v),J4.drawBoundary(i,s,$s)},Dqe=function(i,s,u,d){let p=0;for(const v of d){p=0;const b=u[v];let y=mR($s,b.typeC4Shape.text);switch(y.fontSize=y.fontSize-2,b.typeC4Shape.width=V4("«"+b.typeC4Shape.text+"»",y),b.typeC4Shape.height=y.fontSize+2,b.typeC4Shape.Y=$s.c4ShapePadding,p=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height);let T=b.wrap&&$s.wrap,_=$s.width-$s.c4ShapePadding*2,A=mR($s,b.typeC4Shape.text);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",z3("label",b,T,A,_),b.label.Y=p+8,p=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let F=mR($s,b.typeC4Shape.text);z3("type",b,T,F,_),b.type.Y=p+5,p=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let F=mR($s,b.techn.text);z3("techn",b,T,F,_),b.techn.Y=p+5,p=b.techn.Y+b.techn.height}let P=p,R=b.label.width;if(b.descr&&b.descr.text!==""){let F=mR($s,b.typeC4Shape.text);z3("descr",b,T,F,_),b.descr.Y=p+20,p=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),P=p-b.descr.textLines*5}R=R+$s.c4ShapePadding,b.width=Math.max(b.width||$s.width,R,$s.width),b.height=Math.max(b.height||$s.height,P,$s.height),b.margin=b.margin||$s.c4ShapeMargin,i.insert(b),J4.drawC4Shape(s,b,$s)}i.bumpLastMargin($s.c4ShapeMargin)};let zv=class{constructor(s,u){this.x=s,this.y=u}},Iqe=function(i,s){let u=i.x,d=i.y,p=s.x,v=s.y,b=u+i.width/2,y=d+i.height/2,T=Math.abs(u-p),_=Math.abs(d-v),A=_/T,P=i.height/i.width,R=null;return d==v&&up?R=new zv(u,y):u==p&&dv&&(R=new zv(b,d)),u>p&&d=A?R=new zv(u,y+A*i.width/2):R=new zv(b-T/_*i.height/2,d+i.height):u=A?R=new zv(u+i.width,y+A*i.width/2):R=new zv(b+T/_*i.height/2,d+i.height):uv?P>=A?R=new zv(u+i.width,y-A*i.width/2):R=new zv(b+i.height/2*T/_,d):u>p&&d>v&&(P>=A?R=new zv(u,y-i.width/2*A):R=new zv(b-i.height/2*T/_,d)),R},wUt=function(i,s){let u={x:0,y:0};u.x=s.x+s.width/2,u.y=s.y+s.height/2;let d=Iqe(i,u);u.x=i.x+i.width/2,u.y=i.y+i.height/2;let p=Iqe(s,u);return{startPoint:d,endPoint:p}};const yUt=function(i,s,u,d){let p=0;for(let v of s){p=p+1;let b=v.wrap&&$s.wrap,y=vUt($s);d.db.getC4Type()==="C4Dynamic"&&(v.label.text=p+": "+v.label.text);let _=V4(v.label.text,y);z3("label",v,b,y,_),v.techn&&v.techn.text!==""&&(_=V4(v.techn.text,y),z3("techn",v,b,y,_)),v.descr&&v.descr.text!==""&&(_=V4(v.descr.text,y),z3("descr",v,b,y,_));let A=u(v.from),P=u(v.to),R=wUt(A,P);v.startPoint=R.startPoint,v.endPoint=R.endPoint}J4.drawRels(i,s,$s)};function Oqe(i,s,u,d,p){let v=new Lqe(p);v.data.widthLimit=u.data.widthLimit/Math.min(Vbe,d.length);for(let[b,y]of d.entries()){let T=0;y.image={width:0,height:0,Y:0},y.sprite&&(y.image.width=48,y.image.height=48,y.image.Y=T,T=y.image.Y+y.image.height);let _=y.wrap&&$s.wrap,A=IQ($s);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",z3("label",y,_,A,v.data.widthLimit),y.label.Y=T+8,T=y.label.Y+y.label.height,y.type&&y.type.text!==""){y.type.text="["+y.type.text+"]";let j=IQ($s);z3("type",y,_,j,v.data.widthLimit),y.type.Y=T+5,T=y.type.Y+y.type.height}if(y.descr&&y.descr.text!==""){let j=IQ($s);j.fontSize=j.fontSize-2,z3("descr",y,_,j,v.data.widthLimit),y.descr.Y=T+20,T=y.descr.Y+y.descr.height}if(b==0||b%Vbe===0){let j=u.data.startx+$s.diagramMarginX,W=u.data.stopy+$s.diagramMarginY+T;v.setData(j,j,W,W)}else{let j=v.data.stopx!==v.data.startx?v.data.stopx+$s.diagramMarginX:v.data.startx,W=v.data.starty;v.setData(j,j,W,W)}v.name=y.alias;let P=p.db.getC4ShapeArray(y.alias),R=p.db.getC4ShapeKeys(y.alias);R.length>0&&Dqe(v,i,P,R),s=y.alias;let F=p.db.getBoundarys(s);F.length>0&&Oqe(i,s,v,F,p),y.alias!=="global"&&Mqe(i,y,v),u.data.stopy=Math.max(v.data.stopy+$s.c4ShapeMargin,u.data.stopy),u.data.stopx=Math.max(v.data.stopx+$s.c4ShapeMargin,u.data.stopx),MQ=Math.max(MQ,u.data.stopx),DQ=Math.max(DQ,u.data.stopy)}}const Nqe={drawPersonOrSystemArray:Dqe,drawBoundary:Mqe,setConf:Ube,draw:function(i,s,u,d){$s=qt().c4;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body");let y=d.db;d.db.setWrap($s.wrap),Aqe=y.getC4ShapeInRow(),Vbe=y.getC4BoundaryInRow(),Xe.debug(`C:${JSON.stringify($s,null,2)}`);const T=p==="sandbox"?b.select(`[id="${s}"]`):Ir(`[id="${s}"]`);J4.insertComputerIcon(T),J4.insertDatabaseIcon(T),J4.insertClockIcon(T);let _=new Lqe(d);_.setData($s.diagramMarginX,$s.diagramMarginX,$s.diagramMarginY,$s.diagramMarginY),_.data.widthLimit=screen.availWidth,MQ=$s.diagramMarginX,DQ=$s.diagramMarginY;const A=d.db.getTitle();let P=d.db.getBoundarys("");Oqe(T,"",_,P,d),J4.insertArrowHead(T),J4.insertArrowEnd(T),J4.insertArrowCrossHead(T),J4.insertArrowFilledHead(T),yUt(T,d.db.getRels(),d.db.getC4Shape,d),_.data.stopx=MQ,_.data.stopy=DQ;const R=_.data;let j=R.stopy-R.starty+2*$s.diagramMarginY;const ee=R.stopx-R.startx+2*$s.diagramMarginX;A&&T.append("text").text(A).attr("x",(R.stopx-R.startx)/2-4*$s.diagramMarginX).attr("y",R.starty+$s.diagramMarginY),Og(T,j,ee,$s.useMaxWidth);const ie=A?60:0;T.attr("viewBox",R.startx-$s.diagramMarginX+" -"+($s.diagramMarginY+ie)+" "+ee+" "+(j+ie)),Xe.debug("models:",R)}},xUt=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:OVt,db:zbe,renderer:Nqe,styles:i=>`.person { + stroke: ${i.personBorder}; + fill: ${i.personBkg}; + } +`,init:({c4:i,wrap:s})=>{Nqe.setConf(i),zbe.setWrap(s)}}},Symbol.toStringTag,{value:"Module"}));var Gbe=function(){var i=function(ku,Wi,hs,Ma){for(hs=hs||{},Ma=ku.length;Ma--;hs[ku[Ma]]=Wi);return hs},s=[1,4],u=[1,3],d=[1,5],p=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],y=[1,14],T=[1,15],_=[1,16],A=[1,23],P=[1,25],R=[1,26],F=[1,27],j=[1,49],W=[1,48],ee=[1,29],ie=[1,30],oe=[1,31],be=[1,32],ge=[1,33],ae=[1,44],ne=[1,46],se=[1,42],de=[1,47],X=[1,43],pe=[1,50],K=[1,45],xe=[1,51],U=[1,52],Be=[1,34],Ne=[1,35],je=[1,36],Ie=[1,37],Se=[1,57],Ce=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],ke=[1,61],Ke=[1,60],Ft=[1,62],Pe=[8,9,11,73,75],gn=[1,88],kt=[1,93],Et=[1,92],Gt=[1,89],ln=[1,85],xt=[1,91],Pt=[1,87],Ze=[1,94],At=[1,90],Tt=[1,95],On=[1,86],ht=[8,9,10,11,73,75],zr=[8,9,10,11,44,73,75],yt=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Fi=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],yi=[42,58,86,99,102,103,106,108,111,112,113],Pa=[1,121],ta=[1,120],$o=[1,128],Ar=[1,142],Nn=[1,143],$n=[1,144],qn=[1,145],Lt=[1,130],wt=[1,132],cn=[1,136],fn=[1,137],Mn=[1,138],mo=[1,139],Oo=[1,140],Xa=[1,141],ca=[1,146],No=[1,147],Ts=[1,126],rl=[1,127],Xo=[1,134],Bp=[1,129],pm=[1,133],Po=[1,131],yc=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Jc=[1,149],Ra=[8,9,11],du=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Sa=[1,169],Bo=[1,165],Rc=[1,166],Qa=[1,170],ja=[1,167],xa=[1,168],xu=[75,113,116],jc=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],o5=[10,103],jg=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],id=[1,235],Hd=[1,233],uh=[1,237],Vd=[1,231],Ud=[1,232],Gd=[1,234],sd=[1,236],R0=[1,238],ls=[1,255],vn=[8,9,11,103],si=[8,9,10,11,58,81,102,103,106,107,108,109],ss={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Wi,hs,Ma,ui,su,Ot,Y3){var Kt=Ot.length-1;switch(su){case 2:this.$=[];break;case 3:(!Array.isArray(Ot[Kt])||Ot[Kt].length>0)&&Ot[Kt-1].push(Ot[Kt]),this.$=Ot[Kt-1];break;case 4:case 176:this.$=Ot[Kt];break;case 11:ui.setDirection("TB"),this.$="TB";break;case 12:ui.setDirection(Ot[Kt-1]),this.$=Ot[Kt-1];break;case 27:this.$=Ot[Kt-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=ui.addSubGraph(Ot[Kt-6],Ot[Kt-1],Ot[Kt-4]);break;case 34:this.$=ui.addSubGraph(Ot[Kt-3],Ot[Kt-1],Ot[Kt-3]);break;case 35:this.$=ui.addSubGraph(void 0,Ot[Kt-1],void 0);break;case 37:this.$=Ot[Kt].trim(),ui.setAccTitle(this.$);break;case 38:case 39:this.$=Ot[Kt].trim(),ui.setAccDescription(this.$);break;case 43:ui.addLink(Ot[Kt-2].stmt,Ot[Kt],Ot[Kt-1]),this.$={stmt:Ot[Kt],nodes:Ot[Kt].concat(Ot[Kt-2].nodes)};break;case 44:ui.addLink(Ot[Kt-3].stmt,Ot[Kt-1],Ot[Kt-2]),this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1].concat(Ot[Kt-3].nodes)};break;case 45:this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1]};break;case 46:this.$={stmt:Ot[Kt],nodes:Ot[Kt]};break;case 47:this.$=[Ot[Kt]];break;case 48:this.$=Ot[Kt-4].concat(Ot[Kt]);break;case 49:this.$=Ot[Kt];break;case 50:this.$=Ot[Kt-2],ui.setClass(Ot[Kt-2],Ot[Kt]);break;case 51:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"square");break;case 52:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"doublecircle");break;case 53:this.$=Ot[Kt-5],ui.addVertex(Ot[Kt-5],Ot[Kt-2],"circle");break;case 54:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"ellipse");break;case 55:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"stadium");break;case 56:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"subroutine");break;case 57:this.$=Ot[Kt-7],ui.addVertex(Ot[Kt-7],Ot[Kt-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ot[Kt-5],Ot[Kt-3]]]));break;case 58:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"cylinder");break;case 59:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"round");break;case 60:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"diamond");break;case 61:this.$=Ot[Kt-5],ui.addVertex(Ot[Kt-5],Ot[Kt-2],"hexagon");break;case 62:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"odd");break;case 63:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"trapezoid");break;case 64:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"inv_trapezoid");break;case 65:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_right");break;case 66:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_left");break;case 67:this.$=Ot[Kt],ui.addVertex(Ot[Kt]);break;case 68:Ot[Kt-1].text=Ot[Kt],this.$=Ot[Kt-1];break;case 69:case 70:Ot[Kt-2].text=Ot[Kt-1],this.$=Ot[Kt-2];break;case 71:this.$=Ot[Kt];break;case 72:var j0=ui.destructLink(Ot[Kt],Ot[Kt-2]);this.$={type:j0.type,stroke:j0.stroke,length:j0.length,text:Ot[Kt-1]};break;case 73:this.$={text:Ot[Kt],type:"text"};break;case 74:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 75:this.$={text:Ot[Kt],type:"string"};break;case 76:this.$={text:Ot[Kt],type:"markdown"};break;case 77:var j0=ui.destructLink(Ot[Kt]);this.$={type:j0.type,stroke:j0.stroke,length:j0.length};break;case 78:this.$=Ot[Kt-1];break;case 79:this.$={text:Ot[Kt],type:"text"};break;case 80:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 81:this.$={text:Ot[Kt],type:"string"};break;case 82:case 97:this.$={text:Ot[Kt],type:"markdown"};break;case 94:this.$={text:Ot[Kt],type:"text"};break;case 95:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 96:this.$={text:Ot[Kt],type:"text"};break;case 98:this.$=Ot[Kt-4],ui.addClass(Ot[Kt-2],Ot[Kt]);break;case 99:this.$=Ot[Kt-4],ui.setClass(Ot[Kt-2],Ot[Kt]);break;case 100:case 108:this.$=Ot[Kt-1],ui.setClickEvent(Ot[Kt-1],Ot[Kt]);break;case 101:case 109:this.$=Ot[Kt-3],ui.setClickEvent(Ot[Kt-3],Ot[Kt-2]),ui.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 102:this.$=Ot[Kt-2],ui.setClickEvent(Ot[Kt-2],Ot[Kt-1],Ot[Kt]);break;case 103:this.$=Ot[Kt-4],ui.setClickEvent(Ot[Kt-4],Ot[Kt-3],Ot[Kt-2]),ui.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 104:this.$=Ot[Kt-2],ui.setLink(Ot[Kt-2],Ot[Kt]);break;case 105:this.$=Ot[Kt-4],ui.setLink(Ot[Kt-4],Ot[Kt-2]),ui.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 106:this.$=Ot[Kt-4],ui.setLink(Ot[Kt-4],Ot[Kt-2],Ot[Kt]);break;case 107:this.$=Ot[Kt-6],ui.setLink(Ot[Kt-6],Ot[Kt-4],Ot[Kt]),ui.setTooltip(Ot[Kt-6],Ot[Kt-2]);break;case 110:this.$=Ot[Kt-1],ui.setLink(Ot[Kt-1],Ot[Kt]);break;case 111:this.$=Ot[Kt-3],ui.setLink(Ot[Kt-3],Ot[Kt-2]),ui.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 112:this.$=Ot[Kt-3],ui.setLink(Ot[Kt-3],Ot[Kt-2],Ot[Kt]);break;case 113:this.$=Ot[Kt-5],ui.setLink(Ot[Kt-5],Ot[Kt-4],Ot[Kt]),ui.setTooltip(Ot[Kt-5],Ot[Kt-2]);break;case 114:this.$=Ot[Kt-4],ui.addVertex(Ot[Kt-2],void 0,void 0,Ot[Kt]);break;case 115:this.$=Ot[Kt-4],ui.updateLink([Ot[Kt-2]],Ot[Kt]);break;case 116:this.$=Ot[Kt-4],ui.updateLink(Ot[Kt-2],Ot[Kt]);break;case 117:this.$=Ot[Kt-8],ui.updateLinkInterpolate([Ot[Kt-6]],Ot[Kt-2]),ui.updateLink([Ot[Kt-6]],Ot[Kt]);break;case 118:this.$=Ot[Kt-8],ui.updateLinkInterpolate(Ot[Kt-6],Ot[Kt-2]),ui.updateLink(Ot[Kt-6],Ot[Kt]);break;case 119:this.$=Ot[Kt-6],ui.updateLinkInterpolate([Ot[Kt-4]],Ot[Kt]);break;case 120:this.$=Ot[Kt-6],ui.updateLinkInterpolate(Ot[Kt-4],Ot[Kt]);break;case 121:case 123:this.$=[Ot[Kt]];break;case 122:case 124:Ot[Kt-2].push(Ot[Kt]),this.$=Ot[Kt-2];break;case 126:this.$=Ot[Kt-1]+Ot[Kt];break;case 174:this.$=Ot[Kt];break;case 175:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 177:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:s,10:u,12:d},{1:[3]},i(p,v,{5:6}),{4:7,9:s,10:u,12:d},{4:8,9:s,10:u,12:d},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},i(p,[2,9]),i(p,[2,10]),i(p,[2,11]),{8:[1,54],9:[1,55],10:Se,15:53,18:56},i(Ce,[2,3]),i(Ce,[2,4]),i(Ce,[2,5]),i(Ce,[2,6]),i(Ce,[2,7]),i(Ce,[2,8]),{8:ke,9:Ke,11:Ft,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:ke,9:Ke,11:Ft,21:66},{8:ke,9:Ke,11:Ft,21:67},{8:ke,9:Ke,11:Ft,21:68},{8:ke,9:Ke,11:Ft,21:69},{8:ke,9:Ke,11:Ft,21:70},{8:ke,9:Ke,10:[1,71],11:Ft,21:72},i(Ce,[2,36]),{35:[1,73]},{37:[1,74]},i(Ce,[2,39]),i(Pe,[2,46],{18:75,10:Se}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:gn,42:kt,58:Et,77:[1,83],86:Gt,92:[1,80],94:[1,81],98:82,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On,117:84},i(Ce,[2,178]),i(Ce,[2,179]),i(Ce,[2,180]),i(Ce,[2,181]),i(ht,[2,47]),i(ht,[2,49],{44:[1,96]}),i(zr,[2,67],{110:109,29:[1,97],42:j,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:W,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ae,99:ne,102:se,103:de,106:X,108:pe,111:K,112:xe,113:U}),i(yt,[2,174]),i(yt,[2,135]),i(yt,[2,136]),i(yt,[2,137]),i(yt,[2,138]),i(yt,[2,139]),i(yt,[2,140]),i(yt,[2,141]),i(yt,[2,142]),i(yt,[2,143]),i(yt,[2,144]),i(yt,[2,145]),i(p,[2,12]),i(p,[2,18]),i(p,[2,19]),{9:[1,110]},i(Fi,[2,26],{18:111,10:Se}),i(Ce,[2,27]),{40:112,41:38,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U},i(Ce,[2,40]),i(Ce,[2,41]),i(Ce,[2,42]),i(yi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Pa,116:ta},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ce,[2,28]),i(Ce,[2,29]),i(Ce,[2,30]),i(Ce,[2,31]),i(Ce,[2,32]),{10:$o,12:Ar,14:Nn,27:$n,28:122,32:qn,42:Lt,58:wt,73:cn,77:[1,124],78:[1,125],80:135,81:fn,82:Mn,83:mo,84:Oo,85:Xa,86:ca,87:No,88:123,102:Ts,106:rl,108:Xo,111:Bp,112:pm,113:Po},i(yc,v,{5:148}),i(Ce,[2,37]),i(Ce,[2,38]),i(Pe,[2,45],{42:Jc}),{42:j,45:150,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U},{99:[1,151],100:152,102:[1,153]},{42:j,45:154,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U},{42:j,45:155,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U},i(Ra,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Ra,[2,108],{117:160,10:[1,159],14:gn,42:kt,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On}),i(Ra,[2,110],{10:[1,161]}),i(du,[2,176]),i(du,[2,163]),i(du,[2,164]),i(du,[2,165]),i(du,[2,166]),i(du,[2,167]),i(du,[2,168]),i(du,[2,169]),i(du,[2,170]),i(du,[2,171]),i(du,[2,172]),i(du,[2,173]),{42:j,45:162,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U},{30:163,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:171,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:173,48:[1,172],65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:174,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:175,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:176,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{106:[1,177]},{30:178,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:179,63:[1,180],65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:181,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:182,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{30:183,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},i(yt,[2,175]),i(p,[2,20]),i(Fi,[2,25]),i(Pe,[2,43],{18:184,10:Se}),i(yi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{75:[1,188],76:189,113:Pa,116:ta},i(xu,[2,73]),i(xu,[2,75]),i(xu,[2,76]),i(xu,[2,161]),i(xu,[2,162]),{8:ke,9:Ke,10:$o,11:Ft,12:Ar,14:Nn,21:191,27:$n,29:[1,190],32:qn,42:Lt,58:wt,73:cn,80:135,81:fn,82:Mn,83:mo,84:Oo,85:Xa,86:ca,87:No,88:192,102:Ts,106:rl,108:Xo,111:Bp,112:pm,113:Po},i(jc,[2,94]),i(jc,[2,96]),i(jc,[2,97]),i(jc,[2,150]),i(jc,[2,151]),i(jc,[2,152]),i(jc,[2,153]),i(jc,[2,154]),i(jc,[2,155]),i(jc,[2,156]),i(jc,[2,157]),i(jc,[2,158]),i(jc,[2,159]),i(jc,[2,160]),i(jc,[2,83]),i(jc,[2,84]),i(jc,[2,85]),i(jc,[2,86]),i(jc,[2,87]),i(jc,[2,88]),i(jc,[2,89]),i(jc,[2,90]),i(jc,[2,91]),i(jc,[2,92]),i(jc,[2,93]),{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,193],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},{10:Se,18:194},{10:[1,195],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:K,112:xe,113:U},{10:[1,196]},{10:[1,197],103:[1,198]},i(o5,[2,121]),{10:[1,199],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:K,112:xe,113:U},{10:[1,200],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:K,112:xe,113:U},{77:[1,201]},i(Ra,[2,102],{10:[1,202]}),i(Ra,[2,104],{10:[1,203]}),{77:[1,204]},i(du,[2,177]),{77:[1,205],95:[1,206]},i(ht,[2,50],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:K,112:xe,113:U}),{31:[1,207],65:Sa,79:208,113:Qa,114:ja,115:xa},i(jg,[2,79]),i(jg,[2,81]),i(jg,[2,82]),i(jg,[2,146]),i(jg,[2,147]),i(jg,[2,148]),i(jg,[2,149]),{47:[1,209],65:Sa,79:208,113:Qa,114:ja,115:xa},{30:210,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{49:[1,211],65:Sa,79:208,113:Qa,114:ja,115:xa},{51:[1,212],65:Sa,79:208,113:Qa,114:ja,115:xa},{53:[1,213],65:Sa,79:208,113:Qa,114:ja,115:xa},{55:[1,214],65:Sa,79:208,113:Qa,114:ja,115:xa},{58:[1,215]},{62:[1,216],65:Sa,79:208,113:Qa,114:ja,115:xa},{64:[1,217],65:Sa,79:208,113:Qa,114:ja,115:xa},{30:218,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},{31:[1,219],65:Sa,79:208,113:Qa,114:ja,115:xa},{65:Sa,67:[1,220],69:[1,221],79:208,113:Qa,114:ja,115:xa},{65:Sa,67:[1,223],69:[1,222],79:208,113:Qa,114:ja,115:xa},i(Pe,[2,44],{42:Jc}),i(yi,[2,70]),i(yi,[2,69]),{60:[1,224],65:Sa,79:208,113:Qa,114:ja,115:xa},i(yi,[2,72]),i(xu,[2,74]),{30:225,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},i(yc,v,{5:226}),i(jc,[2,95]),i(Ce,[2,35]),{41:227,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U},{10:id,58:Hd,81:uh,89:228,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:R0},{10:id,58:Hd,81:uh,89:239,101:[1,240],102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:R0},{10:id,58:Hd,81:uh,89:241,101:[1,242],102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:R0},{102:[1,243]},{10:id,58:Hd,81:uh,89:244,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:R0},{42:j,45:245,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U},i(Ra,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Ra,[2,109]),i(Ra,[2,111],{10:[1,249]}),i(Ra,[2,112]),i(zr,[2,51]),i(jg,[2,80]),i(zr,[2,52]),{49:[1,250],65:Sa,79:208,113:Qa,114:ja,115:xa},i(zr,[2,59]),i(zr,[2,54]),i(zr,[2,55]),i(zr,[2,56]),{106:[1,251]},i(zr,[2,58]),i(zr,[2,60]),{64:[1,252],65:Sa,79:208,113:Qa,114:ja,115:xa},i(zr,[2,62]),i(zr,[2,63]),i(zr,[2,65]),i(zr,[2,64]),i(zr,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Sa,79:208,113:Qa,114:ja,115:xa},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,254],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},i(ht,[2,48]),i(Ra,[2,114],{103:ls}),i(vn,[2,123],{105:256,10:id,58:Hd,81:uh,102:Vd,106:Ud,107:Gd,108:sd,109:R0}),i(si,[2,125]),i(si,[2,127]),i(si,[2,128]),i(si,[2,129]),i(si,[2,130]),i(si,[2,131]),i(si,[2,132]),i(si,[2,133]),i(si,[2,134]),i(Ra,[2,115],{103:ls}),{10:[1,257]},i(Ra,[2,116],{103:ls}),{10:[1,258]},i(o5,[2,122]),i(Ra,[2,98],{103:ls}),i(Ra,[2,99],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:K,112:xe,113:U}),i(Ra,[2,103]),i(Ra,[2,105],{10:[1,259]}),i(Ra,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:ke,9:Ke,11:Ft,21:264},i(Ce,[2,34]),{10:id,58:Hd,81:uh,102:Vd,104:265,105:230,106:Ud,107:Gd,108:sd,109:R0},i(si,[2,126]),{14:gn,42:kt,58:Et,86:Gt,98:266,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On,117:84},{14:gn,42:kt,58:Et,86:Gt,98:267,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On,117:84},{95:[1,268]},i(Ra,[2,113]),i(zr,[2,53]),{30:269,65:Sa,77:Bo,78:Rc,79:164,113:Qa,114:ja,115:xa},i(zr,[2,61]),i(yc,v,{5:270}),i(vn,[2,124],{105:256,10:id,58:Hd,81:uh,102:Vd,106:Ud,107:Gd,108:sd,109:R0}),i(Ra,[2,119],{117:160,10:[1,271],14:gn,42:kt,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On}),i(Ra,[2,120],{117:160,10:[1,272],14:gn,42:kt,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On}),i(Ra,[2,107]),{31:[1,273],65:Sa,79:208,113:Qa,114:ja,115:xa},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,274],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:K,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},{10:id,58:Hd,81:uh,89:275,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:R0},{10:id,58:Hd,81:uh,89:276,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:R0},i(zr,[2,57]),i(Ce,[2,33]),i(Ra,[2,117],{103:ls}),i(Ra,[2,118],{103:ls})],defaultActions:{},parseError:function(Wi,hs){if(hs.recoverable)this.trace(Wi);else{var Ma=new Error(Wi);throw Ma.hash=hs,Ma}},parse:function(Wi){var hs=this,Ma=[0],ui=[],su=[null],Ot=[],Y3=this.table,Kt="",j0=0,Fp=0,X3=2,$9=1,c5=Ot.slice.call(arguments,1),Th=Object.create(this.lexer),$g={yy:{}};for(var bm in this.yy)Object.prototype.hasOwnProperty.call(this.yy,bm)&&($g.yy[bm]=this.yy[bm]);Th.setInput(Wi,$g.yy),$g.yy.lexer=Th,$g.yy.parser=this,typeof Th.yylloc>"u"&&(Th.yylloc={});var z9=Th.yylloc;Ot.push(z9);var mm=Th.options&&Th.options.ranges;typeof $g.yy.parseError=="function"?this.parseError=$g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function u5(){var Rp;return Rp=ui.pop()||Th.lex()||$9,typeof Rp!="number"&&(Rp instanceof Array&&(ui=Rp,Rp=ui.pop()),Rp=hs.symbols_[Rp]||Rp),Rp}for(var m1,ad,od,q9,Gv={},Y7,K2,X7,l5;;){if(ad=Ma[Ma.length-1],this.defaultActions[ad]?od=this.defaultActions[ad]:((m1===null||typeof m1>"u")&&(m1=u5()),od=Y3[ad]&&Y3[ad][m1]),typeof od>"u"||!od.length||!od[0]){var Q3="";l5=[];for(Y7 in Y3[ad])this.terminals_[Y7]&&Y7>X3&&l5.push("'"+this.terminals_[Y7]+"'");Th.showPosition?Q3="Parse error on line "+(j0+1)+`: +`+Th.showPosition()+` +Expecting `+l5.join(", ")+", got '"+(this.terminals_[m1]||m1)+"'":Q3="Parse error on line "+(j0+1)+": Unexpected "+(m1==$9?"end of input":"'"+(this.terminals_[m1]||m1)+"'"),this.parseError(Q3,{text:Th.match,token:this.terminals_[m1]||m1,line:Th.yylineno,loc:z9,expected:l5})}if(od[0]instanceof Array&&od.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ad+", token: "+m1);switch(od[0]){case 1:Ma.push(m1),su.push(Th.yytext),Ot.push(Th.yylloc),Ma.push(od[1]),m1=null,Fp=Th.yyleng,Kt=Th.yytext,j0=Th.yylineno,z9=Th.yylloc;break;case 2:if(K2=this.productions_[od[1]][1],Gv.$=su[su.length-K2],Gv._$={first_line:Ot[Ot.length-(K2||1)].first_line,last_line:Ot[Ot.length-1].last_line,first_column:Ot[Ot.length-(K2||1)].first_column,last_column:Ot[Ot.length-1].last_column},mm&&(Gv._$.range=[Ot[Ot.length-(K2||1)].range[0],Ot[Ot.length-1].range[1]]),q9=this.performAction.apply(Gv,[Kt,Fp,j0,$g.yy,od[1],su,Ot].concat(c5)),typeof q9<"u")return q9;K2&&(Ma=Ma.slice(0,-1*K2*2),su=su.slice(0,-1*K2),Ot=Ot.slice(0,-1*K2)),Ma.push(this.productions_[od[1]][0]),su.push(Gv.$),Ot.push(Gv._$),X7=Y3[Ma[Ma.length-2]][Ma[Ma.length-1]],Ma.push(X7);break;case 3:return!0}}return!0}},Zc=function(){var ku={EOF:1,parseError:function(hs,Ma){if(this.yy.parser)this.yy.parser.parseError(hs,Ma);else throw new Error(hs)},setInput:function(Wi,hs){return this.yy=hs||this.yy||{},this._input=Wi,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Wi=this._input[0];this.yytext+=Wi,this.yyleng++,this.offset++,this.match+=Wi,this.matched+=Wi;var hs=Wi.match(/(?:\r\n?|\n).*/g);return hs?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Wi},unput:function(Wi){var hs=Wi.length,Ma=Wi.split(/(?:\r\n?|\n)/g);this._input=Wi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-hs),this.offset-=hs;var ui=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ma.length-1&&(this.yylineno-=Ma.length-1);var su=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ma?(Ma.length===ui.length?this.yylloc.first_column:0)+ui[ui.length-Ma.length].length-Ma[0].length:this.yylloc.first_column-hs},this.options.ranges&&(this.yylloc.range=[su[0],su[0]+this.yyleng-hs]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Wi){this.unput(this.match.slice(Wi))},pastInput:function(){var Wi=this.matched.substr(0,this.matched.length-this.match.length);return(Wi.length>20?"...":"")+Wi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Wi=this.match;return Wi.length<20&&(Wi+=this._input.substr(0,20-Wi.length)),(Wi.substr(0,20)+(Wi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Wi=this.pastInput(),hs=new Array(Wi.length+1).join("-");return Wi+this.upcomingInput()+` +`+hs+"^"},test_match:function(Wi,hs){var Ma,ui,su;if(this.options.backtrack_lexer&&(su={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(su.yylloc.range=this.yylloc.range.slice(0))),ui=Wi[0].match(/(?:\r\n?|\n).*/g),ui&&(this.yylineno+=ui.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ui?ui[ui.length-1].length-ui[ui.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Wi[0].length},this.yytext+=Wi[0],this.match+=Wi[0],this.matches=Wi,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Wi[0].length),this.matched+=Wi[0],Ma=this.performAction.call(this,this.yy,this,hs,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ma)return Ma;if(this._backtrack){for(var Ot in su)this[Ot]=su[Ot];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Wi,hs,Ma,ui;this._more||(this.yytext="",this.match="");for(var su=this._currentRules(),Ot=0;Oths[0].length)){if(hs=Ma,ui=Ot,this.options.backtrack_lexer){if(Wi=this.test_match(Ma,su[Ot]),Wi!==!1)return Wi;if(this._backtrack){hs=!1;continue}else return!1}else if(!this.options.flex)break}return hs?(Wi=this.test_match(hs,su[ui]),Wi!==!1?Wi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var hs=this.next();return hs||this.lex()},begin:function(hs){this.conditionStack.push(hs)},popState:function(){var hs=this.conditionStack.length-1;return hs>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(hs){return hs=this.conditionStack.length-1-Math.abs(hs||0),hs>=0?this.conditionStack[hs]:"INITIAL"},pushState:function(hs){this.begin(hs)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(hs,Ma,ui,su){switch(ui){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return hs.lex.firstGraph()&&this.begin("dir"),12;case 30:return hs.lex.firstGraph()&&this.begin("dir"),12;case 31:return hs.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return ku}();ss.lexer=Zc;function bl(){this.yy={}}return bl.prototype=ss,ss.Parser=bl,new bl}();Gbe.parser=Gbe;const Kbe=Gbe,kUt="flowchart-";let Pqe=0,BD=qt(),ch={},q3=[],FD={},R7=[],OQ={},NQ={},PQ=0,Wbe=!0,qv,BQ,FQ=[];const RQ=i=>ci.sanitizeText(i,BD),vR=function(i){const s=Object.keys(ch);for(const u of s)if(ch[u].id===i)return ch[u].domId;return i},Bqe=function(i,s,u,d,p,v,b={}){let y,T=i;T!==void 0&&T.trim().length!==0&&(ch[T]===void 0&&(ch[T]={id:T,labelType:"text",domId:kUt+T+"-"+Pqe,styles:[],classes:[]}),Pqe++,s!==void 0?(BD=qt(),y=RQ(s.text.trim()),ch[T].labelType=s.type,y[0]==='"'&&y[y.length-1]==='"'&&(y=y.substring(1,y.length-1)),ch[T].text=y):ch[T].text===void 0&&(ch[T].text=i),u!==void 0&&(ch[T].type=u),d!=null&&d.forEach(function(_){ch[T].styles.push(_)}),p!=null&&p.forEach(function(_){ch[T].classes.push(_)}),v!==void 0&&(ch[T].dir=v),ch[T].props===void 0?ch[T].props=b:b!==void 0&&Object.assign(ch[T].props,b))},Fqe=function(i,s,u){const v={start:i,end:s,type:void 0,text:"",labelType:"text"};Xe.info("abc78 Got edge...",v);const b=u.text;if(b!==void 0&&(v.text=RQ(b.text.trim()),v.text[0]==='"'&&v.text[v.text.length-1]==='"'&&(v.text=v.text.substring(1,v.text.length-1)),v.labelType=b.type),u!==void 0&&(v.type=u.type,v.stroke=u.stroke,v.length=u.length),(v==null?void 0:v.length)>10&&(v.length=10),q3.length<(BD.maxEdges??500))Xe.info("abc78 pushing edge..."),q3.push(v);else throw new Error(`Edge limit exceeded. ${q3.length} edges found, but the limit is ${BD.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)},Rqe=function(i,s,u){Xe.info("addLink (abc78)",i,s,u);let d,p;for(d=0;d=q3.length)throw new Error(`The index ${u} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${q3.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);u==="default"?q3.defaultStyle=s:(So.isSubstringInArray("fill",s)===-1&&s.push("fill:none"),q3[u].style=s)})},zqe=function(i,s){i.split(",").forEach(function(u){FD[u]===void 0&&(FD[u]={id:u,styles:[],textStyles:[]}),s!=null&&s.forEach(function(d){if(d.match("color")){const p=d.replace("fill","bgFill").replace("color","fill");FD[u].textStyles.push(p)}FD[u].styles.push(d)})})},qqe=function(i){qv=i,qv.match(/.*/)&&(qv="LR"),qv.match(/.*v/)&&(qv="TB"),qv==="TD"&&(qv="TB")},jQ=function(i,s){i.split(",").forEach(function(u){let d=u;ch[d]!==void 0&&ch[d].classes.push(s),OQ[d]!==void 0&&OQ[d].classes.push(s)})},EUt=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(NQ[BQ==="gen-1"?vR(u):u]=RQ(s))})},TUt=function(i,s,u){let d=vR(i);if(qt().securityLevel!=="loose"||s===void 0)return;let p=[];if(typeof u=="string"){p=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};FQ.push(Qqe);const Jqe=function(i="gen-1"){ch={},FD={},q3=[],FQ=[Qqe],R7=[],OQ={},PQ=0,NQ={},Wbe=!0,BQ=i,BD=qt(),Ng()},Zqe=i=>{BQ=i||"gen-2"},eHe=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},tHe=function(i,s,u){let d=i.text.trim(),p=u.text;i===u&&u.text.match(/\s/)&&(d=void 0);function v(A){const P={boolean:{},number:{},string:{}},R=[];let F;return{nodeList:A.filter(function(W){const ee=typeof W;return W.stmt&&W.stmt==="dir"?(F=W.value,!1):W.trim()===""?!1:ee in P?P[ee].hasOwnProperty(W)?!1:P[ee][W]=!0:R.includes(W)?!1:R.push(W)}),dir:F}}let b=[];const{nodeList:y,dir:T}=v(b.concat.apply(b,s));if(b=y,BQ==="gen-1")for(let A=0;A2e3)return;if(nHe[wR]=s,R7[s].id===i)return{result:!0,count:0};let d=0,p=1;for(;d=0){const b=rHe(i,v);if(b.result)return{result:!0,count:p+b.count};p=p+b.count}d=d+1}return{result:!1,count:p}},iHe=function(i){return nHe[i]},sHe=function(){wR=-1,R7.length>0&&rHe("none",R7.length-1)},aHe=function(){return R7},oHe=()=>Wbe?(Wbe=!1,!0):!1,SUt=i=>{let s=i.trim(),u="arrow_open";switch(s[0]){case"<":u="arrow_point",s=s.slice(1);break;case"x":u="arrow_cross",s=s.slice(1);break;case"o":u="arrow_circle",s=s.slice(1);break}let d="normal";return s.includes("=")&&(d="thick"),s.includes(".")&&(d="dotted"),{type:u,stroke:d}},_Ut=(i,s)=>{const u=s.length;let d=0;for(let p=0;p{const s=i.trim();let u=s.slice(0,-1),d="arrow_open";switch(s.slice(-1)){case"x":d="arrow_cross",s[0]==="x"&&(d="double_"+d,u=u.slice(1));break;case">":d="arrow_point",s[0]==="<"&&(d="double_"+d,u=u.slice(1));break;case"o":d="arrow_circle",s[0]==="o"&&(d="double_"+d,u=u.slice(1));break}let p="normal",v=u.length-1;u[0]==="="&&(p="thick"),u[0]==="~"&&(p="invisible");let b=_Ut(".",u);return b&&(p="dotted",v=b),{type:d,stroke:p,length:v}},cHe=(i,s)=>{const u=AUt(i);let d;if(s){if(d=SUt(s),d.stroke!==u.stroke)return{type:"INVALID",stroke:"INVALID"};if(d.type==="arrow_open")d.type=u.type;else{if(d.type!==u.type)return{type:"INVALID",stroke:"INVALID"};d.type="double_"+d.type}return d.type==="double_arrow"&&(d.type="double_arrow_point"),d.length=u.length,d}return u},uHe=(i,s)=>{let u=!1;return i.forEach(d=>{d.nodes.indexOf(s)>=0&&(u=!0)}),u},lHe=(i,s)=>{const u=[];return i.nodes.forEach((d,p)=>{uHe(s,d)||u.push(i.nodes[p])}),{nodes:u}},hHe={firstGraph:oHe},HC={defaultConfig:()=>t$e.flowchart,setAccTitle:Pg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,addVertex:Bqe,lookUpDomId:vR,addLink:Rqe,updateLinkInterpolate:jqe,updateLink:$qe,addClass:zqe,setDirection:qqe,setClass:jQ,setTooltip:EUt,getTooltip:Vqe,setClickEvent:Uqe,setLink:Hqe,bindFunctions:Gqe,getDirection:Kqe,getVertices:Wqe,getEdges:Yqe,getClasses:Xqe,clear:Jqe,setGen:Zqe,defaultStyle:eHe,addSubGraph:tHe,getDepthFirstPos:iHe,indexNodes:sHe,getSubGraphs:aHe,destructLink:cHe,lex:hHe,exists:uHe,makeUniq:lHe,setDiagramTitle:cm,getDiagramTitle:Ap},LUt=Object.freeze(Object.defineProperty({__proto__:null,addClass:zqe,addLink:Rqe,addSingleLink:Fqe,addSubGraph:tHe,addVertex:Bqe,bindFunctions:Gqe,clear:Jqe,default:HC,defaultStyle:eHe,destructLink:cHe,firstGraph:oHe,getClasses:Xqe,getDepthFirstPos:iHe,getDirection:Kqe,getEdges:Yqe,getSubGraphs:aHe,getTooltip:Vqe,getVertices:Wqe,indexNodes:sHe,lex:hHe,lookUpDomId:vR,setClass:jQ,setClickEvent:Uqe,setDirection:qqe,setGen:Zqe,setLink:Hqe,updateLink:$qe,updateLinkInterpolate:jqe},Symbol.toStringTag,{value:"Module"}));var MUt="[object Symbol]";function VC(i){return typeof i=="symbol"||H4(i)&&AC(i)==MUt}function RD(i,s){for(var u=-1,d=i==null?0:i.length,p=Array(d);++u-1}function fm(i){return w9(i)?cje(i):f$e(i)}var WUt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,YUt=/^\w*$/;function Ybe(i,s){if(M0(i))return!1;var u=typeof i;return u=="number"||u=="symbol"||u=="boolean"||i==null||VC(i)?!0:YUt.test(i)||!WUt.test(i)||s!=null&&i in Object(s)}var XUt=500;function QUt(i){var s=bD(i,function(d){return u.size===XUt&&u.clear(),d}),u=s.cache;return s}var JUt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ZUt=/\\(\\)?/g,eGt=QUt(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(JUt,function(u,d,p,v){s.push(p?v.replace(ZUt,"$1"):d||u)}),s});const tGt=eGt;function wHe(i){return i==null?"":gHe(i)}function zQ(i,s){return M0(i)?i:Ybe(i,s)?[i]:tGt(wHe(i))}var nGt=1/0;function yR(i){if(typeof i=="string"||VC(i))return i;var s=i+"";return s=="0"&&1/i==-nGt?"-0":s}function qQ(i,s){s=zQ(s,i);for(var u=0,d=s.length;i!=null&&u0&&u(y)?s>1?HQ(y,s-1,u,d,p):Xbe(p,y):d||(p[p.length]=y)}return p}function jD(i){var s=i==null?0:i.length;return s?HQ(i,1):[]}function sGt(i){return fje(hje(i,void 0,jD),i+"")}function aGt(i,s,u,d){var p=-1,v=i==null?0:i.length;for(d&&v&&(u=i[++p]);++py))return!1;var _=v.get(i),A=v.get(s);if(_&&A)return _==s&&A==i;var P=-1,R=!0,F=u&OKt?new kR:void 0;for(v.set(i,s),v.set(s,i);++P2?s[2]:void 0;for(p&&ZF(s[0],s[1],p)&&(d=1);++u-1?p[v?s[b]:b]:void 0}}var kWt=Math.max;function EWt(i,s,u){var d=i==null?0:i.length;if(!d)return-1;var p=u==null?0:qUt(u);return p<0&&(p=kWt(d+p,0)),vHe(i,I9(s),p)}var TWt=xWt(EWt);const ime=TWt;function GHe(i,s){var u=-1,d=w9(i)?Array(i.length):[];return UQ(i,function(p,v,b){d[++u]=s(p,v,b)}),d}function N0(i,s){var u=M0(i)?RD:GHe;return u(i,I9(s))}function CWt(i,s){return i==null?i:m2e(i,rme(s),IC)}function SWt(i,s){return i&&nme(i,rme(s))}function _Wt(i,s){return i>s}var AWt=Object.prototype,LWt=AWt.hasOwnProperty;function MWt(i,s){return i!=null&&LWt.call(i,s)}function _o(i,s){return i!=null&&qHe(i,s,MWt)}function DWt(i,s){return RD(s,function(u){return i[u]})}function $7(i){return i==null?[]:DWt(i,fm(i))}function Xf(i){return i===void 0}function KHe(i,s){return is||v&&b&&T&&!y&&!_||d&&b&&T||!u&&T||!p)return 1;if(!d&&!v&&!_&&i=y)return T;var _=u[d];return T*(_=="desc"?-1:1)}}return i.index-s.index}function FWt(i,s,u){s.length?s=RD(s,function(v){return M0(v)?function(b){return qQ(b,v.length===1?v[0]:v)}:v}):s=[OC];var d=-1;s=RD(s,NX(I9));var p=GHe(i,function(v,b,y){var T=RD(s,function(_){return _(v)});return{criteria:T,index:++d,value:v}});return NWt(p,function(v,b){return BWt(v,b,u)})}function RWt(i,s){return OWt(i,s,function(u,d){return HHe(i,d)})}var jWt=sGt(function(i,s){return i==null?{}:RWt(i,s)});const TR=jWt;var $Wt=Math.ceil,zWt=Math.max;function qWt(i,s,u,d){for(var p=-1,v=zWt($Wt((s-i)/(u||1)),0),b=Array(v);v--;)b[d?v:++p]=i,i+=u;return b}function HWt(i){return function(s,u,d){return d&&typeof d!="number"&&ZF(s,u,d)&&(u=d=void 0),s=$Q(s),u===void 0?(u=s,s=0):u=$Q(u),d=d===void 0?s1&&ZF(i,s[0],s[1])?s=[]:u>2&&ZF(s[0],s[1],s[2])&&(s=[s[0]]),FWt(i,HQ(s,1),[])});const SR=GWt;var KWt=1/0,WWt=CD&&1/Zbe(new CD([,-0]))[1]==KWt?function(i){return new CD(i)}:HUt;const YWt=WWt;var XWt=200;function QWt(i,s,u){var d=-1,p=KUt,v=i.length,b=!0,y=[],T=y;if(u)b=!1,p=wWt;else if(v>=XWt){var _=s?null:YWt(i);if(_)return Zbe(_);b=!1,p=NHe,T=new kR}else T=s?[]:y;e:for(;++d1?p.setNode(v,u):p.setNode(v)}),this}setNode(s,u){return _o(this._nodes,s)?(arguments.length>1&&(this._nodes[s]=u),this):(this._nodes[s]=arguments.length>1?u:this._defaultNodeLabelFn(s),this._isCompound&&(this._parent[s]=KC,this._children[s]={},this._children[KC][s]=!0),this._in[s]={},this._preds[s]={},this._out[s]={},this._sucs[s]={},++this._nodeCount,this)}node(s){return this._nodes[s]}hasNode(s){return _o(this._nodes,s)}removeNode(s){var u=this;if(_o(this._nodes,s)){var d=function(p){u.removeEdge(u._edgeObjs[p])};delete this._nodes[s],this._isCompound&&(this._removeFromParentsChildList(s),delete this._parent[s],_r(this.children(s),function(p){u.setParent(p)}),delete this._children[s]),_r(fm(this._in[s]),d),delete this._in[s],delete this._preds[s],_r(fm(this._out[s]),d),delete this._out[s],delete this._sucs[s],--this._nodeCount}return this}setParent(s,u){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Xf(u))u=KC;else{u+="";for(var d=u;!Xf(d);d=this.parent(d))if(d===s)throw new Error("Setting "+u+" as parent of "+s+" would create a cycle");this.setNode(u)}return this.setNode(s),this._removeFromParentsChildList(s),this._parent[s]=u,this._children[u][s]=!0,this}_removeFromParentsChildList(s){delete this._children[this._parent[s]][s]}parent(s){if(this._isCompound){var u=this._parent[s];if(u!==KC)return u}}children(s){if(Xf(s)&&(s=KC),this._isCompound){var u=this._children[s];if(u)return fm(u)}else{if(s===KC)return this.nodes();if(this.hasNode(s))return[]}}predecessors(s){var u=this._preds[s];if(u)return fm(u)}successors(s){var u=this._sucs[s];if(u)return fm(u)}neighbors(s){var u=this.predecessors(s);if(u)return ZWt(u,this.successors(s))}isLeaf(s){var u;return this.isDirected()?u=this.successors(s):u=this.neighbors(s),u.length===0}filterNodes(s){var u=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});u.setGraph(this.graph());var d=this;_r(this._nodes,function(b,y){s(y)&&u.setNode(y,b)}),_r(this._edgeObjs,function(b){u.hasNode(b.v)&&u.hasNode(b.w)&&u.setEdge(b,d.edge(b))});var p={};function v(b){var y=d.parent(b);return y===void 0||u.hasNode(y)?(p[b]=y,y):y in p?p[y]:v(y)}return this._isCompound&&_r(u.nodes(),function(b){u.setParent(b,v(b))}),u}setDefaultEdgeLabel(s){return gD(s)||(s=yD(s)),this._defaultEdgeLabelFn=s,this}edgeCount(){return this._edgeCount}edges(){return $7(this._edgeObjs)}setPath(s,u){var d=this,p=arguments;return CR(s,function(v,b){return p.length>1?d.setEdge(v,b,u):d.setEdge(v,b),b}),this}setEdge(){var s,u,d,p,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(s=b.v,u=b.w,d=b.name,arguments.length===2&&(p=arguments[1],v=!0)):(s=b,u=arguments[1],d=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),s=""+s,u=""+u,Xf(d)||(d=""+d);var y=_R(this._isDirected,s,u,d);if(_o(this._edgeLabels,y))return v&&(this._edgeLabels[y]=p),this;if(!Xf(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(u),this._edgeLabels[y]=v?p:this._defaultEdgeLabelFn(s,u,d);var T=iYt(this._isDirected,s,u,d);return s=T.v,u=T.w,Object.freeze(T),this._edgeObjs[y]=T,YHe(this._preds[u],s),YHe(this._sucs[s],u),this._in[u][y]=T,this._out[s][y]=T,this._edgeCount++,this}edge(s,u,d){var p=arguments.length===1?ome(this._isDirected,arguments[0]):_R(this._isDirected,s,u,d);return this._edgeLabels[p]}hasEdge(s,u,d){var p=arguments.length===1?ome(this._isDirected,arguments[0]):_R(this._isDirected,s,u,d);return _o(this._edgeLabels,p)}removeEdge(s,u,d){var p=arguments.length===1?ome(this._isDirected,arguments[0]):_R(this._isDirected,s,u,d),v=this._edgeObjs[p];return v&&(s=v.v,u=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],XHe(this._preds[u],s),XHe(this._sucs[s],u),delete this._in[u][p],delete this._out[s][p],this._edgeCount--),this}inEdges(s,u){var d=this._in[s];if(d){var p=$7(d);return u?j7(p,function(v){return v.v===u}):p}}outEdges(s,u){var d=this._out[s];if(d){var p=$7(d);return u?j7(p,function(v){return v.w===u}):p}}nodeEdges(s,u){var d=this.inEdges(s,u);if(d)return d.concat(this.outEdges(s,u))}}P0.prototype._nodeCount=0,P0.prototype._edgeCount=0;function YHe(i,s){i[s]?i[s]++:i[s]=1}function XHe(i,s){--i[s]||delete i[s]}function _R(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}return p+WHe+v+WHe+(Xf(d)?rYt:d)}function iYt(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}var y={v:p,w:v};return d&&(y.name=d),y}function ome(i,s){return _R(i,s.v,s.w,s.name)}class sYt{constructor(){var s={};s._next=s._prev=s,this._sentinel=s}dequeue(){var s=this._sentinel,u=s._prev;if(u!==s)return QHe(u),u}enqueue(s){var u=this._sentinel;s._prev&&s._next&&QHe(s),s._next=u._next,u._next._prev=s,u._next=s,s._prev=u}toString(){for(var s=[],u=this._sentinel,d=u._prev;d!==u;)s.push(JSON.stringify(d,aYt)),d=d._prev;return"["+s.join(", ")+"]"}}function QHe(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function aYt(i,s){if(i!=="_next"&&i!=="_prev")return s}var oYt=yD(1);function cYt(i,s){if(i.nodeCount()<=1)return[];var u=lYt(i,s||oYt),d=uYt(u.graph,u.buckets,u.zeroIdx);return jD(N0(d,function(p){return i.outEdges(p.v,p.w)}))}function uYt(i,s,u){for(var d=[],p=s[s.length-1],v=s[0],b;i.nodeCount();){for(;b=v.dequeue();)cme(i,s,u,b);for(;b=p.dequeue();)cme(i,s,u,b);if(i.nodeCount()){for(var y=s.length-2;y>0;--y)if(b=s[y].dequeue(),b){d=d.concat(cme(i,s,u,b,!0));break}}}return d}function cme(i,s,u,d,p){var v=p?[]:void 0;return _r(i.inEdges(d.v),function(b){var y=i.edge(b),T=i.node(b.v);p&&v.push({v:b.v,w:b.w}),T.out-=y,ume(s,u,T)}),_r(i.outEdges(d.v),function(b){var y=i.edge(b),T=b.w,_=i.node(T);_.in-=y,ume(s,u,_)}),i.removeNode(d.v),v}function lYt(i,s){var u=new P0,d=0,p=0;_r(i.nodes(),function(y){u.setNode(y,{v:y,in:0,out:0})}),_r(i.edges(),function(y){var T=u.edge(y.v,y.w)||0,_=s(y),A=T+_;u.setEdge(y.v,y.w,A),p=Math.max(p,u.node(y.v).out+=_),d=Math.max(d,u.node(y.w).in+=_)});var v=GC(p+d+3).map(function(){return new sYt}),b=d+1;return _r(u.nodes(),function(y){ume(v,b,u.node(y))}),{graph:u,buckets:v,zeroIdx:b}}function ume(i,s,u){u.out?u.in?i[u.out-u.in+s].enqueue(u):i[i.length-1].enqueue(u):i[0].enqueue(u)}function hYt(i){var s=i.graph().acyclicer==="greedy"?cYt(i,u(i)):fYt(i);_r(s,function(d){var p=i.edge(d);i.removeEdge(d),p.forwardName=d.name,p.reversed=!0,i.setEdge(d.w,d.v,p,WQ("rev"))});function u(d){return function(p){return d.edge(p).weight}}}function fYt(i){var s=[],u={},d={};function p(v){_o(d,v)||(d[v]=!0,u[v]=!0,_r(i.outEdges(v),function(b){_o(u,b.w)?s.push(b):p(b.w)}),delete u[v])}return _r(i.nodes(),p),s}function dYt(i){_r(i.edges(),function(s){var u=i.edge(s);if(u.reversed){i.removeEdge(s);var d=u.forwardName;delete u.reversed,delete u.forwardName,i.setEdge(s.w,s.v,u,d)}})}function zD(i,s,u,d){var p;do p=WQ(d);while(i.hasNode(p));return u.dummy=s,i.setNode(p,u),p}function gYt(i){var s=new P0().setGraph(i.graph());return _r(i.nodes(),function(u){s.setNode(u,i.node(u))}),_r(i.edges(),function(u){var d=s.edge(u.v,u.w)||{weight:0,minlen:1},p=i.edge(u);s.setEdge(u.v,u.w,{weight:d.weight+p.weight,minlen:Math.max(d.minlen,p.minlen)})}),s}function JHe(i){var s=new P0({multigraph:i.isMultigraph()}).setGraph(i.graph());return _r(i.nodes(),function(u){i.children(u).length||s.setNode(u,i.node(u))}),_r(i.edges(),function(u){s.setEdge(u,i.edge(u))}),s}function ZHe(i,s){var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2;if(!p&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=y*p/v,_=y):(p<0&&(b=-b),T=b,_=b*v/p),{x:u+T,y:d+_}}function YQ(i){var s=N0(GC(tVe(i)+1),function(){return[]});return _r(i.nodes(),function(u){var d=i.node(u),p=d.rank;Xf(p)||(s[p][d.order]=u)}),s}function pYt(i){var s=ER(N0(i.nodes(),function(u){return i.node(u).rank}));_r(i.nodes(),function(u){var d=i.node(u);_o(d,"rank")&&(d.rank-=s)})}function bYt(i){var s=ER(N0(i.nodes(),function(v){return i.node(v).rank})),u=[];_r(i.nodes(),function(v){var b=i.node(v).rank-s;u[b]||(u[b]=[]),u[b].push(v)});var d=0,p=i.graph().nodeRankFactor;_r(u,function(v,b){Xf(v)&&b%p!==0?--d:d&&_r(v,function(y){i.node(y).rank+=d})})}function eVe(i,s,u,d){var p={width:0,height:0};return arguments.length>=4&&(p.rank=u,p.order=d),zD(i,"border",p,s)}function tVe(i){return UC(N0(i.nodes(),function(s){var u=i.node(s).rank;if(!Xf(u))return u}))}function mYt(i,s){var u={lhs:[],rhs:[]};return _r(i,function(d){s(d)?u.lhs.push(d):u.rhs.push(d)}),u}function vYt(i,s){var u=VHe();try{return s()}finally{console.log(i+" time: "+(VHe()-u)+"ms")}}function wYt(i,s){return s()}function yYt(i){function s(u){var d=i.children(u),p=i.node(u);if(d.length&&_r(d,s),_o(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var v=p.minRank,b=p.maxRank+1;vb.lim&&(y=b,T=!0);var _=j7(s.edges(),function(A){return T===dVe(i,i.node(A.v),y)&&T!==dVe(i,i.node(A.w),y)});return ame(_,function(A){return AR(s,A)})}function fVe(i,s,u,d){var p=u.v,v=u.w;i.removeEdge(p,v),i.setEdge(d.v,d.w,{}),gme(i),dme(i,s),PYt(i,s)}function PYt(i,s){var u=ime(i.nodes(),function(p){return!s.node(p).parent}),d=OYt(i,u);d=d.slice(1),_r(d,function(p){var v=i.node(p).parent,b=s.edge(p,v),y=!1;b||(b=s.edge(v,p),y=!0),s.node(p).rank=s.node(v).rank+(y?b.minlen:-b.minlen)})}function BYt(i,s,u){return i.hasEdge(s,u)}function dVe(i,s,u){return u.low<=s.lim&&s.lim<=u.lim}function FYt(i){switch(i.graph().ranker){case"network-simplex":gVe(i);break;case"tight-tree":jYt(i);break;case"longest-path":RYt(i);break;default:gVe(i)}}var RYt=fme;function jYt(i){fme(i),sVe(i)}function gVe(i){WC(i)}function $Yt(i){var s=zD(i,"root",{},"_root"),u=zYt(i),d=UC($7(u))-1,p=2*d+1;i.graph().nestingRoot=s,_r(i.edges(),function(b){i.edge(b).minlen*=p});var v=qYt(i)+1;_r(i.children(),function(b){pVe(i,s,p,v,d,u,b)}),i.graph().nodeRankFactor=p}function pVe(i,s,u,d,p,v,b){var y=i.children(b);if(!y.length){b!==s&&i.setEdge(s,b,{weight:0,minlen:u});return}var T=eVe(i,"_bt"),_=eVe(i,"_bb"),A=i.node(b);i.setParent(T,b),A.borderTop=T,i.setParent(_,b),A.borderBottom=_,_r(y,function(P){pVe(i,s,u,d,p,v,P);var R=i.node(P),F=R.borderTop?R.borderTop:P,j=R.borderBottom?R.borderBottom:P,W=R.borderTop?d:2*d,ee=F!==j?1:p-v[b]+1;i.setEdge(T,F,{weight:W,minlen:ee,nestingEdge:!0}),i.setEdge(j,_,{weight:W,minlen:ee,nestingEdge:!0})}),i.parent(b)||i.setEdge(s,T,{weight:0,minlen:p+v[b]})}function zYt(i){var s={};function u(d,p){var v=i.children(d);v&&v.length&&_r(v,function(b){u(b,p+1)}),s[d]=p}return _r(i.children(),function(d){u(d,1)}),s}function qYt(i){return CR(i.edges(),function(s,u){return s+i.edge(u).weight},0)}function HYt(i){var s=i.graph();i.removeNode(s.nestingRoot),delete s.nestingRoot,_r(i.edges(),function(u){var d=i.edge(u);d.nestingEdge&&i.removeEdge(u)})}function VYt(i,s,u){var d={},p;_r(u,function(v){for(var b=i.parent(v),y,T;b;){if(y=i.parent(b),y?(T=d[y],d[y]=b):(T=p,p=b),T&&T!==b){s.setEdge(T,b);return}b=y}})}function UYt(i,s,u){var d=GYt(i),p=new P0({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(v){return i.node(v)});return _r(i.nodes(),function(v){var b=i.node(v),y=i.parent(v);(b.rank===s||b.minRank<=s&&s<=b.maxRank)&&(p.setNode(v),p.setParent(v,y||d),_r(i[u](v),function(T){var _=T.v===v?T.w:T.v,A=p.edge(_,v),P=Xf(A)?0:A.weight;p.setEdge(_,v,{weight:i.edge(T).weight+P})}),_o(b,"minRank")&&p.setNode(v,{borderLeft:b.borderLeft[s],borderRight:b.borderRight[s]}))}),p}function GYt(i){for(var s;i.hasNode(s=WQ("_root")););return s}function KYt(i,s){for(var u=0,d=1;d0;)A%2&&(P+=y[A+1]),A=A-1>>1,y[A]+=_.weight;T+=_.weight*P})),T}function YYt(i){var s={},u=j7(i.nodes(),function(y){return!i.children(y).length}),d=UC(N0(u,function(y){return i.node(y).rank})),p=N0(GC(d+1),function(){return[]});function v(y){if(!_o(s,y)){s[y]=!0;var T=i.node(y);p[T.rank].push(y),_r(i.successors(y),v)}}var b=SR(u,function(y){return i.node(y).rank});return _r(b,v),p}function XYt(i,s){return N0(s,function(u){var d=i.inEdges(u);if(d.length){var p=CR(d,function(v,b){var y=i.edge(b),T=i.node(b.v);return{sum:v.sum+y.weight*T.order,weight:v.weight+y.weight}},{sum:0,weight:0});return{v:u,barycenter:p.sum/p.weight,weight:p.weight}}else return{v:u}})}function QYt(i,s){var u={};_r(i,function(p,v){var b=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:v};Xf(p.barycenter)||(b.barycenter=p.barycenter,b.weight=p.weight)}),_r(s.edges(),function(p){var v=u[p.v],b=u[p.w];!Xf(v)&&!Xf(b)&&(b.indegree++,v.out.push(u[p.w]))});var d=j7(u,function(p){return!p.indegree});return JYt(d)}function JYt(i){var s=[];function u(v){return function(b){b.merged||(Xf(b.barycenter)||Xf(v.barycenter)||b.barycenter>=v.barycenter)&&ZYt(v,b)}}function d(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var p=i.pop();s.push(p),_r(p.in.reverse(),u(p)),_r(p.out,d(p))}return N0(j7(s,function(v){return!v.merged}),function(v){return TR(v,["vs","i","barycenter","weight"])})}function ZYt(i,s){var u=0,d=0;i.weight&&(u+=i.barycenter*i.weight,d+=i.weight),s.weight&&(u+=s.barycenter*s.weight,d+=s.weight),i.vs=s.vs.concat(i.vs),i.barycenter=u/d,i.weight=d,i.i=Math.min(s.i,i.i),s.merged=!0}function eXt(i,s){var u=mYt(i,function(A){return _o(A,"barycenter")}),d=u.lhs,p=SR(u.rhs,function(A){return-A.i}),v=[],b=0,y=0,T=0;d.sort(tXt(!!s)),T=bVe(v,p,T),_r(d,function(A){T+=A.vs.length,v.push(A.vs),b+=A.barycenter*A.weight,y+=A.weight,T=bVe(v,p,T)});var _={vs:jD(v)};return y&&(_.barycenter=b/y,_.weight=y),_}function bVe(i,s,u){for(var d;s.length&&(d=GQ(s)).i<=u;)s.pop(),i.push(d.vs),u++;return u}function tXt(i){return function(s,u){return s.barycenteru.barycenter?1:i?u.i-s.i:s.i-u.i}}function mVe(i,s,u,d){var p=i.children(s),v=i.node(s),b=v?v.borderLeft:void 0,y=v?v.borderRight:void 0,T={};b&&(p=j7(p,function(j){return j!==b&&j!==y}));var _=XYt(i,p);_r(_,function(j){if(i.children(j.v).length){var W=mVe(i,j.v,u,d);T[j.v]=W,_o(W,"barycenter")&&rXt(j,W)}});var A=QYt(_,u);nXt(A,T);var P=eXt(A,d);if(b&&(P.vs=jD([b,P.vs,y]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),F=i.node(i.predecessors(y)[0]);_o(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+R.order+F.order)/(P.weight+2),P.weight+=2}return P}function nXt(i,s){_r(i,function(u){u.vs=jD(u.vs.map(function(d){return s[d]?s[d].vs:d}))})}function rXt(i,s){Xf(i.barycenter)?(i.barycenter=s.barycenter,i.weight=s.weight):(i.barycenter=(i.barycenter*i.weight+s.barycenter*s.weight)/(i.weight+s.weight),i.weight+=s.weight)}function iXt(i){var s=tVe(i),u=vVe(i,GC(1,s+1),"inEdges"),d=vVe(i,GC(s-1,-1,-1),"outEdges"),p=YYt(i);wVe(i,p);for(var v=Number.POSITIVE_INFINITY,b,y=0,T=0;T<4;++y,++T){sXt(y%2?u:d,y%4>=2),p=YQ(i);var _=KYt(i,p);_b||y>s[T].lim));for(_=T,T=d;(T=i.parent(T))!==_;)v.push(T);return{path:p.concat(v.reverse()),lca:_}}function cXt(i){var s={},u=0;function d(p){var v=u;_r(i.children(p),d),s[p]={low:v,lim:u++}}return _r(i.children(),d),s}function uXt(i,s){var u={};function d(p,v){var b=0,y=0,T=p.length,_=GQ(v);return _r(v,function(A,P){var R=hXt(i,A),F=R?i.node(R).order:T;(R||A===_)&&(_r(v.slice(y,P+1),function(j){_r(i.predecessors(j),function(W){var ee=i.node(W),ie=ee.order;(ie_)&&yVe(u,R,A)})})}function p(v,b){var y=-1,T,_=0;return _r(b,function(A,P){if(i.node(A).dummy==="border"){var R=i.predecessors(A);R.length&&(T=i.node(R[0]).order,d(b,_,P,y,T),_=P,y=T)}d(b,_,b.length,T,v.length)}),b}return CR(s,p),u}function hXt(i,s){if(i.node(s).dummy)return ime(i.predecessors(s),function(u){return i.node(u).dummy})}function yVe(i,s,u){if(s>u){var d=s;s=u,u=d}var p=i[s];p||(i[s]=p={}),p[u]=!0}function fXt(i,s,u){if(s>u){var d=s;s=u,u=d}return _o(i[s],u)}function dXt(i,s,u,d){var p={},v={},b={};return _r(s,function(y){_r(y,function(T,_){p[T]=T,v[T]=T,b[T]=_})}),_r(s,function(y){var T=-1;_r(y,function(_){var A=d(_);if(A.length){A=SR(A,function(W){return b[W]});for(var P=(A.length-1)/2,R=Math.floor(P),F=Math.ceil(P);R<=F;++R){var j=A[R];v[_]===_&&T0}function e5(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)});for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oeMath.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}}var Sme={rect:bQt,ellipse:mQt,circle:vQt,diamond:wQt};function pQt(i){Sme=i}function bQt(i,s,u){var d=i.insert("rect",":first-child").attr("rx",u.rx).attr("ry",u.ry).attr("x",-s.width/2).attr("y",-s.height/2).attr("width",s.width).attr("height",s.height);return u.intersect=function(p){return Cme(u,p)},d}function mQt(i,s,u){var d=s.width/2,p=s.height/2,v=i.insert("ellipse",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("rx",d).attr("ry",p);return u.intersect=function(b){return SVe(u,d,p,b)},v}function vQt(i,s,u){var d=Math.max(s.width,s.height)/2,p=i.insert("circle",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("r",d);return u.intersect=function(v){return dQt(u,d,v)},p}function wQt(i,s,u){var d=s.width*Math.SQRT2/2,p=s.height*Math.SQRT2/2,v=[{x:0,y:-p},{x:-d,y:0},{x:0,y:p},{x:d,y:0}],b=i.insert("polygon",":first-child").attr("points",v.map(function(y){return y.x+","+y.y}).join(" "));return u.intersect=function(y){return e5(u,v,y)},b}function yQt(){var i=function(s,u){EQt(u);var d=LR(s,"output"),p=LR(d,"clusters"),v=LR(d,"edgePaths"),b=kme(LR(d,"edgeLabels"),u),y=Tme(LR(d,"nodes"),u,Sme);qD(u),fQt(y,u),hQt(b,u),Eme(v,u,vme);var T=xme(p,u);lQt(T,u),TQt(u)};return i.createNodes=function(s){return arguments.length?(uQt(s),i):Tme},i.createClusters=function(s){return arguments.length?(tQt(s),i):xme},i.createEdgeLabels=function(s){return arguments.length?(nQt(s),i):kme},i.createEdgePaths=function(s){return arguments.length?(rQt(s),i):Eme},i.shapes=function(s){return arguments.length?(pQt(s),i):Sme},i.arrows=function(s){return arguments.length?(WXt(s),i):vme},i}var xQt={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},kQt={arrowhead:"normal",curve:xp};function EQt(i){i.nodes().forEach(function(s){var u=i.node(s);!_o(u,"label")&&!i.children(s).length&&(u.label=s),_o(u,"paddingX")&&$D(u,{paddingLeft:u.paddingX,paddingRight:u.paddingX}),_o(u,"paddingY")&&$D(u,{paddingTop:u.paddingY,paddingBottom:u.paddingY}),_o(u,"padding")&&$D(u,{paddingLeft:u.padding,paddingRight:u.padding,paddingTop:u.padding,paddingBottom:u.padding}),$D(u,xQt),_r(["paddingLeft","paddingRight","paddingTop","paddingBottom"],function(d){u[d]=Number(u[d])}),_o(u,"width")&&(u._prevWidth=u.width),_o(u,"height")&&(u._prevHeight=u.height)}),i.edges().forEach(function(s){var u=i.edge(s);_o(u,"label")||(u.label=""),$D(u,kQt)})}function TQt(i){_r(i.nodes(),function(s){var u=i.node(s);_o(u,"_prevWidth")?u.width=u._prevWidth:delete u.width,_o(u,"_prevHeight")?u.height=u._prevHeight:delete u.height,delete u._prevWidth,delete u._prevHeight})}function LR(i,s){var u=i.select("g."+s);return u.empty()&&(u=i.append("g").attr("class",s)),u}function AVe(i,s,u){const d=s.width,p=s.height,v=(d+p)*.9,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],y=z7(i,v,v,b);return u.intersect=function(T){return e5(u,b,T)},y}function LVe(i,s,u){const p=s.height,v=p/4,b=s.width+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-p/2},{x:b-v,y:-p},{x:v,y:-p},{x:0,y:-p/2}],T=z7(i,b,p,y);return u.intersect=function(_){return e5(u,y,_)},T}function MVe(i,s,u){const d=s.width,p=s.height,v=[{x:-p/2,y:0},{x:d,y:0},{x:d,y:-p},{x:-p/2,y:-p},{x:0,y:-p/2}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function DVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function IVe(i,s,u){const d=s.width,p=s.height,v=[{x:2*p/6,y:0},{x:d+p/6,y:0},{x:d-2*p/6,y:-p},{x:-p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function OVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d+2*p/6,y:0},{x:d-p/6,y:-p},{x:p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function NVe(i,s,u){const d=s.width,p=s.height,v=[{x:p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:-2*p/6,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function PVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d+p/2,y:0},{x:d,y:-p/2},{x:d+p/2,y:-p},{x:0,y:-p}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function BVe(i,s,u){const d=s.height,p=s.width+d/4,v=i.insert("rect",":first-child").attr("rx",d/2).attr("ry",d/2).attr("x",-p/2).attr("y",-d/2).attr("width",p).attr("height",d);return u.intersect=function(b){return Cme(u,b)},v}function FVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-p},{x:-8,y:-p},{x:-8,y:0}],b=z7(i,d,p,v);return u.intersect=function(y){return e5(u,v,y)},b}function RVe(i,s,u){const d=s.width,p=d/2,v=p/(2.5+d/50),b=s.height+v,y="M 0,"+v+" a "+p+","+v+" 0,0,0 "+d+" 0 a "+p+","+v+" 0,0,0 "+-d+" 0 l 0,"+b+" a "+p+","+v+" 0,0,0 "+d+" 0 l 0,"+-b,T=i.attr("label-offset-y",v).insert("path",":first-child").attr("d",y).attr("transform","translate("+-d/2+","+-(b/2+v)+")");return u.intersect=function(_){const A=Cme(u,_),P=A.x-u.x;if(p!=0&&(Math.abs(P)u.height/2-v)){let R=v*v*(1-P*P/(p*p));R!=0&&(R=Math.sqrt(R)),R=v-R,_.y-u.y>0&&(R=-R),A.y+=R}return A},T}function CQt(i){i.shapes().question=AVe,i.shapes().hexagon=LVe,i.shapes().stadium=BVe,i.shapes().subroutine=FVe,i.shapes().cylinder=RVe,i.shapes().rect_left_inv_arrow=MVe,i.shapes().lean_right=DVe,i.shapes().lean_left=IVe,i.shapes().trapezoid=OVe,i.shapes().inv_trapezoid=NVe,i.shapes().rect_right_inv_arrow=PVe}function SQt(i){i({question:AVe}),i({hexagon:LVe}),i({stadium:BVe}),i({subroutine:FVe}),i({cylinder:RVe}),i({rect_left_inv_arrow:MVe}),i({lean_right:DVe}),i({lean_left:IVe}),i({trapezoid:OVe}),i({inv_trapezoid:NVe}),i({rect_right_inv_arrow:PVe})}function z7(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("transform","translate("+-s/2+","+u/2+")")}const _Qt={addToRender:CQt,addToRenderV2:SQt},jVe={},AQt=function(i){const s=Object.keys(i);for(const u of s)jVe[u]=i[u]},$Ve=async function(i,s,u,d,p,v){const b=d?d.select(`[id="${u}"]`):Ir(`[id="${u}"]`),y=p||document,T=Object.keys(i);for(const _ of T){const A=i[_];let P="default";A.classes.length>0&&(P=A.classes.join(" "));const R=om(A.styles);let F=A.text!==void 0?A.text:A.id,j;if(l1(qt().flowchart.htmlLabels)){const ie={label:await CC(F.replace(/fa[blrs]?:fa-[\w-]+/g,oe=>``),qt())};j=wme(b,ie).node(),j.parentNode.removeChild(j)}else{const ie=y.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",R.labelStyle.replace("color:","fill:"));const oe=F.split(ci.lineBreakRegex);for(const be of oe){const ge=y.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}j=ie}let W=0,ee="";switch(A.type){case"round":W=5,ee="rect";break;case"square":ee="rect";break;case"diamond":ee="question";break;case"hexagon":ee="hexagon";break;case"odd":ee="rect_left_inv_arrow";break;case"lean_right":ee="lean_right";break;case"lean_left":ee="lean_left";break;case"trapezoid":ee="trapezoid";break;case"inv_trapezoid":ee="inv_trapezoid";break;case"odd_right":ee="rect_left_inv_arrow";break;case"circle":ee="circle";break;case"ellipse":ee="ellipse";break;case"stadium":ee="stadium";break;case"subroutine":ee="subroutine";break;case"cylinder":ee="cylinder";break;case"group":ee="rect";break;default:ee="rect"}Xe.warn("Adding node",A.id,A.domId),s.setNode(v.db.lookUpDomId(A.id),{labelType:"svg",labelStyle:R.labelStyle,shape:ee,label:j,rx:W,ry:W,class:P,style:R.style,id:v.db.lookUpDomId(A.id)})}},zVe=async function(i,s,u){let d=0,p,v;if(i.defaultStyle!==void 0){const b=om(i.defaultStyle);p=b.style,v=b.labelStyle}for(const b of i){d++;const y="L-"+b.start+"-"+b.end,T="LS-"+b.start,_="LE-"+b.end,A={};b.type==="arrow_open"?A.arrowhead="none":A.arrowhead="normal";let P="",R="";if(b.style!==void 0){const F=om(b.style);P=F.style,R=F.labelStyle}else switch(b.stroke){case"normal":P="fill:none",p!==void 0&&(P=p),v!==void 0&&(R=v);break;case"dotted":P="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":P=" stroke-width: 3.5px;fill:none";break}A.style=P,A.labelStyle=R,b.interpolate!==void 0?A.curve=Nv(b.interpolate,xp):i.defaultInterpolate!==void 0?A.curve=Nv(i.defaultInterpolate,xp):A.curve=Nv(jVe.curve,xp),b.text===void 0?b.style!==void 0&&(A.arrowheadStyle="fill: #333"):(A.arrowheadStyle="fill: #333",A.labelpos="c",l1(qt().flowchart.htmlLabels)?(A.labelType="html",A.label=`${await CC(b.text.replace(/fa[blrs]?:fa-[\w-]+/g,F=>``),qt())}`):(A.labelType="text",A.label=b.text.replace(ci.lineBreakRegex,` +`),b.style===void 0&&(A.style=A.style||"stroke: #333; stroke-width: 1.5px;fill:none"),A.labelStyle=A.labelStyle.replace("color:","fill:"))),A.id=y,A.class=T+" "+_,A.minlen=b.length||1,s.setEdge(u.db.lookUpDomId(b.start),u.db.lookUpDomId(b.end),A,d)}},LQt={setConf:AQt,addVertices:$Ve,addEdges:zVe,getClasses:function(i,s){return Xe.info("Extracting classes"),s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");const{securityLevel:p,flowchart:v}=qt();let b;p==="sandbox"&&(b=Ir("#i"+s));const y=Ir(p==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=p==="sandbox"?b.nodes()[0].contentDocument:document;let _=d.db.getDirection();_===void 0&&(_="TD");const A=v.nodeSpacing||50,P=v.rankSpacing||50,R=new P0({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:A,ranksep:P,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();for(let ne=j.length-1;ne>=0;ne--)F=j[ne],d.db.addVertex(F.id,F.title,"group",void 0,F.classes);const W=d.db.getVertices();Xe.warn("Get vertices",W);const ee=d.db.getEdges();let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],ABe("cluster").append("text");for(let ne=0;ne{s.forEach(p=>{OQt[p](i,u,d)})},OQt={extension:(i,s,u)=>{Xe.trace("Making markers for ",u),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionStart").attr("class","marker extension "+s).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionEnd").attr("class","marker extension "+s).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionStart").attr("class","marker composition "+s).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionEnd").attr("class","marker composition "+s).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationStart").attr("class","marker aggregation "+s).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationEnd").attr("class","marker aggregation "+s).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyStart").attr("class","marker dependency "+s).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyEnd").attr("class","marker dependency "+s).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopStart").attr("class","marker lollipop "+s).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopEnd").attr("class","marker lollipop "+s).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-pointEnd").attr("class","marker "+s).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",u+"_"+s+"-pointStart").attr("class","marker "+s).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-circleEnd").attr("class","marker "+s).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",u+"_"+s+"-circleStart").attr("class","marker "+s).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-crossEnd").attr("class","marker cross "+s).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",u+"_"+s+"-crossStart").attr("class","marker cross "+s).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},_me=IQt;function NQt(i,s){s&&i.attr("style",s)}function PQt(i){const s=Ir(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),u=s.append("xhtml:div"),d=i.label,p=i.isNode?"nodeLabel":"edgeLabel";return u.html('"+d+""),NQt(u,i.labelStyle),u.style("display","inline-block"),u.style("white-space","nowrap"),u.attr("xmlns","http://www.w3.org/1999/xhtml"),s.node()}const z2=(i,s,u,d)=>{let p=i||"";if(typeof p=="object"&&(p=p[0]),l1(qt().flowchart.htmlLabels)){p=p.replace(/\\n|\n/g,"
"),Xe.debug("vertexText"+p);const v={isNode:d,label:tR(p).replace(/fa[blrs]?:fa-[\w-]+/g,y=>``),labelStyle:s.replace("fill:","color:")};return PQt(v)}else{const v=document.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",s.replace("color:","fill:"));let b=[];typeof p=="string"?b=p.split(/\\n|\n|/gi):Array.isArray(p)?b=p:b=[];for(const y of b){const T=document.createElementNS("http://www.w3.org/2000/svg","tspan");T.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),T.setAttribute("dy","1em"),T.setAttribute("x","0"),u?T.setAttribute("class","title-row"):T.setAttribute("class","row"),T.textContent=y.trim(),v.appendChild(T)}return v}},BQt={};function FQt(i,s){const u=s||BQt,d=typeof u.includeImageAlt=="boolean"?u.includeImageAlt:!0,p=typeof u.includeHtml=="boolean"?u.includeHtml:!0;return qVe(i,d,p)}function qVe(i,s,u){if(RQt(i)){if("value"in i)return i.type==="html"&&!u?"":i.value;if(s&&"alt"in i&&i.alt)return i.alt;if("children"in i)return HVe(i.children,s,u)}return Array.isArray(i)?HVe(i,s,u):""}function HVe(i,s,u){const d=[];let p=-1;for(;++pp?0:p+s:s=s>p?p:s,u=u>0?u:0,d.length<1e4)b=Array.from(d),b.unshift(s,u),i.splice(...b);else for(u&&i.splice(s,u);v0?(t5(i,i.length,0,s),i):s}const VVe={}.hasOwnProperty;function jQt(i){const s={};let u=-1;for(;++ub))return;const se=s.events.length;let de=se,X,pe;for(;de--;)if(s.events[de][0]==="exit"&&s.events[de][1].type==="chunkFlow"){if(X){pe=s.events[de][1].end;break}X=!0}for(ie(d),ne=se;nebe;){const ae=u[ge];s.containerState=ae[1],ae[0].exit.call(s,i)}u.length=be}function oe(){p.write([null]),v=void 0,p=void 0,s.containerState._closeFlow=void 0}}function JQt(i,s,u){return Wl(i,i.attempt(this.parser.constructs.document,s,u),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function GVe(i){if(i===null||q2(i)||KQt(i))return 1;if(GQt(i))return 2}function Mme(i,s,u){const d=[];let p=-1;for(;++p1&&i[u][1].end.offset-i[u][1].start.offset>1?2:1;const P=Object.assign({},i[d][1].end),R=Object.assign({},i[u][1].start);KVe(P,-T),KVe(R,T),b={type:T>1?"strongSequence":"emphasisSequence",start:P,end:Object.assign({},i[d][1].end)},y={type:T>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[u][1].start),end:R},v={type:T>1?"strongText":"emphasisText",start:Object.assign({},i[d][1].end),end:Object.assign({},i[u][1].start)},p={type:T>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},y.end)},i[d][1].end=Object.assign({},b.start),i[u][1].start=Object.assign({},y.end),_=[],i[d][1].end.offset-i[d][1].start.offset&&(_=Hv(_,[["enter",i[d][1],s],["exit",i[d][1],s]])),_=Hv(_,[["enter",p,s],["enter",b,s],["exit",b,s],["enter",v,s]]),_=Hv(_,Mme(s.parser.constructs.insideSpan.null,i.slice(d+1,u),s)),_=Hv(_,[["exit",v,s],["enter",y,s],["exit",y,s],["exit",p,s]]),i[u][1].end.offset-i[u][1].start.offset?(A=2,_=Hv(_,[["enter",i[u][1],s],["exit",i[u][1],s]])):A=0,t5(i,d-1,u-d+3,_),u=d+_.length-A-2;break}}for(u=-1;++u0&&Bu(ne)?Wl(i,oe,"linePrefix",v+1)(ne):oe(ne)}function oe(ne){return ne===null||so(ne)?i.check(JVe,W,ge)(ne):(i.enter("codeFlowValue"),be(ne))}function be(ne){return ne===null||so(ne)?(i.exit("codeFlowValue"),oe(ne)):(i.consume(ne),be)}function ge(ne){return i.exit("codeFenced"),s(ne)}function ae(ne,se,de){let X=0;return pe;function pe(Ne){return ne.enter("lineEnding"),ne.consume(Ne),ne.exit("lineEnding"),K}function K(Ne){return ne.enter("codeFencedFence"),Bu(Ne)?Wl(ne,xe,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Ne):xe(Ne)}function xe(Ne){return Ne===y?(ne.enter("codeFencedFenceSequence"),U(Ne)):de(Ne)}function U(Ne){return Ne===y?(X++,ne.consume(Ne),U):X>=b?(ne.exit("codeFencedFenceSequence"),Bu(Ne)?Wl(ne,Be,"whitespace")(Ne):Be(Ne)):de(Ne)}function Be(Ne){return Ne===null||so(Ne)?(ne.exit("codeFencedFence"),se(Ne)):de(Ne)}}}function lJt(i,s,u){const d=this;return p;function p(b){return b===null?u(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}const Ome={name:"codeIndented",tokenize:fJt},hJt={tokenize:dJt,partial:!0};function fJt(i,s,u){const d=this;return p;function p(_){return i.enter("codeIndented"),Wl(i,v,"linePrefix",4+1)(_)}function v(_){const A=d.events[d.events.length-1];return A&&A[1].type==="linePrefix"&&A[2].sliceSerialize(A[1],!0).length>=4?b(_):u(_)}function b(_){return _===null?T(_):so(_)?i.attempt(hJt,b,T)(_):(i.enter("codeFlowValue"),y(_))}function y(_){return _===null||so(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),y)}function T(_){return i.exit("codeIndented"),s(_)}}function dJt(i,s,u){const d=this;return p;function p(b){return d.parser.lazy[d.now().line]?u(b):so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),p):Wl(i,v,"linePrefix",4+1)(b)}function v(b){const y=d.events[d.events.length-1];return y&&y[1].type==="linePrefix"&&y[2].sliceSerialize(y[1],!0).length>=4?s(b):so(b)?p(b):u(b)}}const gJt={name:"codeText",tokenize:mJt,resolve:pJt,previous:bJt};function pJt(i){let s=i.length-4,u=3,d,p;if((i[u][1].type==="lineEnding"||i[u][1].type==="space")&&(i[s][1].type==="lineEnding"||i[s][1].type==="space")){for(d=u;++d=4?s(b):i.interrupt(d.parser.constructs.flow,u,s)(b)}}function tUe(i,s,u,d,p,v,b,y,T){const _=T||Number.POSITIVE_INFINITY;let A=0;return P;function P(ie){return ie===60?(i.enter(d),i.enter(p),i.enter(v),i.consume(ie),i.exit(v),R):ie===null||ie===32||ie===41||Ame(ie)?u(ie):(i.enter(d),i.enter(b),i.enter(y),i.enter("chunkString",{contentType:"string"}),W(ie))}function R(ie){return ie===62?(i.enter(v),i.consume(ie),i.exit(v),i.exit(p),i.exit(d),s):(i.enter(y),i.enter("chunkString",{contentType:"string"}),F(ie))}function F(ie){return ie===62?(i.exit("chunkString"),i.exit(y),R(ie)):ie===null||ie===60||so(ie)?u(ie):(i.consume(ie),ie===92?j:F)}function j(ie){return ie===60||ie===62||ie===92?(i.consume(ie),F):F(ie)}function W(ie){return!A&&(ie===null||ie===41||q2(ie))?(i.exit("chunkString"),i.exit(y),i.exit(b),i.exit(d),s(ie)):A<_&&ie===40?(i.consume(ie),A++,W):ie===41?(i.consume(ie),A--,W):ie===null||ie===32||ie===40||Ame(ie)?u(ie):(i.consume(ie),ie===92?ee:W)}function ee(ie){return ie===40||ie===41||ie===92?(i.consume(ie),W):W(ie)}}function nUe(i,s,u,d,p,v){const b=this;let y=0,T;return _;function _(F){return i.enter(d),i.enter(p),i.consume(F),i.exit(p),i.enter(v),A}function A(F){return y>999||F===null||F===91||F===93&&!T||F===94&&!y&&"_hiddenFootnoteSupport"in b.parser.constructs?u(F):F===93?(i.exit(v),i.enter(p),i.consume(F),i.exit(p),i.exit(d),s):so(F)?(i.enter("lineEnding"),i.consume(F),i.exit("lineEnding"),A):(i.enter("chunkString",{contentType:"string"}),P(F))}function P(F){return F===null||F===91||F===93||so(F)||y++>999?(i.exit("chunkString"),A(F)):(i.consume(F),T||(T=!Bu(F)),F===92?R:P)}function R(F){return F===91||F===92||F===93?(i.consume(F),y++,P):P(F)}}function rUe(i,s,u,d,p,v){let b;return y;function y(R){return R===34||R===39||R===40?(i.enter(d),i.enter(p),i.consume(R),i.exit(p),b=R===40?41:R,T):u(R)}function T(R){return R===b?(i.enter(p),i.consume(R),i.exit(p),i.exit(d),s):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),T(b)):R===null?u(R):so(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Wl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),A(R))}function A(R){return R===b||R===null||so(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?P:A)}function P(R){return R===b||R===92?(i.consume(R),A):A(R)}}function MR(i,s){let u;return d;function d(p){return so(p)?(i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),u=!0,d):Bu(p)?Wl(i,d,u?"linePrefix":"lineSuffix")(p):s(p)}}function HD(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const TJt={name:"definition",tokenize:SJt},CJt={tokenize:_Jt,partial:!0};function SJt(i,s,u){const d=this;let p;return v;function v(F){return i.enter("definition"),b(F)}function b(F){return nUe.call(d,i,y,u,"definitionLabel","definitionLabelMarker","definitionLabelString")(F)}function y(F){return p=HD(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)),F===58?(i.enter("definitionMarker"),i.consume(F),i.exit("definitionMarker"),T):u(F)}function T(F){return q2(F)?MR(i,_)(F):_(F)}function _(F){return tUe(i,A,u,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(F)}function A(F){return i.attempt(CJt,P,P)(F)}function P(F){return Bu(F)?Wl(i,R,"whitespace")(F):R(F)}function R(F){return F===null||so(F)?(i.exit("definition"),d.parser.defined.push(p),s(F)):u(F)}}function _Jt(i,s,u){return d;function d(y){return q2(y)?MR(i,p)(y):u(y)}function p(y){return rUe(i,v,u,"definitionTitle","definitionTitleMarker","definitionTitleString")(y)}function v(y){return Bu(y)?Wl(i,b,"whitespace")(y):b(y)}function b(y){return y===null||so(y)?s(y):u(y)}}const AJt={name:"hardBreakEscape",tokenize:LJt};function LJt(i,s,u){return d;function d(v){return i.enter("hardBreakEscape"),i.consume(v),p}function p(v){return so(v)?(i.exit("hardBreakEscape"),s(v)):u(v)}}const MJt={name:"headingAtx",tokenize:IJt,resolve:DJt};function DJt(i,s){let u=i.length-2,d=3,p,v;return i[d][1].type==="whitespace"&&(d+=2),u-2>d&&i[u][1].type==="whitespace"&&(u-=2),i[u][1].type==="atxHeadingSequence"&&(d===u-1||u-4>d&&i[u-2][1].type==="whitespace")&&(u-=d+1===u?2:4),u>d&&(p={type:"atxHeadingText",start:i[d][1].start,end:i[u][1].end},v={type:"chunkText",start:i[d][1].start,end:i[u][1].end,contentType:"text"},t5(i,d,u-d+1,[["enter",p,s],["enter",v,s],["exit",v,s],["exit",p,s]])),i}function IJt(i,s,u){let d=0;return p;function p(A){return i.enter("atxHeading"),v(A)}function v(A){return i.enter("atxHeadingSequence"),b(A)}function b(A){return A===35&&d++<6?(i.consume(A),b):A===null||q2(A)?(i.exit("atxHeadingSequence"),y(A)):u(A)}function y(A){return A===35?(i.enter("atxHeadingSequence"),T(A)):A===null||so(A)?(i.exit("atxHeading"),s(A)):Bu(A)?Wl(i,y,"whitespace")(A):(i.enter("atxHeadingText"),_(A))}function T(A){return A===35?(i.consume(A),T):(i.exit("atxHeadingSequence"),y(A))}function _(A){return A===null||A===35||q2(A)?(i.exit("atxHeadingText"),y(A)):(i.consume(A),_)}}const OJt=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],iUe=["pre","script","style","textarea"],NJt={name:"htmlFlow",tokenize:RJt,resolveTo:FJt,concrete:!0},PJt={tokenize:$Jt,partial:!0},BJt={tokenize:jJt,partial:!0};function FJt(i){let s=i.length;for(;s--&&!(i[s][0]==="enter"&&i[s][1].type==="htmlFlow"););return s>1&&i[s-2][1].type==="linePrefix"&&(i[s][1].start=i[s-2][1].start,i[s+1][1].start=i[s-2][1].start,i.splice(s-2,2)),i}function RJt(i,s,u){const d=this;let p,v,b,y,T;return _;function _(Pe){return A(Pe)}function A(Pe){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Pe),P}function P(Pe){return Pe===33?(i.consume(Pe),R):Pe===47?(i.consume(Pe),v=!0,W):Pe===63?(i.consume(Pe),p=3,d.interrupt?s:ke):n5(Pe)?(i.consume(Pe),b=String.fromCharCode(Pe),ee):u(Pe)}function R(Pe){return Pe===45?(i.consume(Pe),p=2,F):Pe===91?(i.consume(Pe),p=5,y=0,j):n5(Pe)?(i.consume(Pe),p=4,d.interrupt?s:ke):u(Pe)}function F(Pe){return Pe===45?(i.consume(Pe),d.interrupt?s:ke):u(Pe)}function j(Pe){const gn="CDATA[";return Pe===gn.charCodeAt(y++)?(i.consume(Pe),y===gn.length?d.interrupt?s:xe:j):u(Pe)}function W(Pe){return n5(Pe)?(i.consume(Pe),b=String.fromCharCode(Pe),ee):u(Pe)}function ee(Pe){if(Pe===null||Pe===47||Pe===62||q2(Pe)){const gn=Pe===47,kt=b.toLowerCase();return!gn&&!v&&iUe.includes(kt)?(p=1,d.interrupt?s(Pe):xe(Pe)):OJt.includes(b.toLowerCase())?(p=6,gn?(i.consume(Pe),ie):d.interrupt?s(Pe):xe(Pe)):(p=7,d.interrupt&&!d.parser.lazy[d.now().line]?u(Pe):v?oe(Pe):be(Pe))}return Pe===45||V3(Pe)?(i.consume(Pe),b+=String.fromCharCode(Pe),ee):u(Pe)}function ie(Pe){return Pe===62?(i.consume(Pe),d.interrupt?s:xe):u(Pe)}function oe(Pe){return Bu(Pe)?(i.consume(Pe),oe):pe(Pe)}function be(Pe){return Pe===47?(i.consume(Pe),pe):Pe===58||Pe===95||n5(Pe)?(i.consume(Pe),ge):Bu(Pe)?(i.consume(Pe),be):pe(Pe)}function ge(Pe){return Pe===45||Pe===46||Pe===58||Pe===95||V3(Pe)?(i.consume(Pe),ge):ae(Pe)}function ae(Pe){return Pe===61?(i.consume(Pe),ne):Bu(Pe)?(i.consume(Pe),ae):be(Pe)}function ne(Pe){return Pe===null||Pe===60||Pe===61||Pe===62||Pe===96?u(Pe):Pe===34||Pe===39?(i.consume(Pe),T=Pe,se):Bu(Pe)?(i.consume(Pe),ne):de(Pe)}function se(Pe){return Pe===T?(i.consume(Pe),T=null,X):Pe===null||so(Pe)?u(Pe):(i.consume(Pe),se)}function de(Pe){return Pe===null||Pe===34||Pe===39||Pe===47||Pe===60||Pe===61||Pe===62||Pe===96||q2(Pe)?ae(Pe):(i.consume(Pe),de)}function X(Pe){return Pe===47||Pe===62||Bu(Pe)?be(Pe):u(Pe)}function pe(Pe){return Pe===62?(i.consume(Pe),K):u(Pe)}function K(Pe){return Pe===null||so(Pe)?xe(Pe):Bu(Pe)?(i.consume(Pe),K):u(Pe)}function xe(Pe){return Pe===45&&p===2?(i.consume(Pe),je):Pe===60&&p===1?(i.consume(Pe),Ie):Pe===62&&p===4?(i.consume(Pe),Ke):Pe===63&&p===3?(i.consume(Pe),ke):Pe===93&&p===5?(i.consume(Pe),Ce):so(Pe)&&(p===6||p===7)?(i.exit("htmlFlowData"),i.check(PJt,Ft,U)(Pe)):Pe===null||so(Pe)?(i.exit("htmlFlowData"),U(Pe)):(i.consume(Pe),xe)}function U(Pe){return i.check(BJt,Be,Ft)(Pe)}function Be(Pe){return i.enter("lineEnding"),i.consume(Pe),i.exit("lineEnding"),Ne}function Ne(Pe){return Pe===null||so(Pe)?U(Pe):(i.enter("htmlFlowData"),xe(Pe))}function je(Pe){return Pe===45?(i.consume(Pe),ke):xe(Pe)}function Ie(Pe){return Pe===47?(i.consume(Pe),b="",Se):xe(Pe)}function Se(Pe){if(Pe===62){const gn=b.toLowerCase();return iUe.includes(gn)?(i.consume(Pe),Ke):xe(Pe)}return n5(Pe)&&b.length<8?(i.consume(Pe),b+=String.fromCharCode(Pe),Se):xe(Pe)}function Ce(Pe){return Pe===93?(i.consume(Pe),ke):xe(Pe)}function ke(Pe){return Pe===62?(i.consume(Pe),Ke):Pe===45&&p===2?(i.consume(Pe),ke):xe(Pe)}function Ke(Pe){return Pe===null||so(Pe)?(i.exit("htmlFlowData"),Ft(Pe)):(i.consume(Pe),Ke)}function Ft(Pe){return i.exit("htmlFlow"),s(Pe)}}function jJt(i,s,u){const d=this;return p;function p(b){return so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):u(b)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}function $Jt(i,s,u){return d;function d(p){return i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),i.attempt(XQ,s,u)}}const zJt={name:"htmlText",tokenize:qJt};function qJt(i,s,u){const d=this;let p,v,b;return y;function y(ke){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(ke),T}function T(ke){return ke===33?(i.consume(ke),_):ke===47?(i.consume(ke),ae):ke===63?(i.consume(ke),be):n5(ke)?(i.consume(ke),de):u(ke)}function _(ke){return ke===45?(i.consume(ke),A):ke===91?(i.consume(ke),v=0,j):n5(ke)?(i.consume(ke),oe):u(ke)}function A(ke){return ke===45?(i.consume(ke),F):u(ke)}function P(ke){return ke===null?u(ke):ke===45?(i.consume(ke),R):so(ke)?(b=P,Ie(ke)):(i.consume(ke),P)}function R(ke){return ke===45?(i.consume(ke),F):P(ke)}function F(ke){return ke===62?je(ke):ke===45?R(ke):P(ke)}function j(ke){const Ke="CDATA[";return ke===Ke.charCodeAt(v++)?(i.consume(ke),v===Ke.length?W:j):u(ke)}function W(ke){return ke===null?u(ke):ke===93?(i.consume(ke),ee):so(ke)?(b=W,Ie(ke)):(i.consume(ke),W)}function ee(ke){return ke===93?(i.consume(ke),ie):W(ke)}function ie(ke){return ke===62?je(ke):ke===93?(i.consume(ke),ie):W(ke)}function oe(ke){return ke===null||ke===62?je(ke):so(ke)?(b=oe,Ie(ke)):(i.consume(ke),oe)}function be(ke){return ke===null?u(ke):ke===63?(i.consume(ke),ge):so(ke)?(b=be,Ie(ke)):(i.consume(ke),be)}function ge(ke){return ke===62?je(ke):be(ke)}function ae(ke){return n5(ke)?(i.consume(ke),ne):u(ke)}function ne(ke){return ke===45||V3(ke)?(i.consume(ke),ne):se(ke)}function se(ke){return so(ke)?(b=se,Ie(ke)):Bu(ke)?(i.consume(ke),se):je(ke)}function de(ke){return ke===45||V3(ke)?(i.consume(ke),de):ke===47||ke===62||q2(ke)?X(ke):u(ke)}function X(ke){return ke===47?(i.consume(ke),je):ke===58||ke===95||n5(ke)?(i.consume(ke),pe):so(ke)?(b=X,Ie(ke)):Bu(ke)?(i.consume(ke),X):je(ke)}function pe(ke){return ke===45||ke===46||ke===58||ke===95||V3(ke)?(i.consume(ke),pe):K(ke)}function K(ke){return ke===61?(i.consume(ke),xe):so(ke)?(b=K,Ie(ke)):Bu(ke)?(i.consume(ke),K):X(ke)}function xe(ke){return ke===null||ke===60||ke===61||ke===62||ke===96?u(ke):ke===34||ke===39?(i.consume(ke),p=ke,U):so(ke)?(b=xe,Ie(ke)):Bu(ke)?(i.consume(ke),xe):(i.consume(ke),Be)}function U(ke){return ke===p?(i.consume(ke),p=void 0,Ne):ke===null?u(ke):so(ke)?(b=U,Ie(ke)):(i.consume(ke),U)}function Be(ke){return ke===null||ke===34||ke===39||ke===60||ke===61||ke===96?u(ke):ke===47||ke===62||q2(ke)?X(ke):(i.consume(ke),Be)}function Ne(ke){return ke===47||ke===62||q2(ke)?X(ke):u(ke)}function je(ke){return ke===62?(i.consume(ke),i.exit("htmlTextData"),i.exit("htmlText"),s):u(ke)}function Ie(ke){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(ke),i.exit("lineEnding"),Se}function Se(ke){return Bu(ke)?Wl(i,Ce,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ke):Ce(ke)}function Ce(ke){return i.enter("htmlTextData"),b(ke)}}const Nme={name:"labelEnd",tokenize:WJt,resolveTo:KJt,resolveAll:GJt},HJt={tokenize:YJt},VJt={tokenize:XJt},UJt={tokenize:QJt};function GJt(i){let s=-1;for(;++s=3&&(_===null||so(_))?(i.exit("thematicBreak"),s(_)):u(_)}function T(_){return _===p?(i.consume(_),d++,T):(i.exit("thematicBreakSequence"),Bu(_)?Wl(i,y,"whitespace")(_):y(_))}}const H2={name:"list",tokenize:aZt,continuation:{tokenize:oZt},exit:uZt},iZt={tokenize:lZt,partial:!0},sZt={tokenize:cZt,partial:!0};function aZt(i,s,u){const d=this,p=d.events[d.events.length-1];let v=p&&p[1].type==="linePrefix"?p[2].sliceSerialize(p[1],!0).length:0,b=0;return y;function y(F){const j=d.containerState.type||(F===42||F===43||F===45?"listUnordered":"listOrdered");if(j==="listUnordered"?!d.containerState.marker||F===d.containerState.marker:Lme(F)){if(d.containerState.type||(d.containerState.type=j,i.enter(j,{_container:!0})),j==="listUnordered")return i.enter("listItemPrefix"),F===42||F===45?i.check(QQ,u,_)(F):_(F);if(!d.interrupt||F===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),T(F)}return u(F)}function T(F){return Lme(F)&&++b<10?(i.consume(F),T):(!d.interrupt||b<2)&&(d.containerState.marker?F===d.containerState.marker:F===41||F===46)?(i.exit("listItemValue"),_(F)):u(F)}function _(F){return i.enter("listItemMarker"),i.consume(F),i.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||F,i.check(XQ,d.interrupt?u:A,i.attempt(iZt,R,P))}function A(F){return d.containerState.initialBlankLine=!0,v++,R(F)}function P(F){return Bu(F)?(i.enter("listItemPrefixWhitespace"),i.consume(F),i.exit("listItemPrefixWhitespace"),R):u(F)}function R(F){return d.containerState.size=v+d.sliceSerialize(i.exit("listItemPrefix"),!0).length,s(F)}}function oZt(i,s,u){const d=this;return d.containerState._closeFlow=void 0,i.check(XQ,p,v);function p(y){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,Wl(i,s,"listItemIndent",d.containerState.size+1)(y)}function v(y){return d.containerState.furtherBlankLines||!Bu(y)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,b(y)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,i.attempt(sZt,s,b)(y))}function b(y){return d.containerState._closeFlow=!0,d.interrupt=void 0,Wl(i,i.attempt(H2,s,u),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y)}}function cZt(i,s,u){const d=this;return Wl(i,p,"listItemIndent",d.containerState.size+1);function p(v){const b=d.events[d.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===d.containerState.size?s(v):u(v)}}function uZt(i){i.exit(this.containerState.type)}function lZt(i,s,u){const d=this;return Wl(i,p,"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function p(v){const b=d.events[d.events.length-1];return!Bu(v)&&b&&b[1].type==="listItemPrefixWhitespace"?s(v):u(v)}}const sUe={name:"setextUnderline",tokenize:fZt,resolveTo:hZt};function hZt(i,s){let u=i.length,d,p,v;for(;u--;)if(i[u][0]==="enter"){if(i[u][1].type==="content"){d=u;break}i[u][1].type==="paragraph"&&(p=u)}else i[u][1].type==="content"&&i.splice(u,1),!v&&i[u][1].type==="definition"&&(v=u);const b={type:"setextHeading",start:Object.assign({},i[p][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[p][1].type="setextHeadingText",v?(i.splice(p,0,["enter",b,s]),i.splice(v+1,0,["exit",i[d][1],s]),i[d][1].end=Object.assign({},i[v][1].end)):i[d][1]=b,i.push(["exit",b,s]),i}function fZt(i,s,u){const d=this;let p;return v;function v(_){let A=d.events.length,P;for(;A--;)if(d.events[A][1].type!=="lineEnding"&&d.events[A][1].type!=="linePrefix"&&d.events[A][1].type!=="content"){P=d.events[A][1].type==="paragraph";break}return!d.parser.lazy[d.now().line]&&(d.interrupt||P)?(i.enter("setextHeadingLine"),p=_,b(_)):u(_)}function b(_){return i.enter("setextHeadingLineSequence"),y(_)}function y(_){return _===p?(i.consume(_),y):(i.exit("setextHeadingLineSequence"),Bu(_)?Wl(i,T,"lineSuffix")(_):T(_))}function T(_){return _===null||so(_)?(i.exit("setextHeadingLine"),s(_)):u(_)}}const dZt={tokenize:gZt};function gZt(i){const s=this,u=i.attempt(XQ,d,i.attempt(this.parser.constructs.flowInitial,p,Wl(i,i.attempt(this.parser.constructs.flow,p,i.attempt(wJt,p)),"linePrefix")));return u;function d(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),s.currentConstruct=void 0,u}function p(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),s.currentConstruct=void 0,u}}const pZt={resolveAll:oUe()},bZt=aUe("string"),mZt=aUe("text");function aUe(i){return{tokenize:s,resolveAll:oUe(i==="text"?vZt:void 0)};function s(u){const d=this,p=this.parser.constructs[i],v=u.attempt(p,b,y);return b;function b(A){return _(A)?v(A):y(A)}function y(A){if(A===null){u.consume(A);return}return u.enter("data"),u.consume(A),T}function T(A){return _(A)?(u.exit("data"),v(A)):(u.consume(A),T)}function _(A){if(A===null)return!0;const P=p[A];let R=-1;if(P)for(;++R-1){const y=b[0];typeof y=="string"?b[0]=y.slice(d):b.shift()}v>0&&b.push(i[p].slice(0,v))}return b}function xZt(i,s){let u=-1;const d=[];let p;for(;++u13&&u<32||u>126&&u<160||u>55295&&u<57344||u>64975&&u<65008||(u&65535)===65535||(u&65535)===65534||u>1114111?"�":String.fromCharCode(u)}const SZt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function _Zt(i){return i.replace(SZt,AZt)}function AZt(i,s,u){if(s)return s;if(u.charCodeAt(0)===35){const p=u.charCodeAt(1),v=p===120||p===88;return uUe(u.slice(v?2:1),v?16:10)}return Ime(u)||i}function JQ(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?lUe(i.position):"start"in i||"end"in i?lUe(i):"line"in i||"column"in i?Bme(i):""}function Bme(i){return hUe(i&&i.line)+":"+hUe(i&&i.column)}function lUe(i){return Bme(i&&i.start)+"-"+Bme(i&&i.end)}function hUe(i){return i&&typeof i=="number"?i:1}const fUe={}.hasOwnProperty,dUe=function(i,s,u){return typeof s!="string"&&(u=s,s=void 0),LZt(u)(CZt(EZt(u).document().write(TZt()(i,s,!0))))};function LZt(i){const s={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:y(Pa),autolinkProtocol:K,autolinkEmail:K,atxHeading:y(zr),blockQuote:y(Ze),characterEscape:K,characterReference:K,codeFenced:y(At),codeFencedFenceInfo:T,codeFencedFenceMeta:T,codeIndented:y(At,T),codeText:y(Tt,T),codeTextData:K,data:K,codeFlowValue:K,definition:y(On),definitionDestinationString:T,definitionLabelString:T,definitionTitleString:T,emphasis:y(ht),hardBreakEscape:y(yt),hardBreakTrailing:y(yt),htmlFlow:y(Fi,T),htmlFlowData:K,htmlText:y(Fi,T),htmlTextData:K,image:y(yi),label:T,link:y(Pa),listItem:y($o),listItemValue:j,listOrdered:y(ta,F),listUnordered:y(ta),paragraph:y(Ar),reference:kt,referenceString:T,resourceDestinationString:T,resourceTitleString:T,setextHeading:y(zr),strong:y(Nn),thematicBreak:y(qn)},exit:{atxHeading:A(),atxHeadingSequence:se,autolink:A(),autolinkEmail:Pt,autolinkProtocol:xt,blockQuote:A(),characterEscapeValue:xe,characterReferenceMarkerHexadecimal:Gt,characterReferenceMarkerNumeric:Gt,characterReferenceValue:ln,codeFenced:A(oe),codeFencedFence:ie,codeFencedFenceInfo:W,codeFencedFenceMeta:ee,codeFlowValue:xe,codeIndented:A(be),codeText:A(Ie),codeTextData:xe,data:xe,definition:A(),definitionDestinationString:ne,definitionLabelString:ge,definitionTitleString:ae,emphasis:A(),hardBreakEscape:A(Be),hardBreakTrailing:A(Be),htmlFlow:A(Ne),htmlFlowData:xe,htmlText:A(je),htmlTextData:xe,image:A(Ce),label:Ke,labelText:ke,lineEnding:U,link:A(Se),listItem:A(),listOrdered:A(),listUnordered:A(),paragraph:A(),referenceString:Et,resourceDestinationString:Ft,resourceTitleString:Pe,resource:gn,setextHeading:A(pe),setextHeadingLineSequence:X,setextHeadingText:de,strong:A(),thematicBreak:A()}};gUe(s,(i||{}).mdastExtensions||[]);const u={};return d;function d(Lt){let wt={type:"root",children:[]};const cn={stack:[wt],tokenStack:[],config:s,enter:_,exit:P,buffer:T,resume:R,setData:v,getData:b},fn=[];let Mn=-1;for(;++Mn0){const mo=cn.tokenStack[cn.tokenStack.length-1];(mo[1]||pUe).call(cn,void 0,mo[0])}for(wt.position={start:N9(Lt.length>0?Lt[0][1].start:{line:1,column:1,offset:0}),end:N9(Lt.length>0?Lt[Lt.length-2][1].end:{line:1,column:1,offset:0})},Mn=-1;++Mn{A!==0&&(p++,d.push([])),_.split(" ").forEach(P=>{P&&d[p].push({content:P,type:y})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(T=>{v(T,b.type)})}return u.forEach(b=>{b.type==="paragraph"&&b.children.forEach(y=>{v(y)})}),d}function OZt(i){const{children:s}=dUe(i);function u(d){return d.type==="text"?d.value.replace(/\n/g,"
"):d.type==="strong"?`${d.children.map(u).join("")}`:d.type==="emphasis"?`${d.children.map(u).join("")}`:d.type==="paragraph"?`

${d.children.map(u).join("")}

`:`Unsupported markdown: ${d.type}`}return s.map(u).join("")}function NZt(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(s=>s.segment):[...i]}function PZt(i,s){const u=NZt(s.content);return bUe(i,[],u,s.type)}function bUe(i,s,u,d){if(u.length===0)return[{content:s.join(""),type:d},{content:"",type:d}];const[p,...v]=u,b=[...s,p];return i([{content:b.join(""),type:d}])?bUe(i,b,v,d):(s.length===0&&p&&(s.push(p),u.shift()),[{content:s.join(""),type:d},{content:u.join(""),type:d}])}function BZt(i,s){if(i.some(({content:u})=>u.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Fme(i,s)}function Fme(i,s,u=[],d=[]){if(i.length===0)return d.length>0&&u.push(d),u.length>0?u:[];let p="";i[0].content===" "&&(p=" ",i.shift());const v=i.shift()??{content:" ",type:"normal"},b=[...d];if(p!==""&&b.push({content:p,type:"normal"}),b.push(v),s(b))return Fme(i,s,u,b);if(d.length>0)u.push(d),i.unshift(v);else if(v.content){const[y,T]=PZt(s,v);u.push([y]),T.content&&i.unshift(T)}return Fme(i,s,u)}function FZt(i,s){s&&i.attr("style",s)}function RZt(i,s,u,d,p=!1){const v=i.append("foreignObject"),b=v.append("xhtml:div"),y=s.label,T=s.isNode?"nodeLabel":"edgeLabel";b.html(` + "+y+""),FZt(b,s.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",u+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),p&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===u&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",u+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function Rme(i,s,u){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",s*u-.1+"em").attr("dy",u+"em")}function jZt(i,s,u){const d=i.append("text"),p=Rme(d,1,s);jme(p,u);const v=p.node().getComputedTextLength();return d.remove(),v}function $Zt(i,s,u){var b;const d=i.append("text"),p=Rme(d,1,s);jme(p,[{content:u,type:"normal"}]);const v=(b=p.node())==null?void 0:b.getBoundingClientRect();return v&&d.remove(),v}function zZt(i,s,u,d=!1){const v=s.append("g"),b=v.insert("rect").attr("class","background"),y=v.append("text").attr("y","-10.1");let T=0;for(const _ of u){const A=R=>jZt(v,1.1,R)<=i,P=A(_)?[_]:BZt(_,A);for(const R of P){const F=Rme(y,T,1.1);jme(F,R),T++}}if(d){const _=y.node().getBBox(),A=2;return b.attr("x",-A).attr("y",-A).attr("width",_.width+2*A).attr("height",_.height+2*A),v.node()}else return y.node()}function jme(i,s){i.text(""),s.forEach((u,d)=>{const p=i.append("tspan").attr("font-style",u.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",u.type==="strong"?"bold":"normal");d===0?p.text(u.content):p.text(" "+u.content)})}const ZQ=(i,s="",{style:u="",isTitle:d=!1,classes:p="",useHtmlLabels:v=!0,isNode:b=!0,width:y=200,addSvgBackground:T=!1}={})=>{if(Xe.info("createText",s,u,d,p,v,b,T),v){const _=OZt(s),A={isNode:b,label:tR(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>``),labelStyle:u.replace("fill:","color:")};return RZt(i,A,y,p,T)}else{const _=IZt(s);return zZt(y,i,_,T)}},f1=async(i,s,u,d)=>{let p;const v=s.useHtmlLabels||l1(qt().flowchart.htmlLabels);u?p=u:p="node default";const b=i.insert("g").attr("class",p).attr("id",s.domId||s.id),y=b.insert("g").attr("class","label").attr("style",s.labelStyle);let T;s.labelText===void 0?T="":T=typeof s.labelText=="string"?s.labelText:s.labelText[0];const _=y.node();let A;s.labelType==="markdown"?A=ZQ(y,Wf(tR(T),qt()),{useHtmlLabels:v,width:s.width||qt().flowchart.wrappingWidth,classes:"markdown-node-label"}):A=_.appendChild(z2(Wf(tR(T),qt()),s.labelStyle,!1,d));let P=A.getBBox();const R=s.padding/2;if(l1(qt().flowchart.htmlLabels)){const F=A.children[0],j=Ir(A),W=F.getElementsByTagName("img");if(W){const ee=T.replace(/]*>/g,"").trim()==="";await Promise.all([...W].map(ie=>new Promise(oe=>{function be(){if(ie.style.display="flex",ie.style.flexDirection="column",ee){const ge=qt().fontSize?qt().fontSize:window.getComputedStyle(document.body).fontSize,ae=5,ne=parseInt(ge,10)*ae+"px";ie.style.minWidth=ne,ie.style.maxWidth=ne}else ie.style.width="100%";oe(ie)}setTimeout(()=>{ie.complete&&be()}),ie.addEventListener("error",be),ie.addEventListener("load",be)})))}P=F.getBoundingClientRect(),j.attr("width",P.width),j.attr("height",P.height)}return v?y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"):y.attr("transform","translate(0, "+-P.height/2+")"),s.centerLabel&&y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),y.insert("rect",":first-child"),{shapeSvg:b,bbox:P,halfPadding:R,label:y}},Wh=(i,s)=>{const u=s.node().getBBox();i.width=u.width,i.height=u.height};function r5(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-s/2+","+u/2+")")}let Ao={},U3={},mUe={};const qZt=()=>{U3={},mUe={},Ao={}},eJ=(i,s)=>(Xe.trace("In isDescendant",s," ",i," = ",U3[s].includes(i)),!!U3[s].includes(i)),HZt=(i,s)=>(Xe.info("Descendants of ",s," is ",U3[s]),Xe.info("Edge is ",i),i.v===s||i.w===s?!1:U3[s]?U3[s].includes(i.v)||eJ(i.v,s)||eJ(i.w,s)||U3[s].includes(i.w):(Xe.debug("Tilt, ",s,",not in descendants"),!1)),vUe=(i,s,u,d)=>{Xe.warn("Copying children of ",i,"root",d,"data",s.node(i),d);const p=s.children(i)||[];i!==d&&p.push(i),Xe.warn("Copying (nodes) clusterId",i,"nodes",p),p.forEach(v=>{if(s.children(v).length>0)vUe(v,s,u,d);else{const b=s.node(v);Xe.info("cp ",v," to ",d," with parent ",i),u.setNode(v,b),d!==s.parent(v)&&(Xe.warn("Setting parent",v,s.parent(v)),u.setParent(v,s.parent(v))),i!==d&&v!==i?(Xe.debug("Setting parent",v,i),u.setParent(v,i)):(Xe.info("In copy ",i,"root",d,"data",s.node(i),d),Xe.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==d,"node!==clusterId",v!==i));const y=s.edges(v);Xe.debug("Copying Edges",y),y.forEach(T=>{Xe.info("Edge",T);const _=s.edge(T.v,T.w,T.name);Xe.info("Edge data",_,d);try{HZt(T,d)?(Xe.info("Copying as ",T.v,T.w,_,T.name),u.setEdge(T.v,T.w,_,T.name),Xe.info("newGraph edges ",u.edges(),u.edge(u.edges()[0]))):Xe.info("Skipping copy of edge ",T.v,"-->",T.w," rootId: ",d," clusterId:",i)}catch(A){Xe.error(A)}})}Xe.debug("Removing node",v),s.removeNode(v)})},wUe=(i,s)=>{const u=s.children(i);let d=[...u];for(const p of u)mUe[p]=i,d=[...d,...wUe(p,s)];return d},DR=(i,s)=>{Xe.trace("Searching",i);const u=s.children(i);if(Xe.trace("Searching children of id ",i,u),u.length<1)return Xe.trace("This is a valid node",i),i;for(const d of u){const p=DR(d,s);if(p)return Xe.trace("Found replacement for",i," => ",p),p}},tJ=i=>!Ao[i]||!Ao[i].externalConnections?i:Ao[i]?Ao[i].id:i,VZt=(i,s)=>{if(!i||s>10){Xe.debug("Opting out, no graph ");return}else Xe.debug("Opting in, graph ");i.nodes().forEach(function(u){i.children(u).length>0&&(Xe.warn("Cluster identified",u," Replacement id in edges: ",DR(u,i)),U3[u]=wUe(u,i),Ao[u]={id:DR(u,i),clusterData:i.node(u)})}),i.nodes().forEach(function(u){const d=i.children(u),p=i.edges();d.length>0?(Xe.debug("Cluster identified",u,U3),p.forEach(v=>{if(v.v!==u&&v.w!==u){const b=eJ(v.v,u),y=eJ(v.w,u);b^y&&(Xe.warn("Edge: ",v," leaves cluster ",u),Xe.warn("Descendants of XXX ",u,": ",U3[u]),Ao[u].externalConnections=!0)}})):Xe.debug("Not a cluster ",u,U3)});for(let u of Object.keys(Ao)){const d=Ao[u].id,p=i.parent(d);p!==u&&Ao[p]&&!Ao[p].externalConnections&&(Ao[u].id=p)}i.edges().forEach(function(u){const d=i.edge(u);Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(u)),Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(i.edge(u)));let p=u.v,v=u.w;if(Xe.warn("Fix XXX",Ao,"ids:",u.v,u.w,"Translating: ",Ao[u.v]," --- ",Ao[u.w]),Ao[u.v]&&Ao[u.w]&&Ao[u.v]===Ao[u.w]){Xe.warn("Fixing and trixing link to self - removing XXX",u.v,u.w,u.name),Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=tJ(u.v),v=tJ(u.w),i.removeEdge(u.v,u.w,u.name);const b=u.w+"---"+u.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:d.label,padding:0,shape:"labelRect",style:""});const y=structuredClone(d),T=structuredClone(d);y.label="",y.arrowTypeEnd="none",T.label="",y.fromCluster=u.v,T.toCluster=u.v,i.setEdge(p,b,y,u.name+"-cyclic-special"),i.setEdge(b,v,T,u.name+"-cyclic-special")}else if(Ao[u.v]||Ao[u.w]){if(Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=tJ(u.v),v=tJ(u.w),i.removeEdge(u.v,u.w,u.name),p!==u.v){const b=i.parent(p);Ao[b].externalConnections=!0,d.fromCluster=u.v}if(v!==u.w){const b=i.parent(v);Ao[b].externalConnections=!0,d.toCluster=u.w}Xe.warn("Fix Replacing with XXX",p,v,u.name),i.setEdge(p,v,d,u.name)}}),Xe.warn("Adjusted Graph",q7(i)),yUe(i,0),Xe.trace(Ao)},yUe=(i,s)=>{if(Xe.warn("extractor - ",s,q7(i),i.children("D")),s>10){Xe.error("Bailing out");return}let u=i.nodes(),d=!1;for(const p of u){const v=i.children(p);d=d||v.length>0}if(!d){Xe.debug("Done, no node has children",i.nodes());return}Xe.debug("Nodes = ",u,s);for(const p of u)if(Xe.debug("Extracting node",p,Ao,Ao[p]&&!Ao[p].externalConnections,!i.parent(p),i.node(p),i.children("D")," Depth ",s),!Ao[p])Xe.debug("Not a cluster",p,s);else if(!Ao[p].externalConnections&&i.children(p)&&i.children(p).length>0){Xe.warn("Cluster without external connections, without a parent and with children",p,s);let b=i.graph().rankdir==="TB"?"LR":"TB";Ao[p]&&Ao[p].clusterData&&Ao[p].clusterData.dir&&(b=Ao[p].clusterData.dir,Xe.warn("Fixing dir",Ao[p].clusterData.dir,b));const y=new P0({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Xe.warn("Old graph before copy",q7(i)),vUe(p,i,y,p),i.setNode(p,{clusterNode:!0,id:p,clusterData:Ao[p].clusterData,labelText:Ao[p].labelText,graph:y}),Xe.warn("New graph after copy node: (",p,")",q7(y)),Xe.debug("Old graph after copy",q7(i))}else Xe.warn("Cluster ** ",p," **not meeting the criteria !externalConnections:",!Ao[p].externalConnections," no parent: ",!i.parent(p)," children ",i.children(p)&&i.children(p).length>0,i.children("D"),s),Xe.debug(Ao);u=i.nodes(),Xe.warn("New list of nodes",u);for(const p of u){const v=i.node(p);Xe.warn(" Now next level",p,v),v.clusterNode&&yUe(v.graph,s+1)}},xUe=(i,s)=>{if(s.length===0)return[];let u=Object.assign(s);return s.forEach(d=>{const p=i.children(d),v=xUe(i,p);u=[...u,...v]}),u},UZt=i=>xUe(i,i.children());function GZt(i,s){return i.intersect(s)}function kUe(i,s,u,d){var p=i.x,v=i.y,b=p-d.x,y=v-d.y,T=Math.sqrt(s*s*y*y+u*u*b*b),_=Math.abs(s*u*b/T);d.x0}function YZt(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;typeof s.forEach=="function"?s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)}):(b=Math.min(b,s.x),y=Math.min(y,s.y));for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oe{var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2,T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}},kh={node:GZt,circle:KZt,ellipse:kUe,polygon:YZt,rect:IR},XZt=async(i,s)=>{s.useHtmlLabels||qt().flowchart.htmlLabels||(s.centerLabel=!0);const{shapeSvg:d,bbox:p,halfPadding:v}=await f1(i,s,"node "+s.classes,!0);Xe.info("Classes = ",s.classes);const b=d.insert("rect",":first-child");return b.attr("rx",s.rx).attr("ry",s.ry).attr("x",-p.width/2-v).attr("y",-p.height/2-v).attr("width",p.width+s.padding).attr("height",p.height+s.padding),Wh(s,b),s.intersect=function(y){return kh.rect(s,y)},d},QZt=i=>{const s=new Set;for(const u of i)switch(u){case"x":s.add("right"),s.add("left");break;case"y":s.add("up"),s.add("down");break;default:s.add(u);break}return s},JZt=(i,s,u)=>{const d=QZt(i),p=2,v=s.height+2*u.padding,b=v/p,y=s.width+2*b+u.padding,T=u.padding/2;return d.has("right")&&d.has("left")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:b,y:0},{x:y/2,y:2*T},{x:y-b,y:0},{x:y,y:0},{x:y,y:-v/3},{x:y+2*T,y:-v/2},{x:y,y:-2*v/3},{x:y,y:-v},{x:y-b,y:-v},{x:y/2,y:-v-2*T},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*T,y:-v/2},{x:0,y:-v/3}]:d.has("right")&&d.has("left")&&d.has("up")?[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:d.has("right")&&d.has("left")&&d.has("down")?[{x:0,y:0},{x:b,y:-v},{x:y-b,y:-v},{x:y,y:0}]:d.has("right")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:y,y:-b},{x:y,y:-v+b},{x:0,y:-v}]:d.has("left")&&d.has("up")&&d.has("down")?[{x:y,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:y,y:-v}]:d.has("right")&&d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")&&d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:d.has("right")&&d.has("up")?[{x:0,y:0},{x:y,y:-b},{x:0,y:-v}]:d.has("right")&&d.has("down")?[{x:0,y:0},{x:y,y:0},{x:0,y:-v}]:d.has("left")&&d.has("up")?[{x:y,y:0},{x:0,y:-b},{x:y,y:-v}]:d.has("left")&&d.has("down")?[{x:y,y:0},{x:0,y:0},{x:y,y:-v}]:d.has("right")?[{x:b,y:-T},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v+T}]:d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")?[{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T}]:d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:[{x:0,y:0}]},TUe=i=>i?" "+i:"",dm=(i,s)=>`${s||"node default"}${TUe(i.classes)} ${TUe(i.class)}`,CUe=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=p+v,y=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Xe.info("Question main (Circle)");const T=r5(u,b,b,y);return T.attr("style",s.style),Wh(s,T),s.intersect=function(_){return Xe.warn("Intersect called"),kh.polygon(s,y,_)},u},ZZt=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=28,p=[{x:0,y:d/2},{x:d/2,y:0},{x:0,y:-d/2},{x:-d/2,y:0}];return u.insert("polygon",":first-child").attr("points",p.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),s.width=28,s.height=28,s.intersect=function(b){return kh.circle(s,14,b)},u},een=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=4,v=d.height+s.padding,b=v/p,y=d.width+2*b+s.padding,T=[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=r5(u,y,v,T);return _.attr("style",s.style),Wh(s,_),s.intersect=function(A){return kh.polygon(s,T,A)},u},ten=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,void 0,!0),p=2,v=d.height+2*s.padding,b=v/p,y=d.width+2*b+s.padding,T=JZt(s.directions,d,s),_=r5(u,y,v,T);return _.attr("style",s.style),Wh(s,_),s.intersect=function(A){return kh.polygon(s,T,A)},u},nen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return r5(u,p,v,b).attr("style",s.style),s.width=p+v,s.height=v,s.intersect=function(T){return kh.polygon(s,b,T)},u},ren=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return kh.polygon(s,b,T)},u},ien=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return kh.polygon(s,b,T)},u},sen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return kh.polygon(s,b,T)},u},aen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return kh.polygon(s,b,T)},u},oen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],y=r5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return kh.polygon(s,b,T)},u},cen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=p/2,b=v/(2.5+p/50),y=d.height+b+s.padding,T="M 0,"+b+" a "+v+","+b+" 0,0,0 "+p+" 0 a "+v+","+b+" 0,0,0 "+-p+" 0 l 0,"+y+" a "+v+","+b+" 0,0,0 "+p+" 0 l 0,"+-y,_=u.attr("label-offset-y",b).insert("path",":first-child").attr("style",s.style).attr("d",T).attr("transform","translate("+-p/2+","+-(y/2+b)+")");return Wh(s,_),s.intersect=function(A){const P=kh.rect(s,A),R=P.x-s.x;if(v!=0&&(Math.abs(R)s.height/2-b)){let F=b*b*(1-R*R/(v*v));F!=0&&(F=Math.sqrt(F)),F=b-F,A.y-s.y>0&&(F=-F),P.y+=F}return P},u},uen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await f1(i,s,"node "+s.classes+" "+s.class,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&($me(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Wh(s,v),s.intersect=function(A){return kh.rect(s,A)},u},len=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await f1(i,s,"node "+s.classes,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic cluster composite label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&($me(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Wh(s,v),s.intersect=function(A){return kh.rect(s,A)},u},hen=async(i,s)=>{const{shapeSvg:u}=await f1(i,s,"label",!0);Xe.trace("Classes = ",s.class);const d=u.insert("rect",":first-child"),p=0,v=0;if(d.attr("width",p).attr("height",v),u.attr("class","label edgeLabel"),s.props){const b=new Set(Object.keys(s.props));s.props.borders&&($me(d,s.props.borders,p,v),b.delete("borders")),b.forEach(y=>{Xe.warn(`Unknown node property ${y}`)})}return Wh(s,d),s.intersect=function(b){return kh.rect(s,b)},u};function $me(i,s,u,d){const p=[],v=y=>{p.push(y,0)},b=y=>{p.push(0,y)};s.includes("t")?(Xe.debug("add top border"),v(u)):b(u),s.includes("r")?(Xe.debug("add right border"),v(d)):b(d),s.includes("b")?(Xe.debug("add bottom border"),v(u)):b(u),s.includes("l")?(Xe.debug("add left border"),v(d)):b(d),i.attr("stroke-dasharray",p.join(" "))}const fen=(i,s)=>{let u;s.classes?u="node "+s.classes:u="node default";const d=i.insert("g").attr("class",u).attr("id",s.domId||s.id),p=d.insert("rect",":first-child"),v=d.insert("line"),b=d.insert("g").attr("class","label"),y=s.labelText.flat?s.labelText.flat():s.labelText;let T="";typeof y=="object"?T=y[0]:T=y,Xe.info("Label text abc79",T,y,typeof y=="object");const _=b.node().appendChild(z2(T,s.labelStyle,!0,!0));let A={width:0,height:0};if(l1(qt().flowchart.htmlLabels)){const W=_.children[0],ee=Ir(_);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}Xe.info("Text 2",y);const P=y.slice(1,y.length);let R=_.getBBox();const F=b.node().appendChild(z2(P.join?P.join("
"):P,s.labelStyle,!0,!0));if(l1(qt().flowchart.htmlLabels)){const W=F.children[0],ee=Ir(F);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}const j=s.padding/2;return Ir(F).attr("transform","translate( "+(A.width>R.width?0:(R.width-A.width)/2)+", "+(R.height+j+5)+")"),Ir(_).attr("transform","translate( "+(A.width{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.height+s.padding,v=d.width+p/4+s.padding,b=u.insert("rect",":first-child").attr("style",s.style).attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return Wh(s,b),s.intersect=function(y){return kh.rect(s,y)},u},gen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await f1(i,s,dm(s,void 0),!0),v=u.insert("circle",":first-child");return v.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("Circle main"),Wh(s,v),s.intersect=function(b){return Xe.info("Circle intersect",s,d.width/2+p,b),kh.circle(s,d.width/2+p,b)},u},pen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await f1(i,s,dm(s,void 0),!0),v=5,b=u.insert("g",":first-child"),y=b.insert("circle"),T=b.insert("circle");return b.attr("class",s.class),y.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p+v).attr("width",d.width+s.padding+v*2).attr("height",d.height+s.padding+v*2),T.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("DoubleCircle main"),Wh(s,y),s.intersect=function(_){return Xe.info("DoubleCircle intersect",s,d.width/2+p+v,_),kh.circle(s,d.width/2+p+v,_)},u},ben=async(i,s)=>{const{shapeSvg:u,bbox:d}=await f1(i,s,dm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],y=r5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return kh.polygon(s,b,T)},u},men=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child");return d.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Wh(s,d),s.intersect=function(p){return kh.circle(s,7,p)},u},SUe=(i,s,u)=>{const d=i.insert("g").attr("class","node default").attr("id",s.domId||s.id);let p=70,v=10;u==="LR"&&(p=10,v=70);const b=d.append("rect").attr("x",-1*p/2).attr("y",-1*v/2).attr("width",p).attr("height",v).attr("class","fork-join");return Wh(s,b),s.height=s.height+s.padding/2,s.width=s.width+s.padding/2,s.intersect=function(y){return kh.rect(s,y)},d},_Ue={rhombus:CUe,composite:len,question:CUe,rect:uen,labelRect:hen,rectWithTitle:fen,choice:ZZt,circle:gen,doublecircle:pen,stadium:den,hexagon:een,block_arrow:ten,rect_left_inv_arrow:nen,lean_right:ren,lean_left:ien,trapezoid:sen,inv_trapezoid:aen,rect_right_inv_arrow:oen,cylinder:cen,start:men,end:(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child"),p=u.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),d.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Wh(s,p),s.intersect=function(v){return kh.circle(s,7,v)},u},note:XZt,subroutine:ben,fork:SUe,join:SUe,class_box:(i,s)=>{const u=s.padding/2,d=4,p=8;let v;s.classes?v="node "+s.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",s.domId||s.id),y=b.insert("rect",":first-child"),T=b.insert("line"),_=b.insert("line");let A=0,P=d;const R=b.insert("g").attr("class","label");let F=0;const j=s.classData.annotations&&s.classData.annotations[0],W=s.classData.annotations[0]?"«"+s.classData.annotations[0]+"»":"",ee=R.node().appendChild(z2(W,s.labelStyle,!0,!0));let ie=ee.getBBox();if(l1(qt().flowchart.htmlLabels)){const de=ee.children[0],X=Ir(ee);ie=de.getBoundingClientRect(),X.attr("width",ie.width),X.attr("height",ie.height)}s.classData.annotations[0]&&(P+=ie.height+d,A+=ie.width);let oe=s.classData.label;s.classData.type!==void 0&&s.classData.type!==""&&(qt().flowchart.htmlLabels?oe+="<"+s.classData.type+">":oe+="<"+s.classData.type+">");const be=R.node().appendChild(z2(oe,s.labelStyle,!0,!0));Ir(be).attr("class","classTitle");let ge=be.getBBox();if(l1(qt().flowchart.htmlLabels)){const de=be.children[0],X=Ir(be);ge=de.getBoundingClientRect(),X.attr("width",ge.width),X.attr("height",ge.height)}P+=ge.height+d,ge.width>A&&(A=ge.width);const ae=[];s.classData.members.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(//g,">"));const K=R.node().appendChild(z2(pe,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=K.getBBox();if(l1(qt().flowchart.htmlLabels)){const U=K.children[0],Be=Ir(K);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ae.push(K)}),P+=p;const ne=[];if(s.classData.methods.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(//g,">"));const K=R.node().appendChild(z2(pe,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=K.getBBox();if(l1(qt().flowchart.htmlLabels)){const U=K.children[0],Be=Ir(K);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ne.push(K)}),P+=p,j){let de=(A-ie.width)/2;Ir(ee).attr("transform","translate( "+(-1*A/2+de)+", "+-1*P/2+")"),F=ie.height+d}let se=(A-ge.width)/2;return Ir(be).attr("transform","translate( "+(-1*A/2+se)+", "+(-1*P/2+F)+")"),F+=ge.height+d,T.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ae.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F+p/2)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),F+=p,_.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ne.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),y.attr("style",s.style).attr("class","outer title-state").attr("x",-A/2-u).attr("y",-(P/2)-u).attr("width",A+s.padding).attr("height",P+s.padding),Wh(s,y),s.intersect=function(de){return kh.rect(s,de)},b}};let VD={};const nJ=async(i,s,u)=>{let d,p;if(s.link){let v;qt().securityLevel==="sandbox"?v="_top":s.linkTarget&&(v=s.linkTarget||"_blank"),d=i.insert("svg:a").attr("xlink:href",s.link).attr("target",v),p=await _Ue[s.shape](d,s,u)}else p=await _Ue[s.shape](i,s,u),d=p;return s.tooltip&&p.attr("title",s.tooltip),s.class&&p.attr("class","node default "+s.class),d.attr("data-node","true"),d.attr("data-id",s.id),VD[s.id]=d,s.haveCallback&&VD[s.id].attr("class",VD[s.id].attr("class")+" clickable"),d},ven=(i,s)=>{VD[s.id]=i},wen=()=>{VD={}},zme=i=>{const s=VD[i.id];Xe.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const u=8,d=i.diff||0;return i.clusterNode?s.attr("transform","translate("+(i.x+d-i.width/2)+", "+(i.y-i.height/2-u)+")"):s.attr("transform","translate("+i.x+", "+i.y+")"),d},rJ=({flowchart:i})=>{var p,v;const s=((p=i==null?void 0:i.subGraphTitleMargin)==null?void 0:p.top)??0,u=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,d=s+u;return{subGraphTitleTopMargin:s,subGraphTitleBottomMargin:u,subGraphTitleTotalMargin:d}},yen={rect:(i,s)=>{Xe.info("Creating subgraph rect for ",s.id,s);const u=qt(),d=i.insert("g").attr("class","cluster"+(s.class?" "+s.class:"")).attr("id",s.id),p=d.insert("rect",":first-child"),v=l1(u.flowchart.htmlLabels),b=d.insert("g").attr("class","cluster-label"),y=s.labelType==="markdown"?ZQ(b,s.labelText,{style:s.labelStyle,useHtmlLabels:v}):b.node().appendChild(z2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(l1(u.flowchart.htmlLabels)){const j=y.children[0],W=Ir(y);T=j.getBoundingClientRect(),W.attr("width",T.width),W.attr("height",T.height)}const _=0*s.padding,A=_/2,P=s.width<=T.width+_?T.width+_:s.width;s.width<=T.width+_?s.diff=(T.width-s.width)/2-s.padding/2:s.diff=-s.padding/2,Xe.trace("Data ",s,JSON.stringify(s)),p.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-P/2).attr("y",s.y-s.height/2-A).attr("width",P).attr("height",s.height+_);const{subGraphTitleTopMargin:R}=rJ(u);v?b.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2+R})`):b.attr("transform",`translate(${s.x}, ${s.y-s.height/2+R})`);const F=p.node().getBBox();return s.width=F.width,s.height=F.height,s.intersect=function(j){return IR(s,j)},d},roundedWithTitle:(i,s)=>{const u=qt(),d=i.insert("g").attr("class",s.classes).attr("id",s.id),p=d.insert("rect",":first-child"),v=d.insert("g").attr("class","cluster-label"),b=d.append("rect"),y=v.node().appendChild(z2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(l1(u.flowchart.htmlLabels)){const j=y.children[0],W=Ir(y);T=j.getBoundingClientRect(),W.attr("width",T.width),W.attr("height",T.height)}T=y.getBBox();const _=0*s.padding,A=_/2,P=s.width<=T.width+s.padding?T.width+s.padding:s.width;s.width<=T.width+s.padding?s.diff=(T.width+s.padding*0-s.width)/2:s.diff=-s.padding/2,p.attr("class","outer").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A).attr("width",P+_).attr("height",s.height+_),b.attr("class","inner").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A+T.height-1).attr("width",P+_).attr("height",s.height+_-T.height-3);const{subGraphTitleTopMargin:R}=rJ(u);v.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2-s.padding/3+(l1(u.flowchart.htmlLabels)?5:3)+R})`);const F=p.node().getBBox();return s.height=F.height,s.intersect=function(j){return IR(s,j)},d},noteGroup:(i,s)=>{const u=i.insert("g").attr("class","note-cluster").attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2-v).attr("width",s.width+p).attr("height",s.height+p).attr("fill","none");const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.intersect=function(y){return IR(s,y)},u},divider:(i,s)=>{const u=i.insert("g").attr("class",s.classes).attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("class","divider").attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2).attr("width",s.width+p).attr("height",s.height+p);const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.diff=-s.padding/2,s.intersect=function(y){return IR(s,y)},u}};let AUe={};const xen=(i,s)=>{Xe.trace("Inserting cluster");const u=s.shape||"rect";AUe[s.id]=yen[u](i,s)},ken=()=>{AUe={}},P9={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function iJ(i,s){if(i===void 0||s===void 0)return{angle:0,deltaX:0,deltaY:0};i=sJ(i),s=sJ(s);const[u,d]=[i.x,i.y],[p,v]=[s.x,s.y],b=p-u,y=v-d;return{angle:Math.atan(y/b),deltaX:b,deltaY:y}}const sJ=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,LUe=i=>({x:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(P9,i.arrowTypeStart)){const{angle:v,deltaX:b}=iJ(d[0],d[1]);p=P9[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(P9,i.arrowTypeEnd)){const{angle:v,deltaX:b}=iJ(d[d.length-1],d[d.length-2]);p=P9[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return sJ(s).x+p},y:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(P9,i.arrowTypeStart)){const{angle:v,deltaY:b}=iJ(d[0],d[1]);p=P9[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(P9,i.arrowTypeEnd)){const{angle:v,deltaY:b}=iJ(d[d.length-1],d[d.length-2]);p=P9[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return sJ(s).y+p}}),MUe=(i,s,u,d,p)=>{s.arrowTypeStart&&DUe(i,"start",s.arrowTypeStart,u,d,p),s.arrowTypeEnd&&DUe(i,"end",s.arrowTypeEnd,u,d,p)},Een={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},DUe=(i,s,u,d,p,v)=>{const b=Een[u];if(!b){Xe.warn(`Unknown arrow type: ${u}`);return}const y=s==="start"?"Start":"End";i.attr(`marker-${s}`,`url(${d}#${p}_${v}-${b}${y})`)};let aJ={},zd={};const Ten=()=>{aJ={},zd={}},qme=(i,s)=>{const u=l1(qt().flowchart.htmlLabels),d=s.labelType==="markdown"?ZQ(i,s.label,{style:s.labelStyle,useHtmlLabels:u,addSvgBackground:!0}):z2(s.label,s.labelStyle),p=i.insert("g").attr("class","edgeLabel"),v=p.insert("g").attr("class","label");v.node().appendChild(d);let b=d.getBBox();if(u){const T=d.children[0],_=Ir(d);b=T.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),aJ[s.id]=p,s.width=b.width,s.height=b.height;let y;if(s.startLabelLeft){const T=z2(s.startLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),zd[s.id]||(zd[s.id]={}),zd[s.id].startLeft=_,oJ(y,s.startLabelLeft)}if(s.startLabelRight){const T=z2(s.startLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=_.node().appendChild(T),A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),zd[s.id]||(zd[s.id]={}),zd[s.id].startRight=_,oJ(y,s.startLabelRight)}if(s.endLabelLeft){const T=z2(s.endLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),zd[s.id]||(zd[s.id]={}),zd[s.id].endLeft=_,oJ(y,s.endLabelLeft)}if(s.endLabelRight){const T=z2(s.endLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),zd[s.id]||(zd[s.id]={}),zd[s.id].endRight=_,oJ(y,s.endLabelRight)}return d};function oJ(i,s){qt().flowchart.htmlLabels&&i&&(i.style.width=s.length*9+"px",i.style.height="12px")}const IUe=(i,s)=>{Xe.debug("Moving label abc88 ",i.id,i.label,aJ[i.id],s);let u=s.updatedPath?s.updatedPath:s.originalPath;const d=qt(),{subGraphTitleTotalMargin:p}=rJ(d);if(i.label){const v=aJ[i.id];let b=i.x,y=i.y;if(u){const T=So.calcLabelPosition(u);Xe.debug("Moving label "+i.label+" from (",b,",",y,") to (",T.x,",",T.y,") abc88"),s.updatedPath&&(b=T.x,y=T.y)}v.attr("transform",`translate(${b}, ${y+p/2})`)}if(i.startLabelLeft){const v=zd[i.id].startLeft;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.startLabelRight){const v=zd[i.id].startRight;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelLeft){const v=zd[i.id].endLeft;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelRight){const v=zd[i.id].endRight;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}},Cen=(i,s)=>{const u=i.x,d=i.y,p=Math.abs(s.x-u),v=Math.abs(s.y-d),b=i.width/2,y=i.height/2;return p>=b||v>=y},Sen=(i,s,u)=>{Xe.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(s)} + insidePoint : ${JSON.stringify(u)} + node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const d=i.x,p=i.y,v=Math.abs(d-u.x),b=i.width/2;let y=u.xMath.abs(d-s.x)*T){let P=u.y{Xe.debug("abc88 cutPathAtIntersect",i,s);let u=[],d=i[0],p=!1;return i.forEach(v=>{if(!Cen(s,v)&&!p){const b=Sen(s,d,v);let y=!1;u.forEach(T=>{y=y||T.x===b.x&&T.y===b.y}),u.some(T=>T.x===b.x&&T.y===b.y)||u.push(b),p=!0}else d=v,p||u.push(v)}),u},NUe=function(i,s,u,d,p,v,b){let y=u.points;Xe.debug("abc88 InsertEdge: edge=",u,"e=",s);let T=!1;const _=v.node(s.v);var A=v.node(s.w);A!=null&&A.intersect&&(_!=null&&_.intersect)&&(y=y.slice(1,u.points.length-1),y.unshift(_.intersect(y[0])),y.push(A.intersect(y[y.length-1]))),u.toCluster&&(Xe.debug("to cluster abc88",d[u.toCluster]),y=OUe(u.points,d[u.toCluster].node),T=!0),u.fromCluster&&(Xe.debug("from cluster abc88",d[u.fromCluster]),y=OUe(y.reverse(),d[u.fromCluster].node).reverse(),T=!0);const P=y.filter(ge=>!Number.isNaN(ge.y));let R=FF;u.curve&&(p==="graph"||p==="flowchart")&&(R=u.curve);const{x:F,y:j}=LUe(u),W=k7().x(F).y(j).curve(R);let ee;switch(u.thickness){case"normal":ee="edge-thickness-normal";break;case"thick":ee="edge-thickness-thick";break;case"invisible":ee="edge-thickness-thick";break;default:ee=""}switch(u.pattern){case"solid":ee+=" edge-pattern-solid";break;case"dotted":ee+=" edge-pattern-dotted";break;case"dashed":ee+=" edge-pattern-dashed";break}const ie=i.append("path").attr("d",W(P)).attr("id",u.id).attr("class"," "+ee+(u.classes?" "+u.classes:"")).attr("style",u.style);let oe="";(qt().flowchart.arrowMarkerAbsolute||qt().state.arrowMarkerAbsolute)&&(oe=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,oe=oe.replace(/\(/g,"\\("),oe=oe.replace(/\)/g,"\\)")),MUe(ie,u,oe,b,p);let be={};return T&&(be.updatedPath=y),be.originalPath=u.points,be},PUe=async(i,s,u,d,p,v)=>{Xe.info("Graph in recursive render: XXX",q7(s),p);const b=s.graph().rankdir;Xe.trace("Dir in recursive render - dir:",b);const y=i.insert("g").attr("class","root");s.nodes()?Xe.info("Recursive render XXX",s.nodes()):Xe.info("No nodes found for",s),s.edges().length>0&&Xe.trace("Recursive edges",s.edge(s.edges()[0]));const T=y.insert("g").attr("class","clusters"),_=y.insert("g").attr("class","edgePaths"),A=y.insert("g").attr("class","edgeLabels"),P=y.insert("g").attr("class","nodes");await Promise.all(s.nodes().map(async function(j){const W=s.node(j);if(p!==void 0){const ee=JSON.parse(JSON.stringify(p.clusterData));Xe.info("Setting data for cluster XXX (",j,") ",ee,p),s.setNode(p.id,ee),s.parent(j)||(Xe.trace("Setting parent",j,p.id),s.setParent(j,p.id,ee))}if(Xe.info("(Insert) Node XXX"+j+": "+JSON.stringify(s.node(j))),W&&W.clusterNode){Xe.info("Cluster identified",j,W.width,s.node(j));const ee=await PUe(P,W.graph,u,d,s.node(j),v),ie=ee.elem;Wh(W,ie),W.diff=ee.diff||0,Xe.info("Node bounds (abc123)",j,W,W.width,W.x,W.y),ven(ie,W),Xe.warn("Recursive render complete ",ie,W)}else s.children(j).length>0?(Xe.info("Cluster - the non recursive path XXX",j,W.id,W,s),Xe.info(DR(W.id,s)),Ao[W.id]={id:DR(W.id,s),node:W}):(Xe.info("Node - the non recursive path",j,W.id,W),await nJ(P,s.node(j),b))})),s.edges().forEach(function(j){const W=s.edge(j.v,j.w,j.name);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j)),Xe.info("Edge "+j.v+" -> "+j.w+": ",j," ",JSON.stringify(s.edge(j))),Xe.info("Fix",Ao,"ids:",j.v,j.w,"Translating: ",Ao[j.v],Ao[j.w]),qme(A,W)}),s.edges().forEach(function(j){Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j))}),Xe.info("#############################################"),Xe.info("### Layout ###"),Xe.info("#############################################"),Xe.info(s),qD(s),Xe.info("Graph after layout:",q7(s));let R=0;const{subGraphTitleTotalMargin:F}=rJ(v);return UZt(s).forEach(function(j){const W=s.node(j);Xe.info("Position "+j+": "+JSON.stringify(s.node(j))),Xe.info("Position "+j+": ("+W.x,","+W.y,") width: ",W.width," height: ",W.height),W&&W.clusterNode?(W.y+=F,zme(W)):s.children(j).length>0?(W.height+=F,xen(T,W),Ao[W.id].node=W):(W.y+=F/2,zme(W))}),s.edges().forEach(function(j){const W=s.edge(j);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(W),W),W.points.forEach(ie=>ie.y+=F/2);const ee=NUe(_,j,W,Ao,u,s,d);IUe(W,ee)}),s.nodes().forEach(function(j){const W=s.node(j);Xe.info(j,W.type,W.diff),W.type==="group"&&(R=W.diff)}),{elem:y,diff:R}},Hme=async(i,s,u,d,p)=>{_me(i,u,d,p),wen(),Ten(),ken(),qZt(),Xe.warn("Graph at first:",JSON.stringify(q7(s))),VZt(s),Xe.warn("Graph after:",JSON.stringify(q7(s)));const v=qt();await PUe(i,s,d,p,void 0,v)},BUe={},_en=function(i){const s=Object.keys(i);for(const u of s)BUe[u]=i[u]},FUe=async function(i,s,u,d,p,v){const b=d.select(`[id="${u}"]`),y=Object.keys(i);for(const T of y){const _=i[T];let A="default";_.classes.length>0&&(A=_.classes.join(" ")),A=A+" flowchart-label";const P=om(_.styles);let R=_.text!==void 0?_.text:_.id,F;if(Xe.info("vertex",_,_.labelType),_.labelType==="markdown")Xe.info("vertex",_,_.labelType);else if(l1(qt().flowchart.htmlLabels))F=wme(b,{label:R}).node(),F.parentNode.removeChild(F);else{const ie=p.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",P.labelStyle.replace("color:","fill:"));const oe=R.split(ci.lineBreakRegex);for(const be of oe){const ge=p.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}F=ie}let j=0,W="";switch(_.type){case"round":j=5,W="rect";break;case"square":W="rect";break;case"diamond":W="question";break;case"hexagon":W="hexagon";break;case"odd":W="rect_left_inv_arrow";break;case"lean_right":W="lean_right";break;case"lean_left":W="lean_left";break;case"trapezoid":W="trapezoid";break;case"inv_trapezoid":W="inv_trapezoid";break;case"odd_right":W="rect_left_inv_arrow";break;case"circle":W="circle";break;case"ellipse":W="ellipse";break;case"stadium":W="stadium";break;case"subroutine":W="subroutine";break;case"cylinder":W="cylinder";break;case"group":W="rect";break;case"doublecircle":W="doublecircle";break;default:W="rect"}const ee=await CC(R,qt());s.setNode(_.id,{labelStyle:P.labelStyle,shape:W,labelText:ee,labelType:_.labelType,rx:j,ry:j,class:A,style:P.style,id:_.id,link:_.link,linkTarget:_.linkTarget,tooltip:v.db.getTooltip(_.id)||"",domId:v.db.lookUpDomId(_.id),haveCallback:_.haveCallback,width:_.type==="group"?500:void 0,dir:_.dir,type:_.type,props:_.props,padding:qt().flowchart.padding}),Xe.info("setNode",{labelStyle:P.labelStyle,labelType:_.labelType,shape:W,labelText:ee,rx:j,ry:j,class:A,style:P.style,id:_.id,domId:v.db.lookUpDomId(_.id),width:_.type==="group"?500:void 0,type:_.type,dir:_.dir,props:_.props,padding:qt().flowchart.padding})}},RUe=async function(i,s,u){Xe.info("abc78 edges = ",i);let d=0,p={},v,b;if(i.defaultStyle!==void 0){const y=om(i.defaultStyle);v=y.style,b=y.labelStyle}for(const y of i){d++;const T="L-"+y.start+"-"+y.end;p[T]===void 0?(p[T]=0,Xe.info("abc78 new entry",T,p[T])):(p[T]++,Xe.info("abc78 new entry",T,p[T]));let _=T+"-"+p[T];Xe.info("abc78 new link id to be used is",T,_,p[T]);const A="LS-"+y.start,P="LE-"+y.end,R={style:"",labelStyle:""};switch(R.minlen=y.length||1,y.type==="arrow_open"?R.arrowhead="none":R.arrowhead="normal",R.arrowTypeStart="arrow_open",R.arrowTypeEnd="arrow_open",y.type){case"double_arrow_cross":R.arrowTypeStart="arrow_cross";case"arrow_cross":R.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":R.arrowTypeStart="arrow_point";case"arrow_point":R.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":R.arrowTypeStart="arrow_circle";case"arrow_circle":R.arrowTypeEnd="arrow_circle";break}let F="",j="";switch(y.stroke){case"normal":F="fill:none;",v!==void 0&&(F=v),b!==void 0&&(j=b),R.thickness="normal",R.pattern="solid";break;case"dotted":R.thickness="normal",R.pattern="dotted",R.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":R.thickness="thick",R.pattern="solid",R.style="stroke-width: 3.5px;fill:none;";break;case"invisible":R.thickness="invisible",R.pattern="solid",R.style="stroke-width: 0;fill:none;";break}if(y.style!==void 0){const W=om(y.style);F=W.style,j=W.labelStyle}R.style=R.style+=F,R.labelStyle=R.labelStyle+=j,y.interpolate!==void 0?R.curve=Nv(y.interpolate,xp):i.defaultInterpolate!==void 0?R.curve=Nv(i.defaultInterpolate,xp):R.curve=Nv(BUe.curve,xp),y.text===void 0?y.style!==void 0&&(R.arrowheadStyle="fill: #333"):(R.arrowheadStyle="fill: #333",R.labelpos="c"),R.labelType=y.labelType,R.label=await CC(y.text.replace(ci.lineBreakRegex,` +`),qt()),y.style===void 0&&(R.style=R.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),R.labelStyle=R.labelStyle.replace("color:","fill:"),R.id=_,R.classes="flowchart-link "+A+" "+P,s.setEdge(y.start,y.end,R,d)}},Vme={setConf:_en,addVertices:FUe,addEdges:RUe,getClasses:function(i,s){return s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");let p=d.db.getDirection();p===void 0&&(p="TD");const{securityLevel:v,flowchart:b}=qt(),y=b.nodeSpacing||50,T=b.rankSpacing||50;let _;v==="sandbox"&&(_=Ir("#i"+s));const A=Ir(v==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=v==="sandbox"?_.nodes()[0].contentDocument:document,R=new P0({multigraph:!0,compound:!0}).setGraph({rankdir:p,nodesep:y,ranksep:T,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();Xe.info("Subgraphs - ",j);for(let ae=j.length-1;ae>=0;ae--)F=j[ae],Xe.info("Subgraph - ",F),d.db.addVertex(F.id,{text:F.title,type:F.labelType},"group",void 0,F.classes,F.dir);const W=d.db.getVertices(),ee=d.db.getEdges();Xe.info("Edges",ee);let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],ABe("cluster").append("text");for(let ae=0;ae{const u=MRe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return SC(d,p,v,s)},jUe=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${Aen(i.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`,Len=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Kbe,db:HC,renderer:Vme,styles:jUe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,LQt.setConf(i.flowchart),HC.clear(),HC.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),Men=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Kbe,db:HC,renderer:Vme,styles:jUe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,Ljt({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),Vme.setConf(i.flowchart),HC.clear(),HC.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var Ume=function(){var i=function(de,X,pe,K){for(pe=pe||{},K=de.length;K--;pe[de[K]]=X);return pe},s=[6,8,10,20,22,24,26,27,28],u=[1,10],d=[1,11],p=[1,12],v=[1,13],b=[1,14],y=[1,15],T=[1,21],_=[1,22],A=[1,23],P=[1,24],R=[1,25],F=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],j=[1,34],W=[27,28,46,47],ee=[41,42,43,44,45],ie=[17,34],oe=[1,54],be=[1,53],ge=[17,34,36,38],ae={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,pe,K,xe,U,Be,Ne){var je=Be.length-1;switch(U){case 1:break;case 2:this.$=[];break;case 3:Be[je-1].push(Be[je]),this.$=Be[je-1];break;case 4:case 5:this.$=Be[je];break;case 6:case 7:this.$=[];break;case 8:xe.addEntity(Be[je-4]),xe.addEntity(Be[je-2]),xe.addRelationship(Be[je-4],Be[je],Be[je-2],Be[je-3]);break;case 9:xe.addEntity(Be[je-3]),xe.addAttributes(Be[je-3],Be[je-1]);break;case 10:xe.addEntity(Be[je-2]);break;case 11:xe.addEntity(Be[je]);break;case 12:xe.addEntity(Be[je-6],Be[je-4]),xe.addAttributes(Be[je-6],Be[je-1]);break;case 13:xe.addEntity(Be[je-5],Be[je-3]);break;case 14:xe.addEntity(Be[je-3],Be[je-1]);break;case 15:case 16:this.$=Be[je].trim(),xe.setAccTitle(this.$);break;case 17:case 18:this.$=Be[je].trim(),xe.setAccDescription(this.$);break;case 19:case 43:this.$=Be[je];break;case 20:case 41:case 42:this.$=Be[je].replace(/"/g,"");break;case 21:case 29:this.$=[Be[je]];break;case 22:Be[je].push(Be[je-1]),this.$=Be[je];break;case 23:this.$={attributeType:Be[je-1],attributeName:Be[je]};break;case 24:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeKeyTypeList:Be[je]};break;case 25:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeComment:Be[je]};break;case 26:this.$={attributeType:Be[je-3],attributeName:Be[je-2],attributeKeyTypeList:Be[je-1],attributeComment:Be[je]};break;case 27:case 28:case 31:this.$=Be[je];break;case 30:Be[je-2].push(Be[je]),this.$=Be[je-2];break;case 32:this.$=Be[je].replace(/"/g,"");break;case 33:this.$={cardA:Be[je],relType:Be[je-1],cardB:Be[je-2]};break;case 34:this.$=xe.Cardinality.ZERO_OR_ONE;break;case 35:this.$=xe.Cardinality.ZERO_OR_MORE;break;case 36:this.$=xe.Cardinality.ONE_OR_MORE;break;case 37:this.$=xe.Cardinality.ONLY_ONE;break;case 38:this.$=xe.Cardinality.MD_PARENT;break;case 39:this.$=xe.Identification.NON_IDENTIFYING;break;case 40:this.$=xe.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:16,11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:T,42:_,43:A,44:P,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(s,[2,18]),i(F,[2,19]),i(F,[2,20]),i(s,[2,4]),{11:29,27:b,28:y},{16:30,17:[1,31],29:32,30:33,34:j},{11:35,27:b,28:y},{40:36,46:[1,37],47:[1,38]},i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,38]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),{13:[1,39]},{17:[1,40]},i(s,[2,10]),{16:41,17:[2,21],29:32,30:33,34:j},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:T,42:_,43:A,44:P,45:R},i(ee,[2,39]),i(ee,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(s,[2,9]),{17:[2,22]},i(ie,[2,23],{32:50,33:51,35:52,37:oe,38:be}),i([17,34,37,38],[2,28]),i(s,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(s,[2,8]),i(s,[2,41]),i(s,[2,42]),i(s,[2,43]),i(ie,[2,24],{33:56,36:[1,57],38:be}),i(ie,[2,25]),i(ge,[2,29]),i(ie,[2,32]),i(ge,[2,31]),{16:58,17:[1,59],29:32,30:33,34:j},i(ie,[2,26]),{35:60,37:oe},{17:[1,61]},i(s,[2,13]),i(ge,[2,30]),i(s,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,pe){if(pe.recoverable)this.trace(X);else{var K=new Error(X);throw K.hash=pe,K}},parse:function(X){var pe=this,K=[0],xe=[],U=[null],Be=[],Ne=this.table,je="",Ie=0,Se=0,Ce=2,ke=1,Ke=Be.slice.call(arguments,1),Ft=Object.create(this.lexer),Pe={yy:{}};for(var gn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gn)&&(Pe.yy[gn]=this.yy[gn]);Ft.setInput(X,Pe.yy),Pe.yy.lexer=Ft,Pe.yy.parser=this,typeof Ft.yylloc>"u"&&(Ft.yylloc={});var kt=Ft.yylloc;Be.push(kt);var Et=Ft.options&&Ft.options.ranges;typeof Pe.yy.parseError=="function"?this.parseError=Pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(){var Fi;return Fi=xe.pop()||Ft.lex()||ke,typeof Fi!="number"&&(Fi instanceof Array&&(xe=Fi,Fi=xe.pop()),Fi=pe.symbols_[Fi]||Fi),Fi}for(var ln,xt,Pt,Ze,At={},Tt,On,ht,zr;;){if(xt=K[K.length-1],this.defaultActions[xt]?Pt=this.defaultActions[xt]:((ln===null||typeof ln>"u")&&(ln=Gt()),Pt=Ne[xt]&&Ne[xt][ln]),typeof Pt>"u"||!Pt.length||!Pt[0]){var yt="";zr=[];for(Tt in Ne[xt])this.terminals_[Tt]&&Tt>Ce&&zr.push("'"+this.terminals_[Tt]+"'");Ft.showPosition?yt="Parse error on line "+(Ie+1)+`: +`+Ft.showPosition()+` +Expecting `+zr.join(", ")+", got '"+(this.terminals_[ln]||ln)+"'":yt="Parse error on line "+(Ie+1)+": Unexpected "+(ln==ke?"end of input":"'"+(this.terminals_[ln]||ln)+"'"),this.parseError(yt,{text:Ft.match,token:this.terminals_[ln]||ln,line:Ft.yylineno,loc:kt,expected:zr})}if(Pt[0]instanceof Array&&Pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+ln);switch(Pt[0]){case 1:K.push(ln),U.push(Ft.yytext),Be.push(Ft.yylloc),K.push(Pt[1]),ln=null,Se=Ft.yyleng,je=Ft.yytext,Ie=Ft.yylineno,kt=Ft.yylloc;break;case 2:if(On=this.productions_[Pt[1]][1],At.$=U[U.length-On],At._$={first_line:Be[Be.length-(On||1)].first_line,last_line:Be[Be.length-1].last_line,first_column:Be[Be.length-(On||1)].first_column,last_column:Be[Be.length-1].last_column},Et&&(At._$.range=[Be[Be.length-(On||1)].range[0],Be[Be.length-1].range[1]]),Ze=this.performAction.apply(At,[je,Se,Ie,Pe.yy,Pt[1],U,Be].concat(Ke)),typeof Ze<"u")return Ze;On&&(K=K.slice(0,-1*On*2),U=U.slice(0,-1*On),Be=Be.slice(0,-1*On)),K.push(this.productions_[Pt[1]][0]),U.push(At.$),Be.push(At._$),ht=Ne[K[K.length-2]][K[K.length-1]],K.push(ht);break;case 3:return!0}}return!0}},ne=function(){var de={EOF:1,parseError:function(pe,K){if(this.yy.parser)this.yy.parser.parseError(pe,K);else throw new Error(pe)},setInput:function(X,pe){return this.yy=pe||this.yy||{},this._input=X,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var pe=X.match(/(?:\r\n?|\n).*/g);return pe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var pe=X.length,K=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pe),this.offset-=pe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),K.length-1&&(this.yylineno-=K.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:K?(K.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-K.length].length-K[0].length:this.yylloc.first_column-pe},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-pe]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),pe=new Array(X.length+1).join("-");return X+this.upcomingInput()+` +`+pe+"^"},test_match:function(X,pe){var K,xe,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),xe=X[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(X[0].length),this.matched+=X[0],K=this.performAction.call(this,this.yy,this,pe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),K)return K;if(this._backtrack){for(var Be in U)this[Be]=U[Be];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,pe,K,xe;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),Be=0;Bepe[0].length)){if(pe=K,xe=Be,this.options.backtrack_lexer){if(X=this.test_match(K,U[Be]),X!==!1)return X;if(this._backtrack){pe=!1;continue}else return!1}else if(!this.options.flex)break}return pe?(X=this.test_match(pe,U[xe]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var pe=this.next();return pe||this.lex()},begin:function(pe){this.conditionStack.push(pe)},popState:function(){var pe=this.conditionStack.length-1;return pe>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(pe){return pe=this.conditionStack.length-1-Math.abs(pe||0),pe>=0?this.conditionStack[pe]:"INITIAL"},pushState:function(pe){this.begin(pe)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(pe,K,xe,U){switch(xe){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return K.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return K.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return de}();ae.lexer=ne;function se(){this.yy={}}return se.prototype=ae,ae.Parser=se,new se}();Ume.parser=Ume;const Den=Ume;let B9={},Gme=[];const Ien={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Oen={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},$Ue=function(i,s=void 0){return B9[i]===void 0?(B9[i]={attributes:[],alias:s},Xe.info("Added new entity :",i)):B9[i]&&!B9[i].alias&&s&&(B9[i].alias=s,Xe.info(`Add alias '${s}' to entity '${i}'`)),B9[i]},Nen={Cardinality:Ien,Identification:Oen,getConfig:()=>qt().er,addEntity:$Ue,addAttributes:function(i,s){let u=$Ue(i),d;for(d=s.length-1;d>=0;d--)u.attributes.push(s[d]),Xe.debug("Added attribute ",s[d].attributeName)},getEntities:()=>B9,addRelationship:function(i,s,u,d){let p={entityA:i,roleA:s,entityB:u,relSpec:d};Gme.push(p),Xe.debug("Added new relationship :",p)},getRelationships:()=>Gme,clear:function(){B9={},Gme=[],Ng()},setAccTitle:Pg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,setDiagramTitle:cm,getDiagramTitle:Ap},G3={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},K3={ERMarkers:G3,insertMarkers:function(i,s){let u;i.append("defs").append("marker").attr("id",G3.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",G3.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",G3.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",G3.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",G3.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",G3.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",G3.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",G3.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),u=i.append("defs").append("marker").attr("id",G3.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),u=i.append("defs").append("marker").attr("id",G3.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},Pen=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Ben(i){return typeof i=="string"&&Pen.test(i)}const qd=[];for(let i=0;i<256;++i)qd.push((i+256).toString(16).slice(1));function Fen(i,s=0){return qd[i[s+0]]+qd[i[s+1]]+qd[i[s+2]]+qd[i[s+3]]+"-"+qd[i[s+4]]+qd[i[s+5]]+"-"+qd[i[s+6]]+qd[i[s+7]]+"-"+qd[i[s+8]]+qd[i[s+9]]+"-"+qd[i[s+10]]+qd[i[s+11]]+qd[i[s+12]]+qd[i[s+13]]+qd[i[s+14]]+qd[i[s+15]]}function Ren(i){if(!Ben(i))throw TypeError("Invalid UUID");let s;const u=new Uint8Array(16);return u[0]=(s=parseInt(i.slice(0,8),16))>>>24,u[1]=s>>>16&255,u[2]=s>>>8&255,u[3]=s&255,u[4]=(s=parseInt(i.slice(9,13),16))>>>8,u[5]=s&255,u[6]=(s=parseInt(i.slice(14,18),16))>>>8,u[7]=s&255,u[8]=(s=parseInt(i.slice(19,23),16))>>>8,u[9]=s&255,u[10]=(s=parseInt(i.slice(24,36),16))/1099511627776&255,u[11]=s/4294967296&255,u[12]=s>>>24&255,u[13]=s>>>16&255,u[14]=s>>>8&255,u[15]=s&255,u}function jen(i){i=unescape(encodeURIComponent(i));const s=[];for(let u=0;u>>32-s}function Ven(i){const s=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let y=0;y>>0;R=P,P=A,A=Kme(_,30)>>>0,_=T,T=W}u[0]=u[0]+T>>>0,u[1]=u[1]+_>>>0,u[2]=u[2]+A>>>0,u[3]=u[3]+P>>>0,u[4]=u[4]+R>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}const Uen=qen("v5",80,Ven),Gen=/[^\dA-Za-z](\W)*/g;let d1={},OR=new Map;const Ken=function(i){const s=Object.keys(i);for(const u of s)d1[u]=i[u]},Wen=(i,s,u)=>{const d=d1.entityPadding/3,p=d1.entityPadding/3,v=d1.fontSize*.85,b=s.node().getBBox(),y=[];let T=!1,_=!1,A=0,P=0,R=0,F=0,j=b.height+d*2,W=1;u.forEach(be=>{be.attributeKeyTypeList!==void 0&&be.attributeKeyTypeList.length>0&&(T=!0),be.attributeComment!==void 0&&(_=!0)}),u.forEach(be=>{const ge=`${s.node().id}-attr-${W}`;let ae=0;const ne=VF(be.attributeType),se=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(ne),de=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeName),X={};X.tn=se,X.nn=de;const pe=se.node().getBBox(),K=de.node().getBBox();if(A=Math.max(A,pe.width),P=Math.max(P,K.width),ae=Math.max(pe.height,K.height),T){const xe=be.attributeKeyTypeList!==void 0?be.attributeKeyTypeList.join(","):"",U=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(xe);X.kn=U;const Be=U.node().getBBox();R=Math.max(R,Be.width),ae=Math.max(ae,Be.height)}if(_){const xe=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeComment||"");X.cn=xe;const U=xe.node().getBBox();F=Math.max(F,U.width),ae=Math.max(ae,U.height)}X.height=ae,y.push(X),j+=ae+d*2,W+=1});let ee=4;T&&(ee+=2),_&&(ee+=2);const ie=A+P+R+F,oe={width:Math.max(d1.minEntityWidth,Math.max(b.width+d1.entityPadding*2,ie+p*ee)),height:u.length>0?j:Math.max(d1.minEntityHeight,b.height+d1.entityPadding*2)};if(u.length>0){const be=Math.max(0,(oe.width-ie-p*ee)/(ee/2));s.attr("transform","translate("+oe.width/2+","+(d+b.height/2)+")");let ge=b.height+d*2,ae="attributeBoxOdd";y.forEach(ne=>{const se=ge+d+ne.height/2;ne.tn.attr("transform","translate("+p+","+se+")");const de=i.insert("rect","#"+ne.tn.node().id).classed(`er ${ae}`,!0).attr("x",0).attr("y",ge).attr("width",A+p*2+be).attr("height",ne.height+d*2),X=parseFloat(de.attr("x"))+parseFloat(de.attr("width"));ne.nn.attr("transform","translate("+(X+p)+","+se+")");const pe=i.insert("rect","#"+ne.nn.node().id).classed(`er ${ae}`,!0).attr("x",X).attr("y",ge).attr("width",P+p*2+be).attr("height",ne.height+d*2);let K=parseFloat(pe.attr("x"))+parseFloat(pe.attr("width"));if(T){ne.kn.attr("transform","translate("+(K+p)+","+se+")");const xe=i.insert("rect","#"+ne.kn.node().id).classed(`er ${ae}`,!0).attr("x",K).attr("y",ge).attr("width",R+p*2+be).attr("height",ne.height+d*2);K=parseFloat(xe.attr("x"))+parseFloat(xe.attr("width"))}_&&(ne.cn.attr("transform","translate("+(K+p)+","+se+")"),i.insert("rect","#"+ne.cn.node().id).classed(`er ${ae}`,"true").attr("x",K).attr("y",ge).attr("width",F+p*2+be).attr("height",ne.height+d*2)),ge+=ne.height+d*2,ae=ae==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else oe.height=Math.max(d1.minEntityHeight,j),s.attr("transform","translate("+oe.width/2+","+oe.height/2+")");return oe},Yen=function(i,s,u){const d=Object.keys(s);let p;return d.forEach(function(v){const b=ttn(v,"entity");OR.set(v,b);const y=i.append("g").attr("id",b);p=p===void 0?b:p;const T="text-"+b,_=y.append("text").classed("er entityLabel",!0).attr("id",T).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",qt().fontFamily).style("font-size",d1.fontSize+"px").text(s[v].alias??v),{width:A,height:P}=Wen(y,_,s[v].attributes),F=y.insert("rect","#"+T).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",A).attr("height",P).node().getBBox();u.setNode(b,{width:F.width,height:F.height,shape:"rect",id:b})}),p},Xen=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )")})},zUe=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},Qen=function(i,s){return i.forEach(function(u){s.setEdge(OR.get(u.entityA),OR.get(u.entityB),{relationship:u},zUe(u))}),i};let qUe=0;const Jen=function(i,s,u,d,p){qUe++;const v=u.edge(OR.get(s.entityA),OR.get(s.entityB),zUe(s)),b=k7().x(function(j){return j.x}).y(function(j){return j.y}).curve(FF),y=i.insert("path","#"+d).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",d1.stroke).style("fill","none");s.relSpec.relType===p.db.Identification.NON_IDENTIFYING&&y.attr("stroke-dasharray","8,8");let T="";switch(d1.arrowMarkerAbsolute&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\("),T=T.replace(/\)/g,"\\)")),s.relSpec.cardA){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-end","url("+T+"#"+K3.ERMarkers.ZERO_OR_ONE_END+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-end","url("+T+"#"+K3.ERMarkers.ZERO_OR_MORE_END+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-end","url("+T+"#"+K3.ERMarkers.ONE_OR_MORE_END+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-end","url("+T+"#"+K3.ERMarkers.ONLY_ONE_END+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-end","url("+T+"#"+K3.ERMarkers.MD_PARENT_END+")");break}switch(s.relSpec.cardB){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-start","url("+T+"#"+K3.ERMarkers.ZERO_OR_ONE_START+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-start","url("+T+"#"+K3.ERMarkers.ZERO_OR_MORE_START+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-start","url("+T+"#"+K3.ERMarkers.ONE_OR_MORE_START+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-start","url("+T+"#"+K3.ERMarkers.ONLY_ONE_START+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-start","url("+T+"#"+K3.ERMarkers.MD_PARENT_START+")");break}const _=y.node().getTotalLength(),A=y.node().getPointAtLength(_*.5),P="rel"+qUe,F=i.append("text").classed("er relationshipLabel",!0).attr("id",P).attr("x",A.x).attr("y",A.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",qt().fontFamily).style("font-size",d1.fontSize+"px").text(s.roleA).node().getBBox();i.insert("rect","#"+P).classed("er relationshipLabelBox",!0).attr("x",A.x-F.width/2).attr("y",A.y-F.height/2).attr("width",F.width).attr("height",F.height)},Zen=function(i,s,u,d){d1=qt().er,Xe.info("Drawing ER diagram");const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);K3.insertMarkers(y,d1);let T;T=new P0({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:d1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=Yen(y,d.db.getEntities(),T),A=Qen(d.db.getRelationships(),T);qD(T),Xen(y,T),A.forEach(function(W){Jen(y,W,T,_,d)});const P=d1.diagramPadding;So.insertTitle(y,"entityTitleText",d1.titleTopMargin,d.db.getDiagramTitle());const R=y.node().getBBox(),F=R.width+P*2,j=R.height+P*2;Og(y,j,F,d1.useMaxWidth),y.attr("viewBox",`${R.x-P} ${R.y-P} ${F} ${j}`)},etn="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function ttn(i="",s=""){const u=i.replace(Gen,"");return`${HUe(s)}${HUe(u)}${Uen(i,etn)}`}function HUe(i=""){return i.length>0?`${i}-`:""}const ntn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Den,db:Nen,renderer:{setConf:Ken,draw:Zen},styles:i=>` + .entityBox { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxOdd { + fill: ${i.attributeBackgroundColorOdd}; + stroke: ${i.nodeBorder}; + } + + .attributeBoxEven { + fill: ${i.attributeBackgroundColorEven}; + stroke: ${i.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${i.tertiaryColor}; + opacity: 0.7; + background-color: ${i.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .relationshipLine { + stroke: ${i.lineColor}; + } + + .entityTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + #MD_PARENT_START { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + #MD_PARENT_END { + fill: #f5f5f5 !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; + } + +`}},Symbol.toStringTag,{value:"Module"}));var Wme=function(){var i=function(ae,ne,se,de){for(se=se||{},de=ae.length;de--;se[ae[de]]=ne);return se},s=[1,3],u=[1,6],d=[1,4],p=[1,5],v=[2,5],b=[1,12],y=[5,7,13,19,21,23,24,26,28,31,37,40,47],T=[7,13,19,21,23,24,26,28,31,37,40],_=[7,12,13,19,21,23,24,26,28,31,37,40],A=[7,13,47],P=[1,42],R=[1,41],F=[7,13,29,32,35,38,47],j=[1,55],W=[1,56],ee=[1,57],ie=[7,13,32,35,42,47],oe={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ne,se,de,X,pe,K,xe){var U=K.length-1;switch(pe){case 2:return K[U];case 3:return K[U-1];case 4:return X.setDirection(K[U-3]),K[U-1];case 6:X.setOptions(K[U-1]),this.$=K[U];break;case 7:K[U-1]+=K[U],this.$=K[U-1];break;case 9:this.$=[];break;case 10:K[U-1].push(K[U]),this.$=K[U-1];break;case 11:this.$=K[U-1];break;case 16:this.$=K[U].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=K[U].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(K[U].substr(8)),this.$=K[U].substr(8);break;case 21:X.checkout(K[U]);break;case 22:X.branch(K[U]);break;case 23:X.branch(K[U-2],K[U]);break;case 24:X.cherryPick(K[U],"",void 0);break;case 25:X.cherryPick(K[U-2],"",void 0,K[U]);break;case 26:X.cherryPick(K[U-2],"",K[U]);break;case 27:X.cherryPick(K[U-4],"",K[U],K[U-2]);break;case 28:X.cherryPick(K[U-4],"",K[U-2],K[U]);break;case 29:X.cherryPick(K[U],"",K[U-2]);break;case 30:X.cherryPick(K[U],"","");break;case 31:X.cherryPick(K[U-2],"","");break;case 32:X.cherryPick(K[U-4],"","",K[U-2]);break;case 33:X.cherryPick(K[U-4],"","",K[U]);break;case 34:X.cherryPick(K[U-2],"",K[U-4],K[U]);break;case 35:X.cherryPick(K[U-2],"","",K[U]);break;case 36:X.merge(K[U],"","","");break;case 37:X.merge(K[U-2],K[U],"","");break;case 38:X.merge(K[U-2],"",K[U],"");break;case 39:X.merge(K[U-2],"","",K[U]);break;case 40:X.merge(K[U-4],K[U],"",K[U-2]);break;case 41:X.merge(K[U-4],"",K[U],K[U-2]);break;case 42:X.merge(K[U-4],"",K[U-2],K[U]);break;case 43:X.merge(K[U-4],K[U-2],K[U],"");break;case 44:X.merge(K[U-4],K[U-2],"",K[U]);break;case 45:X.merge(K[U-4],K[U],K[U-2],"");break;case 46:X.merge(K[U-6],K[U-4],K[U-2],K[U]);break;case 47:X.merge(K[U-6],K[U],K[U-4],K[U-2]);break;case 48:X.merge(K[U-6],K[U-4],K[U],K[U-2]);break;case 49:X.merge(K[U-6],K[U-2],K[U-4],K[U]);break;case 50:X.merge(K[U-6],K[U],K[U-2],K[U-4]);break;case 51:X.merge(K[U-6],K[U-2],K[U],K[U-4]);break;case 52:X.commit(K[U]);break;case 53:X.commit("","",X.commitType.NORMAL,K[U]);break;case 54:X.commit("","",K[U],"");break;case 55:X.commit("","",K[U],K[U-2]);break;case 56:X.commit("","",K[U-2],K[U]);break;case 57:X.commit("",K[U],X.commitType.NORMAL,"");break;case 58:X.commit("",K[U-2],X.commitType.NORMAL,K[U]);break;case 59:X.commit("",K[U],X.commitType.NORMAL,K[U-2]);break;case 60:X.commit("",K[U-2],K[U],"");break;case 61:X.commit("",K[U],K[U-2],"");break;case 62:X.commit("",K[U-4],K[U-2],K[U]);break;case 63:X.commit("",K[U-4],K[U],K[U-2]);break;case 64:X.commit("",K[U-2],K[U-4],K[U]);break;case 65:X.commit("",K[U],K[U-4],K[U-2]);break;case 66:X.commit("",K[U],K[U-2],K[U-4]);break;case 67:X.commit("",K[U-2],K[U],K[U-4]);break;case 68:X.commit(K[U],"",X.commitType.NORMAL,"");break;case 69:X.commit(K[U],"",X.commitType.NORMAL,K[U-2]);break;case 70:X.commit(K[U-2],"",X.commitType.NORMAL,K[U]);break;case 71:X.commit(K[U-2],"",K[U],"");break;case 72:X.commit(K[U],"",K[U-2],"");break;case 73:X.commit(K[U],K[U-2],X.commitType.NORMAL,"");break;case 74:X.commit(K[U-2],K[U],X.commitType.NORMAL,"");break;case 75:X.commit(K[U-4],"",K[U-2],K[U]);break;case 76:X.commit(K[U-4],"",K[U],K[U-2]);break;case 77:X.commit(K[U-2],"",K[U-4],K[U]);break;case 78:X.commit(K[U],"",K[U-4],K[U-2]);break;case 79:X.commit(K[U],"",K[U-2],K[U-4]);break;case 80:X.commit(K[U-2],"",K[U],K[U-4]);break;case 81:X.commit(K[U-4],K[U],K[U-2],"");break;case 82:X.commit(K[U-4],K[U-2],K[U],"");break;case 83:X.commit(K[U-2],K[U],K[U-4],"");break;case 84:X.commit(K[U],K[U-2],K[U-4],"");break;case 85:X.commit(K[U],K[U-4],K[U-2],"");break;case 86:X.commit(K[U-2],K[U-4],K[U],"");break;case 87:X.commit(K[U-4],K[U],X.commitType.NORMAL,K[U-2]);break;case 88:X.commit(K[U-4],K[U-2],X.commitType.NORMAL,K[U]);break;case 89:X.commit(K[U-2],K[U],X.commitType.NORMAL,K[U-4]);break;case 90:X.commit(K[U],K[U-2],X.commitType.NORMAL,K[U-4]);break;case 91:X.commit(K[U],K[U-4],X.commitType.NORMAL,K[U-2]);break;case 92:X.commit(K[U-2],K[U-4],X.commitType.NORMAL,K[U]);break;case 93:X.commit(K[U-6],K[U-4],K[U-2],K[U]);break;case 94:X.commit(K[U-6],K[U-4],K[U],K[U-2]);break;case 95:X.commit(K[U-6],K[U-2],K[U-4],K[U]);break;case 96:X.commit(K[U-6],K[U],K[U-4],K[U-2]);break;case 97:X.commit(K[U-6],K[U-2],K[U],K[U-4]);break;case 98:X.commit(K[U-6],K[U],K[U-2],K[U-4]);break;case 99:X.commit(K[U-4],K[U-6],K[U-2],K[U]);break;case 100:X.commit(K[U-4],K[U-6],K[U],K[U-2]);break;case 101:X.commit(K[U-2],K[U-6],K[U-4],K[U]);break;case 102:X.commit(K[U],K[U-6],K[U-4],K[U-2]);break;case 103:X.commit(K[U-2],K[U-6],K[U],K[U-4]);break;case 104:X.commit(K[U],K[U-6],K[U-2],K[U-4]);break;case 105:X.commit(K[U],K[U-4],K[U-2],K[U-6]);break;case 106:X.commit(K[U-2],K[U-4],K[U],K[U-6]);break;case 107:X.commit(K[U],K[U-2],K[U-4],K[U-6]);break;case 108:X.commit(K[U-2],K[U],K[U-4],K[U-6]);break;case 109:X.commit(K[U-4],K[U-2],K[U],K[U-6]);break;case 110:X.commit(K[U-4],K[U],K[U-2],K[U-6]);break;case 111:X.commit(K[U-2],K[U-4],K[U-6],K[U]);break;case 112:X.commit(K[U],K[U-4],K[U-6],K[U-2]);break;case 113:X.commit(K[U-2],K[U],K[U-6],K[U-4]);break;case 114:X.commit(K[U],K[U-2],K[U-6],K[U-4]);break;case 115:X.commit(K[U-4],K[U-2],K[U-6],K[U]);break;case 116:X.commit(K[U-4],K[U],K[U-6],K[U-2]);break;case 117:this.$="";break;case 118:this.$=K[U];break;case 119:this.$=X.commitType.NORMAL;break;case 120:this.$=X.commitType.REVERSE;break;case 121:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:s,7:u,13:d,47:p},{1:[3]},{3:7,4:2,5:s,7:u,13:d,47:p},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(y,[2,124]),i(y,[2,125]),i(y,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(T,[2,9],{11:16,12:[1,17]}),i(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},i(_,[2,7]),{1:[2,3]},{7:[1,36]},i(T,[2,10]),{4:37,7:u,13:d,47:p},i(T,[2,12]),i(A,[2,13]),i(A,[2,14]),i(A,[2,15]),{20:[1,38]},{22:[1,39]},i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),{27:40,33:P,46:R},i(A,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:P,46:R},{32:[1,50],35:[1,51]},{27:52,33:P,46:R},{1:[2,4]},i(T,[2,11]),i(A,[2,16]),i(A,[2,17]),i(A,[2,21]),i(F,[2,122]),i(F,[2,123]),i(A,[2,52]),{33:[1,53]},{39:54,43:j,44:W,45:ee},{33:[1,58]},{33:[1,59]},i(A,[2,118]),i(A,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(A,[2,22],{29:[1,66]}),i(A,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(A,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(ie,[2,119]),i(ie,[2,120]),i(ie,[2,121]),i(A,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(A,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:j,44:W,45:ee},{33:[1,81]},i(A,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:j,44:W,45:ee},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:j,44:W,45:ee},{33:[1,95]},{33:[1,96]},{39:97,43:j,44:W,45:ee},{33:[1,98]},i(A,[2,37],{35:[1,100],38:[1,99]}),i(A,[2,38],{32:[1,102],35:[1,101]}),i(A,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(A,[2,23]),i(A,[2,55],{32:[1,110],42:[1,111]}),i(A,[2,59],{38:[1,112],42:[1,113]}),i(A,[2,69],{32:[1,115],38:[1,114]}),i(A,[2,56],{32:[1,116],42:[1,117]}),i(A,[2,61],{35:[1,118],42:[1,119]}),i(A,[2,72],{32:[1,121],35:[1,120]}),i(A,[2,58],{38:[1,122],42:[1,123]}),i(A,[2,60],{35:[1,124],42:[1,125]}),i(A,[2,73],{35:[1,127],38:[1,126]}),i(A,[2,70],{32:[1,129],38:[1,128]}),i(A,[2,71],{32:[1,131],35:[1,130]}),i(A,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:j,44:W,45:ee},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:j,44:W,45:ee},i(A,[2,25],{35:[1,140]}),i(A,[2,26],{34:[1,141]}),i(A,[2,31],{34:[1,142]}),i(A,[2,29],{34:[1,143]}),i(A,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:j,44:W,45:ee},{33:[1,148]},{39:149,43:j,44:W,45:ee},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:j,44:W,45:ee},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:j,44:W,45:ee},{33:[1,162]},{39:163,43:j,44:W,45:ee},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:j,44:W,45:ee},{33:[1,168]},i(A,[2,43],{35:[1,169]}),i(A,[2,44],{38:[1,170]}),i(A,[2,42],{32:[1,171]}),i(A,[2,45],{35:[1,172]}),i(A,[2,40],{38:[1,173]}),i(A,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(A,[2,66],{42:[1,181]}),i(A,[2,79],{32:[1,182]}),i(A,[2,67],{42:[1,183]}),i(A,[2,90],{38:[1,184]}),i(A,[2,80],{32:[1,185]}),i(A,[2,89],{38:[1,186]}),i(A,[2,65],{42:[1,187]}),i(A,[2,78],{32:[1,188]}),i(A,[2,64],{42:[1,189]}),i(A,[2,84],{35:[1,190]}),i(A,[2,77],{32:[1,191]}),i(A,[2,83],{35:[1,192]}),i(A,[2,63],{42:[1,193]}),i(A,[2,91],{38:[1,194]}),i(A,[2,62],{42:[1,195]}),i(A,[2,85],{35:[1,196]}),i(A,[2,86],{35:[1,197]}),i(A,[2,92],{38:[1,198]}),i(A,[2,76],{32:[1,199]}),i(A,[2,87],{38:[1,200]}),i(A,[2,75],{32:[1,201]}),i(A,[2,81],{35:[1,202]}),i(A,[2,82],{35:[1,203]}),i(A,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:j,44:W,45:ee},{33:[1,207]},{33:[1,208]},{39:209,43:j,44:W,45:ee},{33:[1,210]},i(A,[2,27]),i(A,[2,32]),i(A,[2,28]),i(A,[2,33]),i(A,[2,34]),i(A,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:j,44:W,45:ee},{33:[1,215]},{39:216,43:j,44:W,45:ee},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:j,44:W,45:ee},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:j,44:W,45:ee},{33:[1,229]},{39:230,43:j,44:W,45:ee},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:j,44:W,45:ee},i(A,[2,46]),i(A,[2,48]),i(A,[2,47]),i(A,[2,49]),i(A,[2,51]),i(A,[2,50]),i(A,[2,107]),i(A,[2,108]),i(A,[2,105]),i(A,[2,106]),i(A,[2,110]),i(A,[2,109]),i(A,[2,114]),i(A,[2,113]),i(A,[2,112]),i(A,[2,111]),i(A,[2,116]),i(A,[2,115]),i(A,[2,104]),i(A,[2,103]),i(A,[2,102]),i(A,[2,101]),i(A,[2,99]),i(A,[2,100]),i(A,[2,98]),i(A,[2,97]),i(A,[2,96]),i(A,[2,95]),i(A,[2,93]),i(A,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ne,se){if(se.recoverable)this.trace(ne);else{var de=new Error(ne);throw de.hash=se,de}},parse:function(ne){var se=this,de=[0],X=[],pe=[null],K=[],xe=this.table,U="",Be=0,Ne=0,je=2,Ie=1,Se=K.slice.call(arguments,1),Ce=Object.create(this.lexer),ke={yy:{}};for(var Ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ke)&&(ke.yy[Ke]=this.yy[Ke]);Ce.setInput(ne,ke.yy),ke.yy.lexer=Ce,ke.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var Ft=Ce.yylloc;K.push(Ft);var Pe=Ce.options&&Ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gn(){var ht;return ht=X.pop()||Ce.lex()||Ie,typeof ht!="number"&&(ht instanceof Array&&(X=ht,ht=X.pop()),ht=se.symbols_[ht]||ht),ht}for(var kt,Et,Gt,ln,xt={},Pt,Ze,At,Tt;;){if(Et=de[de.length-1],this.defaultActions[Et]?Gt=this.defaultActions[Et]:((kt===null||typeof kt>"u")&&(kt=gn()),Gt=xe[Et]&&xe[Et][kt]),typeof Gt>"u"||!Gt.length||!Gt[0]){var On="";Tt=[];for(Pt in xe[Et])this.terminals_[Pt]&&Pt>je&&Tt.push("'"+this.terminals_[Pt]+"'");Ce.showPosition?On="Parse error on line "+(Be+1)+`: +`+Ce.showPosition()+` +Expecting `+Tt.join(", ")+", got '"+(this.terminals_[kt]||kt)+"'":On="Parse error on line "+(Be+1)+": Unexpected "+(kt==Ie?"end of input":"'"+(this.terminals_[kt]||kt)+"'"),this.parseError(On,{text:Ce.match,token:this.terminals_[kt]||kt,line:Ce.yylineno,loc:Ft,expected:Tt})}if(Gt[0]instanceof Array&&Gt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+kt);switch(Gt[0]){case 1:de.push(kt),pe.push(Ce.yytext),K.push(Ce.yylloc),de.push(Gt[1]),kt=null,Ne=Ce.yyleng,U=Ce.yytext,Be=Ce.yylineno,Ft=Ce.yylloc;break;case 2:if(Ze=this.productions_[Gt[1]][1],xt.$=pe[pe.length-Ze],xt._$={first_line:K[K.length-(Ze||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(Ze||1)].first_column,last_column:K[K.length-1].last_column},Pe&&(xt._$.range=[K[K.length-(Ze||1)].range[0],K[K.length-1].range[1]]),ln=this.performAction.apply(xt,[U,Ne,Be,ke.yy,Gt[1],pe,K].concat(Se)),typeof ln<"u")return ln;Ze&&(de=de.slice(0,-1*Ze*2),pe=pe.slice(0,-1*Ze),K=K.slice(0,-1*Ze)),de.push(this.productions_[Gt[1]][0]),pe.push(xt.$),K.push(xt._$),At=xe[de[de.length-2]][de[de.length-1]],de.push(At);break;case 3:return!0}}return!0}},be=function(){var ae={EOF:1,parseError:function(se,de){if(this.yy.parser)this.yy.parser.parseError(se,de);else throw new Error(se)},setInput:function(ne,se){return this.yy=se||this.yy||{},this._input=ne,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ne=this._input[0];this.yytext+=ne,this.yyleng++,this.offset++,this.match+=ne,this.matched+=ne;var se=ne.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ne},unput:function(ne){var se=ne.length,de=ne.split(/(?:\r\n?|\n)/g);this._input=ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var X=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),de.length-1&&(this.yylineno-=de.length-1);var pe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:de?(de.length===X.length?this.yylloc.first_column:0)+X[X.length-de.length].length-de[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ne){this.unput(this.match.slice(ne))},pastInput:function(){var ne=this.matched.substr(0,this.matched.length-this.match.length);return(ne.length>20?"...":"")+ne.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ne=this.match;return ne.length<20&&(ne+=this._input.substr(0,20-ne.length)),(ne.substr(0,20)+(ne.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ne=this.pastInput(),se=new Array(ne.length+1).join("-");return ne+this.upcomingInput()+` +`+se+"^"},test_match:function(ne,se){var de,X,pe;if(this.options.backtrack_lexer&&(pe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(pe.yylloc.range=this.yylloc.range.slice(0))),X=ne[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ne[0].length},this.yytext+=ne[0],this.match+=ne[0],this.matches=ne,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ne[0].length),this.matched+=ne[0],de=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var K in pe)this[K]=pe[K];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ne,se,de,X;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),K=0;Kse[0].length)){if(se=de,X=K,this.options.backtrack_lexer){if(ne=this.test_match(de,pe[K]),ne!==!1)return ne;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(ne=this.test_match(se,pe[X]),ne!==!1?ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var se=this.next();return se||this.lex()},begin:function(se){this.conditionStack.push(se)},popState:function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},pushState:function(se){this.begin(se)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(se,de,X,pe){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return ae}();oe.lexer=be;function ge(){this.yy={}}return ge.prototype=oe,oe.Parser=ge,new ge}();Wme.parser=Wme;const rtn=Wme;let cJ=qt().gitGraph.mainBranchName,itn=qt().gitGraph.mainBranchOrder,g1={},Np=null,NR={};NR[cJ]={name:cJ,order:itn};let B0={};B0[cJ]=Np;let nd=cJ,VUe="LR",YC=0;function Yme(){return wje({length:7})}function stn(i,s){const u=Object.create(null);return i.reduce((d,p)=>{const v=s(p);return u[v]||(u[v]=!0,d.push(p)),d},[])}const atn=function(i){VUe=i};let UUe={};const otn=function(i){Xe.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{UUe=JSON.parse(i)}catch(s){Xe.error("error while parsing gitGraph options",s.message)}},ctn=function(){return UUe},utn=function(i,s,u,d){Xe.debug("Entering commit:",i,s,u,d),s=ci.sanitizeText(s,qt()),i=ci.sanitizeText(i,qt()),d=ci.sanitizeText(d,qt());const p={id:s||YC+"-"+Yme(),message:i,seq:YC++,type:u||UD.NORMAL,tag:d||"",parents:Np==null?[]:[Np.id],branch:nd};Np=p,g1[p.id]=p,B0[nd]=p.id,Xe.debug("in pushCommit "+p.id)},ltn=function(i,s){if(i=ci.sanitizeText(i,qt()),B0[i]===void 0)B0[i]=Np!=null?Np.id:null,NR[i]={name:i,order:s?parseInt(s,10):null},GUe(i),Xe.debug("in createBranch");else{let u=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+i+'")');throw u.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},u}},htn=function(i,s,u,d){i=ci.sanitizeText(i,qt()),s=ci.sanitizeText(s,qt());const p=g1[B0[nd]],v=g1[B0[i]];if(nd===i){let y=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(p===void 0||!p){let y=new Error('Incorrect usage of "merge". Current branch ('+nd+")has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},y}else if(B0[i]===void 0){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},y}else if(v===void 0||!v){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},y}else if(p===v){let y=new Error('Incorrect usage of "merge". Both branches have same head');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(s&&g1[s]!==void 0){let y=new Error('Incorrect usage of "merge". Commit with id:'+s+" already exists, use different custom Id");throw y.hash={text:"merge "+i+s+u+d,token:"merge "+i+s+u+d,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+s+"_UNIQUE "+u+" "+d]},y}const b={id:s||YC+"-"+Yme(),message:"merged branch "+i+" into "+nd,seq:YC++,parents:[Np==null?null:Np.id,B0[i]],branch:nd,type:UD.MERGE,customType:u,customId:!!s,tag:d||""};Np=b,g1[b.id]=b,B0[nd]=b.id,Xe.debug(B0),Xe.debug("in mergeBranch")},ftn=function(i,s,u,d){if(Xe.debug("Entering cherryPick:",i,s,u),i=ci.sanitizeText(i,qt()),s=ci.sanitizeText(s,qt()),u=ci.sanitizeText(u,qt()),d=ci.sanitizeText(d,qt()),!i||g1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let p=g1[i],v=p.branch;if(d&&!(Array.isArray(p.parents)&&p.parents.includes(d)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(p.type===UD.MERGE&&!d)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!s||g1[s]===void 0){if(v===nd){let T=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const b=g1[B0[nd]];if(b===void 0||!b){let T=new Error('Incorrect usage of "cherry-pick". Current branch ('+nd+")has no commits");throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const y={id:YC+"-"+Yme(),message:"cherry-picked "+p+" into "+nd,seq:YC++,parents:[Np==null?null:Np.id,p.id],branch:nd,type:UD.CHERRY_PICK,tag:u??`cherry-pick:${p.id}${p.type===UD.MERGE?`|parent:${d}`:""}`};Np=y,g1[y.id]=y,B0[nd]=y.id,Xe.debug(B0),Xe.debug("in cherryPick")}},GUe=function(i){if(i=ci.sanitizeText(i,qt()),B0[i]===void 0){let s=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw s.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},s}else{nd=i;const s=B0[nd];Np=g1[s]}};function KUe(i,s,u){const d=i.indexOf(s);d===-1?i.push(u):i.splice(d,1,u)}function WUe(i){const s=i.reduce((p,v)=>p.seq>v.seq?p:v,i[0]);let u="";i.forEach(function(p){p===s?u+=" *":u+=" |"});const d=[u,s.id,s.seq];for(let p in B0)B0[p]===s.id&&d.push(p);if(Xe.debug(d.join(" ")),s.parents&&s.parents.length==2){const p=g1[s.parents[0]];KUe(i,s,p),i.push(g1[s.parents[1]])}else{if(s.parents.length==0)return;{const p=g1[s.parents];KUe(i,s,p)}}i=stn(i,p=>p.id),WUe(i)}const dtn=function(){Xe.debug(g1);const i=YUe()[0];WUe([i])},gtn=function(){g1={},Np=null;let i=qt().gitGraph.mainBranchName,s=qt().gitGraph.mainBranchOrder;B0={},B0[i]=null,NR={},NR[i]={name:i,order:s},nd=i,YC=0,Ng()},ptn=function(){return Object.values(NR).map((s,u)=>s.order!==null?s:{...s,order:parseFloat(`0.${u}`,10)}).sort((s,u)=>s.order-u.order).map(({name:s})=>({name:s}))},btn=function(){return B0},mtn=function(){return g1},YUe=function(){const i=Object.keys(g1).map(function(s){return g1[s]});return i.forEach(function(s){Xe.debug(s.id)}),i.sort((s,u)=>s.seq-u.seq),i},vtn=function(){return nd},wtn=function(){return VUe},ytn=function(){return Np},UD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},xtn={getConfig:()=>qt().gitGraph,setDirection:atn,setOptions:otn,getOptions:ctn,commit:utn,branch:ltn,merge:htn,cherryPick:ftn,checkout:GUe,prettyPrint:dtn,clear:gtn,getBranchesAsObjArray:ptn,getBranches:btn,getCommits:mtn,getCommitsArray:YUe,getCurrentBranch:vtn,getDirection:wtn,getHead:ytn,setAccTitle:Pg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,setDiagramTitle:cm,getDiagramTitle:Ap,commitType:UD};let PR={};const rd={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},XC=8;let V2={},H7={},uJ=[],BR=0,F0="LR";const ktn=()=>{V2={},H7={},PR={},BR=0,uJ=[],F0="LR"},XUe=i=>{const s=document.createElementNS("http://www.w3.org/2000/svg","text");let u=[];typeof i=="string"?u=i.split(/\\n|\n|/gi):Array.isArray(i)?u=i:u=[];for(const d of u){const p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","0"),p.setAttribute("class","row"),p.textContent=d.trim(),s.appendChild(p)}return s},Etn=i=>{let s="",u=0;return i.forEach(d=>{const p=F0==="TB"?H7[d].y:H7[d].x;p>=u&&(s=d,u=p)}),s||void 0},QUe=(i,s,u)=>{const d=qt().gitGraph,p=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;F0==="TB"&&(b=30);const T=Object.keys(s).sort((R,F)=>s[R].seq-s[F].seq),_=d.parallelCommits,A=10,P=40;T.forEach(R=>{const F=s[R];if(_)if(F.parents.length){const ie=Etn(F.parents);b=F0==="TB"?H7[ie].y+P:H7[ie].x+P}else b=0,F0==="TB"&&(b=30);const j=b+A,W=F0==="TB"?j:V2[F.branch].pos,ee=F0==="TB"?V2[F.branch].pos:j;if(u){let ie,oe=F.customType!==void 0&&F.customType!==""?F.customType:F.type;switch(oe){case rd.NORMAL:ie="commit-normal";break;case rd.REVERSE:ie="commit-reverse";break;case rd.HIGHLIGHT:ie="commit-highlight";break;case rd.MERGE:ie="commit-merge";break;case rd.CHERRY_PICK:ie="commit-cherry-pick";break;default:ie="commit-normal"}if(oe===rd.HIGHLIGHT){const be=p.append("rect");be.attr("x",ee-10),be.attr("y",W-10),be.attr("height",20),be.attr("width",20),be.attr("class",`commit ${F.id} commit-highlight${V2[F.branch].index%XC} ${ie}-outer`),p.append("rect").attr("x",ee-6).attr("y",W-6).attr("height",12).attr("width",12).attr("class",`commit ${F.id} commit${V2[F.branch].index%XC} ${ie}-inner`)}else if(oe===rd.CHERRY_PICK)p.append("circle").attr("cx",ee).attr("cy",W).attr("r",10).attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee-3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee+3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee+3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee-3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`);else{const be=p.append("circle");if(be.attr("cx",ee),be.attr("cy",W),be.attr("r",F.type===rd.MERGE?9:10),be.attr("class",`commit ${F.id} commit${V2[F.branch].index%XC}`),oe===rd.MERGE){const ge=p.append("circle");ge.attr("cx",ee),ge.attr("cy",W),ge.attr("r",6),ge.attr("class",`commit ${ie} ${F.id} commit${V2[F.branch].index%XC}`)}oe===rd.REVERSE&&p.append("path").attr("d",`M ${ee-5},${W-5}L${ee+5},${W+5}M${ee-5},${W+5}L${ee+5},${W-5}`).attr("class",`commit ${ie} ${F.id} commit${V2[F.branch].index%XC}`)}}if(F0==="TB"?H7[F.id]={x:ee,y:j}:H7[F.id]={x:j,y:W},u){if(F.type!==rd.CHERRY_PICK&&(F.customId&&F.type===rd.MERGE||F.type!==rd.MERGE)&&d.showCommitLabel){const be=v.append("g"),ge=be.insert("rect").attr("class","commit-label-bkg"),ae=be.append("text").attr("x",b).attr("y",W+25).attr("class","commit-label").text(F.id);let ne=ae.node().getBBox();if(ge.attr("x",j-ne.width/2-2).attr("y",W+13.5).attr("width",ne.width+2*2).attr("height",ne.height+2*2),F0==="TB"&&(ge.attr("x",ee-(ne.width+4*4+5)).attr("y",W-12),ae.attr("x",ee-(ne.width+4*4)).attr("y",W+ne.height-12)),F0!=="TB"&&ae.attr("x",j-ne.width/2),d.rotateCommitLabel)if(F0==="TB")ae.attr("transform","rotate(-45, "+ee+", "+W+")"),ge.attr("transform","rotate(-45, "+ee+", "+W+")");else{let se=-7.5-(ne.width+10)/25*9.5,de=10+ne.width/25*8.5;be.attr("transform","translate("+se+", "+de+") rotate(-45, "+b+", "+W+")")}}if(F.tag){const be=v.insert("polygon"),ge=v.append("circle"),ae=v.append("text").attr("y",W-16).attr("class","tag-label").text(F.tag);let ne=ae.node().getBBox();ae.attr("x",j-ne.width/2);const se=ne.height/2,de=W-19.2;be.attr("class","tag-label-bkg").attr("points",` + ${b-ne.width/2-4/2},${de+2} + ${b-ne.width/2-4/2},${de-2} + ${j-ne.width/2-4},${de-se-2} + ${j+ne.width/2+4},${de-se-2} + ${j+ne.width/2+4},${de+se+2} + ${j-ne.width/2-4},${de+se+2}`),ge.attr("cx",b-ne.width/2+4/2).attr("cy",de).attr("r",1.5).attr("class","tag-hole"),F0==="TB"&&(be.attr("class","tag-label-bkg").attr("points",` + ${ee},${b+2} + ${ee},${b-2} + ${ee+A},${b-se-2} + ${ee+A+ne.width+4},${b-se-2} + ${ee+A+ne.width+4},${b+se+2} + ${ee+A},${b+se+2}`).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ge.attr("cx",ee+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ae.attr("x",ee+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+ee+","+b+")"))}}b+=P+A,b>BR&&(BR=b)})},Ttn=(i,s,u,d,p)=>{const b=(F0==="TB"?u.x_.branch===b,T=_=>_.seq>i.seq&&_.seqT(_)&&y(_))},FR=(i,s,u=0)=>{const d=i+Math.abs(i-s)/2;if(u>5)return d;if(uJ.every(b=>Math.abs(b-d)>=10))return uJ.push(d),d;const v=Math.abs(i-s);return FR(i,s-v/5,u+1)},Ctn=(i,s,u,d)=>{const p=H7[s.id],v=H7[u.id],b=Ttn(s,u,p,v,d);let y="",T="",_=0,A=0,P=V2[u.branch].index;u.type===rd.MERGE&&s.id!==u.parents[0]&&(P=V2[s.branch].index);let R;if(b){y="A 10 10, 0, 0, 0,",T="A 10 10, 0, 0, 1,",_=10,A=10;const F=p.yv.x&&(y="A 20 20, 0, 0, 0,",T="A 20 20, 0, 0, 1,",_=20,A=20,u.type===rd.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${T} ${p.x-A} ${v.y} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${v.x+_} ${p.y} ${y} ${v.x} ${p.y+A} L ${v.x} ${v.y}`),p.x===v.x&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`)):(p.yv.y&&(u.type===rd.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${y} ${v.x} ${p.y-A} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${p.x} ${v.y+_} ${T} ${p.x+A} ${v.y} L ${v.x} ${v.y}`),p.y===v.y&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+P%XC)},Stn=(i,s)=>{const u=i.append("g").attr("class","commit-arrows");Object.keys(s).forEach(d=>{const p=s[d];p.parents&&p.parents.length>0&&p.parents.forEach(v=>{Ctn(u,s[v],p,s)})})},_tn=(i,s)=>{const u=qt().gitGraph,d=i.append("g");s.forEach((p,v)=>{const b=v%XC,y=V2[p.name].pos,T=d.append("line");T.attr("x1",0),T.attr("y1",y),T.attr("x2",BR),T.attr("y2",y),T.attr("class","branch branch"+b),F0==="TB"&&(T.attr("y1",30),T.attr("x1",y),T.attr("y2",BR),T.attr("x2",y)),uJ.push(y);let _=p.name;const A=XUe(_),P=d.insert("rect"),F=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);F.node().appendChild(A);let j=A.getBBox();P.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-j.width-4-(u.rotateCommitLabel===!0?30:0)).attr("y",-j.height/2+8).attr("width",j.width+18).attr("height",j.height+4),F.attr("transform","translate("+(-j.width-14-(u.rotateCommitLabel===!0?30:0))+", "+(y-j.height/2-1)+")"),F0==="TB"&&(P.attr("x",y-j.width/2-10).attr("y",0),F.attr("transform","translate("+(y-j.width/2-5)+", 0)")),F0!=="TB"&&P.attr("transform","translate(-19, "+(y-j.height/2)+")")})},Atn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:rtn,db:xtn,renderer:{draw:function(i,s,u,d){ktn();const p=qt(),v=p.gitGraph;Xe.debug("in gitgraph renderer",i+` +`,"id:",s,u),PR=d.db.getCommits();const b=d.db.getBranchesAsObjArray();F0=d.db.getDirection();const y=Ir(`[id="${s}"]`);let T=0;b.forEach((_,A)=>{const P=XUe(_.name),R=y.append("g"),F=R.insert("g").attr("class","branchLabel"),j=F.insert("g").attr("class","label branch-label");j.node().appendChild(P);let W=P.getBBox();V2[_.name]={pos:T,index:A},T+=50+(v.rotateCommitLabel?40:0)+(F0==="TB"?W.width/2:0),j.remove(),F.remove(),R.remove()}),QUe(y,PR,!1),v.showBranches&&_tn(y,b),Stn(y,PR),QUe(y,PR,!0),So.insertTitle(y,"gitTitleText",v.titleTopMargin,d.db.getDiagramTitle()),n$e(void 0,y,v.diagramPadding,v.useMaxWidth??p.useMaxWidth)}},styles:i=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(s=>` + .branch-label${s} { fill: ${i["gitBranchLabel"+s]}; } + .commit${s} { stroke: ${i["git"+s]}; fill: ${i["git"+s]}; } + .commit-highlight${s} { stroke: ${i["gitInv"+s]}; fill: ${i["gitInv"+s]}; } + .label${s} { fill: ${i["git"+s]}; } + .arrow${s} { stroke: ${i["git"+s]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${i.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};} + .commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};} + .tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; } + .tag-hole { fill: ${i.textColor}; } + + .commit-merge { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + .commit-reverse { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${i.primaryColor}; + fill: ${i.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`}},Symbol.toStringTag,{value:"Module"}));var Xme=function(){var i=function(K,xe,U,Be){for(U=U||{},Be=K.length;Be--;U[K[Be]]=xe);return U},s=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],u=[1,25],d=[1,26],p=[1,27],v=[1,28],b=[1,29],y=[1,30],T=[1,31],_=[1,9],A=[1,10],P=[1,11],R=[1,12],F=[1,13],j=[1,14],W=[1,15],ee=[1,16],ie=[1,18],oe=[1,19],be=[1,20],ge=[1,21],ae=[1,22],ne=[1,24],se=[1,32],de={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(xe,U,Be,Ne,je,Ie,Se){var Ce=Ie.length-1;switch(je){case 1:return Ie[Ce-1];case 2:this.$=[];break;case 3:Ie[Ce-1].push(Ie[Ce]),this.$=Ie[Ce-1];break;case 4:case 5:this.$=Ie[Ce];break;case 6:case 7:this.$=[];break;case 8:Ne.setWeekday("monday");break;case 9:Ne.setWeekday("tuesday");break;case 10:Ne.setWeekday("wednesday");break;case 11:Ne.setWeekday("thursday");break;case 12:Ne.setWeekday("friday");break;case 13:Ne.setWeekday("saturday");break;case 14:Ne.setWeekday("sunday");break;case 15:Ne.setDateFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 16:Ne.enableInclusiveEndDates(),this.$=Ie[Ce].substr(18);break;case 17:Ne.TopAxis(),this.$=Ie[Ce].substr(8);break;case 18:Ne.setAxisFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 19:Ne.setTickInterval(Ie[Ce].substr(13)),this.$=Ie[Ce].substr(13);break;case 20:Ne.setExcludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 21:Ne.setIncludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 22:Ne.setTodayMarker(Ie[Ce].substr(12)),this.$=Ie[Ce].substr(12);break;case 24:Ne.setDiagramTitle(Ie[Ce].substr(6)),this.$=Ie[Ce].substr(6);break;case 25:this.$=Ie[Ce].trim(),Ne.setAccTitle(this.$);break;case 26:case 27:this.$=Ie[Ce].trim(),Ne.setAccDescription(this.$);break;case 28:Ne.addSection(Ie[Ce].substr(8)),this.$=Ie[Ce].substr(8);break;case 30:Ne.addTask(Ie[Ce-1],Ie[Ce]),this.$="task";break;case 31:this.$=Ie[Ce-1],Ne.setClickEvent(Ie[Ce-1],Ie[Ce],null);break;case 32:this.$=Ie[Ce-2],Ne.setClickEvent(Ie[Ce-2],Ie[Ce-1],Ie[Ce]);break;case 33:this.$=Ie[Ce-2],Ne.setClickEvent(Ie[Ce-2],Ie[Ce-1],null),Ne.setLink(Ie[Ce-2],Ie[Ce]);break;case 34:this.$=Ie[Ce-3],Ne.setClickEvent(Ie[Ce-3],Ie[Ce-2],Ie[Ce-1]),Ne.setLink(Ie[Ce-3],Ie[Ce]);break;case 35:this.$=Ie[Ce-2],Ne.setClickEvent(Ie[Ce-2],Ie[Ce],null),Ne.setLink(Ie[Ce-2],Ie[Ce-1]);break;case 36:this.$=Ie[Ce-3],Ne.setClickEvent(Ie[Ce-3],Ie[Ce-1],Ie[Ce]),Ne.setLink(Ie[Ce-3],Ie[Ce-2]);break;case 37:this.$=Ie[Ce-1],Ne.setLink(Ie[Ce-1],Ie[Ce]);break;case 38:case 44:this.$=Ie[Ce-1]+" "+Ie[Ce];break;case 39:case 40:case 42:this.$=Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break;case 41:case 43:this.$=Ie[Ce-3]+" "+Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:33,11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(s,[2,5]),i(s,[2,6]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),i(s,[2,18]),i(s,[2,19]),i(s,[2,20]),i(s,[2,21]),i(s,[2,22]),i(s,[2,23]),i(s,[2,24]),{29:[1,34]},{31:[1,35]},i(s,[2,27]),i(s,[2,28]),i(s,[2,29]),{36:[1,36]},i(s,[2,8]),i(s,[2,9]),i(s,[2,10]),i(s,[2,11]),i(s,[2,12]),i(s,[2,13]),i(s,[2,14]),{38:[1,37],40:[1,38]},i(s,[2,4]),i(s,[2,25]),i(s,[2,26]),i(s,[2,30]),i(s,[2,31],{39:[1,39],40:[1,40]}),i(s,[2,37],{38:[1,41]}),i(s,[2,32],{40:[1,42]}),i(s,[2,33]),i(s,[2,35],{39:[1,43]}),i(s,[2,34]),i(s,[2,36])],defaultActions:{},parseError:function(xe,U){if(U.recoverable)this.trace(xe);else{var Be=new Error(xe);throw Be.hash=U,Be}},parse:function(xe){var U=this,Be=[0],Ne=[],je=[null],Ie=[],Se=this.table,Ce="",ke=0,Ke=0,Ft=2,Pe=1,gn=Ie.slice.call(arguments,1),kt=Object.create(this.lexer),Et={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(Et.yy[Gt]=this.yy[Gt]);kt.setInput(xe,Et.yy),Et.yy.lexer=kt,Et.yy.parser=this,typeof kt.yylloc>"u"&&(kt.yylloc={});var ln=kt.yylloc;Ie.push(ln);var xt=kt.options&&kt.options.ranges;typeof Et.yy.parseError=="function"?this.parseError=Et.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var ta;return ta=Ne.pop()||kt.lex()||Pe,typeof ta!="number"&&(ta instanceof Array&&(Ne=ta,ta=Ne.pop()),ta=U.symbols_[ta]||ta),ta}for(var Ze,At,Tt,On,ht={},zr,yt,Fi,yi;;){if(At=Be[Be.length-1],this.defaultActions[At]?Tt=this.defaultActions[At]:((Ze===null||typeof Ze>"u")&&(Ze=Pt()),Tt=Se[At]&&Se[At][Ze]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Pa="";yi=[];for(zr in Se[At])this.terminals_[zr]&&zr>Ft&&yi.push("'"+this.terminals_[zr]+"'");kt.showPosition?Pa="Parse error on line "+(ke+1)+`: +`+kt.showPosition()+` +Expecting `+yi.join(", ")+", got '"+(this.terminals_[Ze]||Ze)+"'":Pa="Parse error on line "+(ke+1)+": Unexpected "+(Ze==Pe?"end of input":"'"+(this.terminals_[Ze]||Ze)+"'"),this.parseError(Pa,{text:kt.match,token:this.terminals_[Ze]||Ze,line:kt.yylineno,loc:ln,expected:yi})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+At+", token: "+Ze);switch(Tt[0]){case 1:Be.push(Ze),je.push(kt.yytext),Ie.push(kt.yylloc),Be.push(Tt[1]),Ze=null,Ke=kt.yyleng,Ce=kt.yytext,ke=kt.yylineno,ln=kt.yylloc;break;case 2:if(yt=this.productions_[Tt[1]][1],ht.$=je[je.length-yt],ht._$={first_line:Ie[Ie.length-(yt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(yt||1)].first_column,last_column:Ie[Ie.length-1].last_column},xt&&(ht._$.range=[Ie[Ie.length-(yt||1)].range[0],Ie[Ie.length-1].range[1]]),On=this.performAction.apply(ht,[Ce,Ke,ke,Et.yy,Tt[1],je,Ie].concat(gn)),typeof On<"u")return On;yt&&(Be=Be.slice(0,-1*yt*2),je=je.slice(0,-1*yt),Ie=Ie.slice(0,-1*yt)),Be.push(this.productions_[Tt[1]][0]),je.push(ht.$),Ie.push(ht._$),Fi=Se[Be[Be.length-2]][Be[Be.length-1]],Be.push(Fi);break;case 3:return!0}}return!0}},X=function(){var K={EOF:1,parseError:function(U,Be){if(this.yy.parser)this.yy.parser.parseError(U,Be);else throw new Error(U)},setInput:function(xe,U){return this.yy=U||this.yy||{},this._input=xe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var U=xe.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xe},unput:function(xe){var U=xe.length,Be=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var Ne=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Be.length-1&&(this.yylineno-=Be.length-1);var je=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Be?(Be.length===Ne.length?this.yylloc.first_column:0)+Ne[Ne.length-Be.length].length-Be[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[je[0],je[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(xe){this.unput(this.match.slice(xe))},pastInput:function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var xe=this.pastInput(),U=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+` +`+U+"^"},test_match:function(xe,U){var Be,Ne,je;if(this.options.backtrack_lexer&&(je={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(je.yylloc.range=this.yylloc.range.slice(0))),Ne=xe[0].match(/(?:\r\n?|\n).*/g),Ne&&(this.yylineno+=Ne.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ne?Ne[Ne.length-1].length-Ne[Ne.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(xe[0].length),this.matched+=xe[0],Be=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Be)return Be;if(this._backtrack){for(var Ie in je)this[Ie]=je[Ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,U,Be,Ne;this._more||(this.yytext="",this.match="");for(var je=this._currentRules(),Ie=0;IeU[0].length)){if(U=Be,Ne=Ie,this.options.backtrack_lexer){if(xe=this.test_match(Be,je[Ie]),xe!==!1)return xe;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(xe=this.test_match(U,je[Ne]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var U=this.next();return U||this.lex()},begin:function(U){this.conditionStack.push(U)},popState:function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},pushState:function(U){this.begin(U)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(U,Be,Ne,je){switch(Ne){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}};return K}();de.lexer=X;function pe(){this.yy={}}return pe.prototype=de,de.Parser=pe,new pe}();Xme.parser=Xme;const Ltn=Xme;var JUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(_g,function(){var u="day";return function(d,p,v){var b=function(_){return _.add(4-_.isoWeekday(),u)},y=p.prototype;y.isoWeekYear=function(){return b(this).year()},y.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),u);var A,P,R,F,j=b(this),W=(A=this.isoWeekYear(),P=this.$u,R=(P?v.utc:v)().year(A).startOf("year"),F=4-R.isoWeekday(),R.isoWeekday()>4&&(F+=7),R.add(F,u));return j.diff(W,"week")+1},y.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var T=y.startOf;y.startOf=function(_,A){var P=this.$utils(),R=!!P.u(A)||A;return P.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):T.bind(this)(_,A)}}})})(JUe);var Mtn=JUe.exports;const Dtn=hC(Mtn);var ZUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(_g,function(){var u={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},d=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,p=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,y={},T=function(W){return(W=+W)+(W>68?1900:2e3)},_=function(W){return function(ee){this[W]=+ee}},A=[/[+-]\d\d:?(\d\d)?|Z/,function(W){(this.zone||(this.zone={})).offset=function(ee){if(!ee||ee==="Z")return 0;var ie=ee.match(/([+-]|\d\d)/g),oe=60*ie[1]+(+ie[2]||0);return oe===0?0:ie[0]==="+"?-oe:oe}(W)}],P=function(W){var ee=y[W];return ee&&(ee.indexOf?ee:ee.s.concat(ee.f))},R=function(W,ee){var ie,oe=y.meridiem;if(oe){for(var be=1;be<=24;be+=1)if(W.indexOf(oe(be,0,ee))>-1){ie=be>12;break}}else ie=W===(ee?"pm":"PM");return ie},F={A:[b,function(W){this.afternoon=R(W,!1)}],a:[b,function(W){this.afternoon=R(W,!0)}],S:[/\d/,function(W){this.milliseconds=100*+W}],SS:[p,function(W){this.milliseconds=10*+W}],SSS:[/\d{3}/,function(W){this.milliseconds=+W}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[p,_("day")],Do:[b,function(W){var ee=y.ordinal,ie=W.match(/\d+/);if(this.day=ie[0],ee)for(var oe=1;oe<=31;oe+=1)ee(oe).replace(/\[|\]/g,"")===W&&(this.day=oe)}],M:[v,_("month")],MM:[p,_("month")],MMM:[b,function(W){var ee=P("months"),ie=(P("monthsShort")||ee.map(function(oe){return oe.slice(0,3)})).indexOf(W)+1;if(ie<1)throw new Error;this.month=ie%12||ie}],MMMM:[b,function(W){var ee=P("months").indexOf(W)+1;if(ee<1)throw new Error;this.month=ee%12||ee}],Y:[/[+-]?\d+/,_("year")],YY:[p,function(W){this.year=T(W)}],YYYY:[/\d{4}/,_("year")],Z:A,ZZ:A};function j(W){var ee,ie;ee=W,ie=y&&y.formats;for(var oe=(W=ee.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,pe,K){var xe=K&&K.toUpperCase();return pe||ie[K]||u[K]||ie[xe].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(U,Be,Ne){return Be||Ne.slice(1)})})).match(d),be=oe.length,ge=0;ge-1)return new Date((Ie==="X"?1e3:1)*je);var Ce=j(Ie)(je),ke=Ce.year,Ke=Ce.month,Ft=Ce.day,Pe=Ce.hours,gn=Ce.minutes,kt=Ce.seconds,Et=Ce.milliseconds,Gt=Ce.zone,ln=new Date,xt=Ft||(ke||Ke?1:ln.getDate()),Pt=ke||ln.getFullYear(),Ze=0;ke&&!Ke||(Ze=Ke>0?Ke-1:ln.getMonth());var At=Pe||0,Tt=gn||0,On=kt||0,ht=Et||0;return Gt?new Date(Date.UTC(Pt,Ze,xt,At,Tt,On,ht+60*Gt.offset*1e3)):Se?new Date(Date.UTC(Pt,Ze,xt,At,Tt,On,ht)):new Date(Pt,Ze,xt,At,Tt,On,ht)}catch{return new Date("")}}(ae,de,ne),this.init(),xe&&xe!==!0&&(this.$L=this.locale(xe).$L),K&&ae!=this.format(de)&&(this.$d=new Date("")),y={}}else if(de instanceof Array)for(var U=de.length,Be=1;Be<=U;Be+=1){se[1]=de[Be-1];var Ne=ie.apply(this,se);if(Ne.isValid()){this.$d=Ne.$d,this.$L=Ne.$L,this.init();break}Be===U&&(this.$d=new Date(""))}else be.call(this,ge)}}})})(ZUe);var Itn=ZUe.exports;const Otn=hC(Itn);var eGe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(_g,function(){return function(u,d){var p=d.prototype,v=p.format;p.format=function(b){var y=this,T=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),A=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return T.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return T.ordinal(y.week(),"W");case"w":case"ww":return _.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return _.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return _.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}});return v.bind(this)(A)}}})})(eGe);var Ntn=eGe.exports;const Ptn=hC(Ntn);Ag.extend(Dtn),Ag.extend(Otn),Ag.extend(Ptn);let i5="",Qme="",Jme,Zme="",RR=[],jR=[],eve={},tve=[],lJ=[],GD="",nve="";const tGe=["active","done","crit","milestone"];let rve=[],$R=!1,ive=!1,sve="sunday",ave=0;const Btn=function(){tve=[],lJ=[],GD="",rve=[],hJ=0,cve=void 0,fJ=void 0,p1=[],i5="",Qme="",nve="",Jme=void 0,Zme="",RR=[],jR=[],$R=!1,ive=!1,ave=0,eve={},Ng(),sve="sunday"},Ftn=function(i){Qme=i},Rtn=function(){return Qme},jtn=function(i){Jme=i},$tn=function(){return Jme},ztn=function(i){Zme=i},qtn=function(){return Zme},Htn=function(i){i5=i},Vtn=function(){$R=!0},Utn=function(){return $R},Gtn=function(){ive=!0},Ktn=function(){return ive},Wtn=function(i){nve=i},Ytn=function(){return nve},Xtn=function(){return i5},Qtn=function(i){RR=i.toLowerCase().split(/[\s,]+/)},Jtn=function(){return RR},Ztn=function(i){jR=i.toLowerCase().split(/[\s,]+/)},enn=function(){return jR},tnn=function(){return eve},nnn=function(i){GD=i,tve.push(i)},rnn=function(){return tve},inn=function(){let i=oGe();const s=10;let u=0;for(;!i&&u=6&&u.includes("weekends")||u.includes(i.format("dddd").toLowerCase())?!0:u.includes(i.format(s.trim()))},snn=function(i){sve=i},ann=function(){return sve},rGe=function(i,s,u,d){if(!u.length||i.manualEndTime)return;let p;i.startTime instanceof Date?p=Ag(i.startTime):p=Ag(i.startTime,s,!0),p=p.add(1,"d");let v;i.endTime instanceof Date?v=Ag(i.endTime):v=Ag(i.endTime,s,!0);const[b,y]=onn(p,v,s,u,d);i.endTime=b.toDate(),i.renderEndTime=y},onn=function(i,s,u,d,p){let v=!1,b=null;for(;i<=s;)v||(b=s.toDate()),v=nGe(i,u,d,p),v&&(s=s.add(1,"d")),i=i.add(1,"d");return[s,b]},ove=function(i,s,u){u=u.trim();const p=/^after\s+(?[\d\w- ]+)/.exec(u);if(p!==null){let b=null;for(const T of p.groups.ids.split(" ")){let _=QC(T);_!==void 0&&(!b||_.endTime>b.endTime)&&(b=_)}if(b)return b.endTime;const y=new Date;return y.setHours(0,0,0,0),y}let v=Ag(u,s.trim(),!0);if(v.isValid())return v.toDate();{Xe.debug("Invalid date:"+u),Xe.debug("With date format:"+s.trim());const b=new Date(u);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+u);return b}},iGe=function(i){const s=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return s!==null?[Number.parseFloat(s[1]),s[2]]:[NaN,"ms"]},sGe=function(i,s,u,d=!1){u=u.trim();const v=/^until\s+(?[\d\w- ]+)/.exec(u);if(v!==null){let A=null;for(const R of v.groups.ids.split(" ")){let F=QC(R);F!==void 0&&(!A||F.startTime{window.open(u,"_self")}),eve[d]=u)}),cGe(i,"clickable")},cGe=function(i,s){i.split(",").forEach(function(u){let d=QC(u);d!==void 0&&d.classes.push(s)})},dnn=function(i,s,u){if(qt().securityLevel!=="loose"||s===void 0)return;let d=[];if(typeof u=="string"){d=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v{So.runFunc(s,...d)})},uGe=function(i,s){rve.push(function(){const u=document.querySelector(`[id="${i}"]`);u!==null&&u.addEventListener("click",function(){s()})},function(){const u=document.querySelector(`[id="${i}-text"]`);u!==null&&u.addEventListener("click",function(){s()})})},gnn={getConfig:()=>qt().gantt,clear:Btn,setDateFormat:Htn,getDateFormat:Xtn,enableInclusiveEndDates:Vtn,endDatesAreInclusive:Utn,enableTopAxis:Gtn,topAxisEnabled:Ktn,setAxisFormat:Ftn,getAxisFormat:Rtn,setTickInterval:jtn,getTickInterval:$tn,setTodayMarker:ztn,getTodayMarker:qtn,setAccTitle:Pg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,setDisplayMode:Wtn,getDisplayMode:Ytn,setAccDescription:Sp,getAccDescription:_p,addSection:nnn,getSections:rnn,getTasks:inn,addTask:lnn,findTaskById:QC,addTaskOrg:hnn,setIncludes:Qtn,getIncludes:Jtn,setExcludes:Ztn,getExcludes:enn,setClickEvent:function(i,s,u){i.split(",").forEach(function(d){dnn(d,s,u)}),cGe(i,"clickable")},setLink:fnn,getLinks:tnn,bindFunctions:function(i){rve.forEach(function(s){s(i)})},parseDuration:iGe,isInvalidDate:nGe,setWeekday:snn,getWeekday:ann};function lGe(i,s,u){let d=!0;for(;d;)d=!1,u.forEach(function(p){const v="^\\s*"+p+"\\s*$",b=new RegExp(v);i[0].match(b)&&(s[p]=!0,i.shift(1),d=!0)})}const pnn=function(){Xe.debug("Something is calling, setConf, remove the call")},hGe={monday:DF,tuesday:kFe,wednesday:EFe,thursday:yC,friday:TFe,saturday:CFe,sunday:MF},bnn=(i,s)=>{let u=[...i].map(()=>-1/0),d=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),p=0;for(const v of d)for(let b=0;b=u[b]){u[b]=v.endTime,v.order=b+s,b>p&&(p=b);break}return p};let V7;const mnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Ltn,db:gnn,renderer:{setConf:pnn,draw:function(i,s,u,d){const p=qt().gantt,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=v==="sandbox"?b.nodes()[0].contentDocument:document,_=T.getElementById(s);V7=_.parentElement.offsetWidth,V7===void 0&&(V7=1200),p.useWidth!==void 0&&(V7=p.useWidth);const A=d.db.getTasks();let P=[];for(const de of A)P.push(de.type);P=se(P);const R={};let F=2*p.topPadding;if(d.db.getDisplayMode()==="compact"||p.displayMode==="compact"){const de={};for(const pe of A)de[pe.section]===void 0?de[pe.section]=[pe]:de[pe.section].push(pe);let X=0;for(const pe of Object.keys(de)){const K=bnn(de[pe],X)+1;X+=K,F+=K*(p.barHeight+p.barGap),R[pe]=K}}else{F+=A.length*(p.barHeight+p.barGap);for(const de of P)R[de]=A.filter(X=>X.type===de).length}_.setAttribute("viewBox","0 0 "+V7+" "+F);const j=y.select(`[id="${s}"]`),W=gNt().domain([XAt(A,function(de){return de.startTime}),YAt(A,function(de){return de.endTime})]).rangeRound([0,V7-p.leftPadding-p.rightPadding]);function ee(de,X){const pe=de.startTime,K=X.startTime;let xe=0;return pe>K?xe=1:peke.order))].map(ke=>de.find(Ke=>Ke.order===ke));j.append("g").selectAll("rect").data(je).enter().append("rect").attr("x",0).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe-2}).attr("width",function(){return Be-p.rightPadding/2}).attr("height",X).attr("class",function(ke){for(const[Ke,Ft]of P.entries())if(ke.type===Ft)return"section section"+Ke%p.numberSectionStyles;return"section section0"});const Ie=j.append("g").selectAll("rect").data(de).enter(),Se=d.db.getLinks();if(Ie.append("rect").attr("id",function(ke){return ke.id}).attr("rx",3).attr("ry",3).attr("x",function(ke){return ke.milestone?W(ke.startTime)+K+.5*(W(ke.endTime)-W(ke.startTime))-.5*xe:W(ke.startTime)+K}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe}).attr("width",function(ke){return ke.milestone?xe:W(ke.renderEndTime||ke.endTime)-W(ke.startTime)}).attr("height",xe).attr("transform-origin",function(ke,Ke){return Ke=ke.order,(W(ke.startTime)+K+.5*(W(ke.endTime)-W(ke.startTime))).toString()+"px "+(Ke*X+pe+.5*xe).toString()+"px"}).attr("class",function(ke){const Ke="task";let Ft="";ke.classes.length>0&&(Ft=ke.classes.join(" "));let Pe=0;for(const[kt,Et]of P.entries())ke.type===Et&&(Pe=kt%p.numberSectionStyles);let gn="";return ke.active?ke.crit?gn+=" activeCrit":gn=" active":ke.done?ke.crit?gn=" doneCrit":gn=" done":ke.crit&&(gn+=" crit"),gn.length===0&&(gn=" task"),ke.milestone&&(gn=" milestone "+gn),gn+=Pe,gn+=" "+Ft,Ke+gn}),Ie.append("text").attr("id",function(ke){return ke.id+"-text"}).text(function(ke){return ke.task}).attr("font-size",p.fontSize).attr("x",function(ke){let Ke=W(ke.startTime),Ft=W(ke.renderEndTime||ke.endTime);ke.milestone&&(Ke+=.5*(W(ke.endTime)-W(ke.startTime))-.5*xe),ke.milestone&&(Ft=Ke+xe);const Pe=this.getBBox().width;return Pe>Ft-Ke?Ft+Pe+1.5*p.leftPadding>Be?Ke+K-5:Ft+K+5:(Ft-Ke)/2+Ke+K}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+p.barHeight/2+(p.fontSize/2-2)+pe}).attr("text-height",xe).attr("class",function(ke){const Ke=W(ke.startTime);let Ft=W(ke.endTime);ke.milestone&&(Ft=Ke+xe);const Pe=this.getBBox().width;let gn="";ke.classes.length>0&&(gn=ke.classes.join(" "));let kt=0;for(const[Gt,ln]of P.entries())ke.type===ln&&(kt=Gt%p.numberSectionStyles);let Et="";return ke.active&&(ke.crit?Et="activeCritText"+kt:Et="activeText"+kt),ke.done?ke.crit?Et=Et+" doneCritText"+kt:Et=Et+" doneText"+kt:ke.crit&&(Et=Et+" critText"+kt),ke.milestone&&(Et+=" milestoneText"),Pe>Ft-Ke?Ft+Pe+1.5*p.leftPadding>Be?gn+" taskTextOutsideLeft taskTextOutside"+kt+" "+Et:gn+" taskTextOutsideRight taskTextOutside"+kt+" "+Et+" width-"+Pe:gn+" taskText taskText"+kt+" "+Et+" width-"+Pe}),qt().securityLevel==="sandbox"){let ke;ke=Ir("#i"+s);const Ke=ke.nodes()[0].contentDocument;Ie.filter(function(Ft){return Se[Ft.id]!==void 0}).each(function(Ft){var Pe=Ke.querySelector("#"+Ft.id),gn=Ke.querySelector("#"+Ft.id+"-text");const kt=Pe.parentNode;var Et=Ke.createElement("a");Et.setAttribute("xlink:href",Se[Ft.id]),Et.setAttribute("target","_top"),kt.appendChild(Et),Et.appendChild(Pe),Et.appendChild(gn)})}}function be(de,X,pe,K,xe,U,Be,Ne){if(Be.length===0&&Ne.length===0)return;let je,Ie;for(const{startTime:Pe,endTime:gn}of U)(je===void 0||PeIe)&&(Ie=gn);if(!je||!Ie)return;if(Ag(Ie).diff(Ag(je),"year")>5){Xe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Se=d.db.getDateFormat(),Ce=[];let ke=null,Ke=Ag(je);for(;Ke.valueOf()<=Ie;)d.db.isInvalidDate(Ke,Se,Be,Ne)?ke?ke.end=Ke:ke={start:Ke,end:Ke}:ke&&(Ce.push(ke),ke=null),Ke=Ke.add(1,"d");j.append("g").selectAll("rect").data(Ce).enter().append("rect").attr("id",function(Pe){return"exclude-"+Pe.start.format("YYYY-MM-DD")}).attr("x",function(Pe){return W(Pe.start)+pe}).attr("y",p.gridLineStartPadding).attr("width",function(Pe){const gn=Pe.end.add(1,"day");return W(gn)-W(Pe.start)}).attr("height",xe-X-p.gridLineStartPadding).attr("transform-origin",function(Pe,gn){return(W(Pe.start)+pe+.5*(W(Pe.end)-W(Pe.start))).toString()+"px "+(gn*de+.5*xe).toString()+"px"}).attr("class","exclude-range")}function ge(de,X,pe,K){let xe=sLt(W).tickSize(-K+X+p.gridLineStartPadding).tickFormat(aX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));const Be=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(d.db.getTickInterval()||p.tickInterval);if(Be!==null){const Ne=Be[1],je=Be[2],Ie=d.db.getWeekday()||p.weekday;switch(je){case"millisecond":xe.ticks(aD.every(Ne));break;case"second":xe.ticks(b9.every(Ne));break;case"minute":xe.ticks(AF.every(Ne));break;case"hour":xe.ticks(LF.every(Ne));break;case"day":xe.ticks(vC.every(Ne));break;case"week":xe.ticks(hGe[Ie].every(Ne));break;case"month":xe.ticks(IF.every(Ne));break}}if(j.append("g").attr("class","grid").attr("transform","translate("+de+", "+(K-50)+")").call(xe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),d.db.topAxisEnabled()||p.topAxis){let Ne=iLt(W).tickSize(-K+X+p.gridLineStartPadding).tickFormat(aX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));if(Be!==null){const je=Be[1],Ie=Be[2],Se=d.db.getWeekday()||p.weekday;switch(Ie){case"millisecond":Ne.ticks(aD.every(je));break;case"second":Ne.ticks(b9.every(je));break;case"minute":Ne.ticks(AF.every(je));break;case"hour":Ne.ticks(LF.every(je));break;case"day":Ne.ticks(vC.every(je));break;case"week":Ne.ticks(hGe[Se].every(je));break;case"month":Ne.ticks(IF.every(je));break}}j.append("g").attr("class","grid").attr("transform","translate("+de+", "+X+")").call(Ne).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ae(de,X){let pe=0;const K=Object.keys(R).map(xe=>[xe,R[xe]]);j.append("g").selectAll("text").data(K).enter().append(function(xe){const U=xe[0].split(ci.lineBreakRegex),Be=-(U.length-1)/2,Ne=T.createElementNS("http://www.w3.org/2000/svg","text");Ne.setAttribute("dy",Be+"em");for(const[je,Ie]of U.entries()){const Se=T.createElementNS("http://www.w3.org/2000/svg","tspan");Se.setAttribute("alignment-baseline","central"),Se.setAttribute("x","10"),je>0&&Se.setAttribute("dy","1em"),Se.textContent=Ie,Ne.appendChild(Se)}return Ne}).attr("x",10).attr("y",function(xe,U){if(U>0)for(let Be=0;Be` + .mermaid-main-font { + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .exclude-range { + fill: ${i.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${i.sectionBkgColor}; + } + + .section2 { + fill: ${i.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${i.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${i.titleColor}; + } + + .sectionTitle1 { + fill: ${i.titleColor}; + } + + .sectionTitle2 { + fill: ${i.titleColor}; + } + + .sectionTitle3 { + fill: ${i.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${i.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${i.fontFamily}; + fill: ${i.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${i.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideRight { + fill: ${i.taskTextDarkColor}; + text-anchor: start; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } + + .taskTextOutsideLeft { + fill: ${i.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${i.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${i.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${i.taskBkgColor}; + stroke: ${i.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${i.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${i.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${i.activeTaskBkgColor}; + stroke: ${i.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${i.doneTaskBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${i.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${i.critBorderColor}; + fill: ${i.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${i.critBorderColor}; + fill: ${i.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${i.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.titleColor||i.textColor}; + font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); + } +`}},Symbol.toStringTag,{value:"Module"}));var uve=function(){var i=function(v,b,y,T){for(y=y||{},T=v.length;T--;y[v[T]]=b);return y},s=[6,9,10],u={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,y,T,_,A,P,R){switch(P.length-1,A){case 1:return _;case 4:break;case 6:_.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(s,[2,3]),i(s,[2,4]),i(s,[2,5]),i(s,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,y){if(y.recoverable)this.trace(b);else{var T=new Error(b);throw T.hash=y,T}},parse:function(b){var y=this,T=[0],_=[],A=[null],P=[],R=this.table,F="",j=0,W=0,ee=2,ie=1,oe=P.slice.call(arguments,1),be=Object.create(this.lexer),ge={yy:{}};for(var ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ae)&&(ge.yy[ae]=this.yy[ae]);be.setInput(b,ge.yy),ge.yy.lexer=be,ge.yy.parser=this,typeof be.yylloc>"u"&&(be.yylloc={});var ne=be.yylloc;P.push(ne);var se=be.options&&be.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(){var Ce;return Ce=_.pop()||be.lex()||ie,typeof Ce!="number"&&(Ce instanceof Array&&(_=Ce,Ce=_.pop()),Ce=y.symbols_[Ce]||Ce),Ce}for(var X,pe,K,xe,U={},Be,Ne,je,Ie;;){if(pe=T[T.length-1],this.defaultActions[pe]?K=this.defaultActions[pe]:((X===null||typeof X>"u")&&(X=de()),K=R[pe]&&R[pe][X]),typeof K>"u"||!K.length||!K[0]){var Se="";Ie=[];for(Be in R[pe])this.terminals_[Be]&&Be>ee&&Ie.push("'"+this.terminals_[Be]+"'");be.showPosition?Se="Parse error on line "+(j+1)+`: +`+be.showPosition()+` +Expecting `+Ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Se="Parse error on line "+(j+1)+": Unexpected "+(X==ie?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Se,{text:be.match,token:this.terminals_[X]||X,line:be.yylineno,loc:ne,expected:Ie})}if(K[0]instanceof Array&&K.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pe+", token: "+X);switch(K[0]){case 1:T.push(X),A.push(be.yytext),P.push(be.yylloc),T.push(K[1]),X=null,W=be.yyleng,F=be.yytext,j=be.yylineno,ne=be.yylloc;break;case 2:if(Ne=this.productions_[K[1]][1],U.$=A[A.length-Ne],U._$={first_line:P[P.length-(Ne||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(Ne||1)].first_column,last_column:P[P.length-1].last_column},se&&(U._$.range=[P[P.length-(Ne||1)].range[0],P[P.length-1].range[1]]),xe=this.performAction.apply(U,[F,W,j,ge.yy,K[1],A,P].concat(oe)),typeof xe<"u")return xe;Ne&&(T=T.slice(0,-1*Ne*2),A=A.slice(0,-1*Ne),P=P.slice(0,-1*Ne)),T.push(this.productions_[K[1]][0]),A.push(U.$),P.push(U._$),je=R[T[T.length-2]][T[T.length-1]],T.push(je);break;case 3:return!0}}return!0}},d=function(){var v={EOF:1,parseError:function(y,T){if(this.yy.parser)this.yy.parser.parseError(y,T);else throw new Error(y)},setInput:function(b,y){return this.yy=y||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var y=b.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var y=b.length,T=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===_.length?this.yylloc.first_column:0)+_[_.length-T.length].length-T[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),y=new Array(b.length+1).join("-");return b+this.upcomingInput()+` +`+y+"^"},test_match:function(b,y){var T,_,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),_=b[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],T=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var P in A)this[P]=A[P];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,y,T,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),P=0;Py[0].length)){if(y=T,_=P,this.options.backtrack_lexer){if(b=this.test_match(T,A[P]),b!==!1)return b;if(this._backtrack){y=!1;continue}else return!1}else if(!this.options.flex)break}return y?(b=this.test_match(y,A[_]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var y=this.next();return y||this.lex()},begin:function(y){this.conditionStack.push(y)},popState:function(){var y=this.conditionStack.length-1;return y>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(y){return y=this.conditionStack.length-1-Math.abs(y||0),y>=0?this.conditionStack[y]:"INITIAL"},pushState:function(y){this.begin(y)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(y,T,_,A){switch(_){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return v}();u.lexer=d;function p(){this.yy={}}return p.prototype=u,u.Parser=p,new p}();uve.parser=uve;const vnn=uve,fGe={info:!1};let lve=fGe.info;const wnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:vnn,db:{clear:()=>{lve=fGe.info},setInfo:i=>{lve=i},getInfo:()=>lve},renderer:{draw:(i,s,u)=>{Xe.debug(`rendering info diagram +`+i);const d=sR(s);Og(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${u}`)}}}},Symbol.toStringTag,{value:"Module"}));var hve=function(){var i=function(be,ge,ae,ne){for(ae=ae||{},ne=be.length;ne--;ae[be[ne]]=ge);return ae},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],y=[1,5,10,12,14,16,18,19,20,21,22],T=[20,21,22],_=[2,7],A=[1,12],P=[1,13],R=[1,14],F=[1,15],j=[1,16],W=[1,17],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(ge,ae,ne,se,de,X,pe){var K=X.length-1;switch(de){case 3:se.setShowData(!0);break;case 6:this.$=X[K-1];break;case 8:se.addSection(X[K-1],se.cleanupValue(X[K]));break;case 9:this.$=X[K].trim(),se.setDiagramTitle(this.$);break;case 10:this.$=X[K].trim(),se.setAccTitle(this.$);break;case 11:case 12:this.$=X[K].trim(),se.setAccDescription(this.$);break;case 13:se.addSection(X[K].substr(8)),this.$=X[K].substr(8);break}},table:[{3:1,4:2,5:s,20:u,21:d,22:p},{1:[3]},{3:7,4:2,5:s,20:u,21:d,22:p},i(v,b,{6:8,7:[1,9]}),i(y,[2,14]),i(y,[2,15]),i(y,[2,16]),{1:[2,1]},i(T,_,{8:10,9:11,1:[2,2],10:A,12:P,14:R,16:F,18:j,19:W}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:u,21:d,22:p},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(T,[2,12]),i(T,[2,13]),i(T,_,{8:10,9:11,1:[2,3],10:A,12:P,14:R,16:F,18:j,19:W}),i(v,[2,6]),i(T,[2,8]),i(T,[2,9]),i(T,[2,10]),i(T,[2,11])],defaultActions:{7:[2,1]},parseError:function(ge,ae){if(ae.recoverable)this.trace(ge);else{var ne=new Error(ge);throw ne.hash=ae,ne}},parse:function(ge){var ae=this,ne=[0],se=[],de=[null],X=[],pe=this.table,K="",xe=0,U=0,Be=2,Ne=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(ge,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var Tt;return Tt=se.pop()||Ie.lex()||Ne,typeof Tt!="number"&&(Tt instanceof Array&&(se=Tt,Tt=se.pop()),Tt=ae.symbols_[Tt]||Tt),Tt}for(var Pe,gn,kt,Et,Gt={},ln,xt,Pt,Ze;;){if(gn=ne[ne.length-1],this.defaultActions[gn]?kt=this.defaultActions[gn]:((Pe===null||typeof Pe>"u")&&(Pe=Ft()),kt=pe[gn]&&pe[gn][Pe]),typeof kt>"u"||!kt.length||!kt[0]){var At="";Ze=[];for(ln in pe[gn])this.terminals_[ln]&&ln>Be&&Ze.push("'"+this.terminals_[ln]+"'");Ie.showPosition?At="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":At="Parse error on line "+(xe+1)+": Unexpected "+(Pe==Ne?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(At,{text:Ie.match,token:this.terminals_[Pe]||Pe,line:Ie.yylineno,loc:ke,expected:Ze})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Pe);switch(kt[0]){case 1:ne.push(Pe),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(kt[1]),Pe=null,U=Ie.yyleng,K=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(xt=this.productions_[kt[1]][1],Gt.$=de[de.length-xt],Gt._$={first_line:X[X.length-(xt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(xt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Gt._$.range=[X[X.length-(xt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Gt,[K,U,xe,Se.yy,kt[1],de,X].concat(je)),typeof Et<"u")return Et;xt&&(ne=ne.slice(0,-1*xt*2),de=de.slice(0,-1*xt),X=X.slice(0,-1*xt)),ne.push(this.productions_[kt[1]][0]),de.push(Gt.$),X.push(Gt._$),Pt=pe[ne[ne.length-2]][ne[ne.length-1]],ne.push(Pt);break;case 3:return!0}}return!0}},ie=function(){var be={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(ge,ae){return this.yy=ae||this.yy||{},this._input=ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var ae=ge.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var ae=ge.length,ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ne.length-1&&(this.yylineno-=ne.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ge=this.pastInput(),ae=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+` +`+ae+"^"},test_match:function(ge,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),se=ge[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ge[0].length),this.matched+=ge[0],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(ge=this.test_match(ne,de[X]),ge!==!1)return ge;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(ge=this.test_match(ae,de[se]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ae,ne,se,de){switch(se){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return be}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();hve.parser=hve;const ynn=hve,dGe=ah.pie,dJ={sections:{},showData:!1,config:dGe};let gJ=dJ.sections,fve=dJ.showData;const xnn=structuredClone(dGe),knn={getConfig:()=>structuredClone(xnn),clear:()=>{gJ=structuredClone(dJ.sections),fve=dJ.showData,Ng()},setDiagramTitle:cm,getDiagramTitle:Ap,setAccTitle:Pg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addSection:(i,s)=>{i=Wf(i,qt()),gJ[i]===void 0&&(gJ[i]=s,Xe.debug(`added new section: ${i}, with value: ${s}`))},getSections:()=>gJ,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{fve=i},getShowData:()=>fve},Enn=i=>` + .pieCircle{ + stroke: ${i.pieStrokeColor}; + stroke-width : ${i.pieStrokeWidth}; + opacity : ${i.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${i.pieOuterStrokeColor}; + stroke-width: ${i.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${i.pieTitleTextSize}; + fill: ${i.pieTitleTextColor}; + font-family: ${i.fontFamily}; + } + .slice { + font-family: ${i.fontFamily}; + fill: ${i.pieSectionTextColor}; + font-size:${i.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${i.pieLegendTextColor}; + font-family: ${i.fontFamily}; + font-size: ${i.pieLegendTextSize}; + } +`,Tnn=i=>{const s=Object.entries(i).map(d=>({label:d[0],value:d[1]})).sort((d,p)=>p.value-d.value);return ANt().value(d=>d.value)(s)},Cnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ynn,db:knn,renderer:{draw:(i,s,u,d)=>{Xe.debug(`rendering pie chart +`+i);const p=d.db,v=qt(),b=eR(p.getConfig(),v.pie),y=40,T=18,_=4,A=450,P=A,R=sR(s),F=R.append("g"),j=p.getSections();F.attr("transform","translate("+P/2+","+A/2+")");const{themeVariables:W}=v;let[ee]=NC(W.pieOuterStrokeWidth);ee??(ee=2);const ie=b.textPosition,oe=Math.min(P,A)/2-y,be=lD().innerRadius(0).outerRadius(oe),ge=lD().innerRadius(oe*ie).outerRadius(oe*ie);F.append("circle").attr("cx",0).attr("cy",0).attr("r",oe+ee/2).attr("class","pieOuterCircle");const ae=Tnn(j),ne=[W.pie1,W.pie2,W.pie3,W.pie4,W.pie5,W.pie6,W.pie7,W.pie8,W.pie9,W.pie10,W.pie11,W.pie12],se=_F(ne);F.selectAll("mySlices").data(ae).enter().append("path").attr("d",be).attr("fill",xe=>se(xe.data.label)).attr("class","pieCircle");let de=0;Object.keys(j).forEach(xe=>{de+=j[xe]}),F.selectAll("mySlices").data(ae).enter().append("text").text(xe=>(xe.data.value/de*100).toFixed(0)+"%").attr("transform",xe=>"translate("+ge.centroid(xe)+")").style("text-anchor","middle").attr("class","slice"),F.append("text").text(p.getDiagramTitle()).attr("x",0).attr("y",-(A-50)/2).attr("class","pieTitleText");const X=F.selectAll(".legend").data(se.domain()).enter().append("g").attr("class","legend").attr("transform",(xe,U)=>{const Be=T+_,Ne=Be*se.domain().length/2,je=12*T,Ie=U*Be-Ne;return"translate("+je+","+Ie+")"});X.append("rect").attr("width",T).attr("height",T).style("fill",se).style("stroke",se),X.data(ae).append("text").attr("x",T+_).attr("y",T-_).text(xe=>{const{label:U,value:Be}=xe.data;return p.getShowData()?`${U} [${Be}]`:U});const pe=Math.max(...X.selectAll("text").nodes().map(xe=>(xe==null?void 0:xe.getBoundingClientRect().width)??0)),K=P+y+T+_+pe;R.attr("viewBox",`0 0 ${K} ${A}`),Og(R,A,K,b.useMaxWidth)}},styles:Enn}},Symbol.toStringTag,{value:"Module"}));var dve=function(){var i=function(kt,Et,Gt,ln){for(Gt=Gt||{},ln=kt.length;ln--;Gt[kt[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],y=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],T=[32,33,34],_=[2,7],A=[1,13],P=[1,17],R=[1,18],F=[1,19],j=[1,20],W=[1,21],ee=[1,22],ie=[1,23],oe=[1,24],be=[1,25],ge=[1,26],ae=[1,27],ne=[1,30],se=[1,31],de=[1,32],X=[1,33],pe=[1,34],K=[1,35],xe=[1,36],U=[1,37],Be=[1,38],Ne=[1,39],je=[1,40],Ie=[1,41],Se=[1,42],Ce=[1,57],ke=[1,58],Ke=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Ft={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(Et,Gt,ln,xt,Pt,Ze,At){var Tt=Ze.length-1;switch(Pt){case 12:this.$=Ze[Tt].trim(),xt.setDiagramTitle(this.$);break;case 13:this.$=Ze[Tt].trim(),xt.setAccTitle(this.$);break;case 14:case 15:this.$=Ze[Tt].trim(),xt.setAccDescription(this.$);break;case 16:xt.addSection(Ze[Tt].substr(8)),this.$=Ze[Tt].substr(8);break;case 17:xt.addPoint(Ze[Tt-3],Ze[Tt-1],Ze[Tt]);break;case 18:xt.setXAxisLeftText(Ze[Tt-2]),xt.setXAxisRightText(Ze[Tt]);break;case 19:Ze[Tt-1].text+=" ⟶ ",xt.setXAxisLeftText(Ze[Tt-1]);break;case 20:xt.setXAxisLeftText(Ze[Tt]);break;case 21:xt.setYAxisBottomText(Ze[Tt-2]),xt.setYAxisTopText(Ze[Tt]);break;case 22:Ze[Tt-1].text+=" ⟶ ",xt.setYAxisBottomText(Ze[Tt-1]);break;case 23:xt.setYAxisBottomText(Ze[Tt]);break;case 24:xt.setQuadrant1Text(Ze[Tt]);break;case 25:xt.setQuadrant2Text(Ze[Tt]);break;case 26:xt.setQuadrant3Text(Ze[Tt]);break;case 27:xt.setQuadrant4Text(Ze[Tt]);break;case 31:this.$={text:Ze[Tt],type:"text"};break;case 32:this.$={text:Ze[Tt-1].text+""+Ze[Tt],type:Ze[Tt-1].type};break;case 33:this.$={text:Ze[Tt],type:"text"};break;case 34:this.$={text:Ze[Tt],type:"markdown"};break;case 35:this.$=Ze[Tt];break;case 36:this.$=Ze[Tt-1]+""+Ze[Tt];break}},table:[{3:1,4:2,5:s,6:u,32:d,33:p,34:v},{1:[3]},{3:8,4:2,5:s,6:u,32:d,33:p,34:v},{3:9,4:2,5:s,6:u,32:d,33:p,34:v},i(b,[2,4],{7:10}),i(y,[2,28]),i(y,[2,29]),i(y,[2,30]),{1:[2,1]},{1:[2,2]},i(T,_,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:A,13:P,15:R,17:F,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),i(b,[2,5]),{4:43,32:d,33:p,34:v},i(T,_,{10:14,11:15,12:16,21:28,35:29,9:44,5:A,13:P,15:R,17:F,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),i(T,[2,9]),i(T,[2,10]),i(T,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(T,[2,15]),i(T,[2,16]),{21:48,35:29,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:49,35:29,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:50,35:29,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:51,35:29,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:52,35:29,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:53,35:29,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{5:Ce,22:[1,54],35:56,36:55,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke},i(Ke,[2,31]),i(Ke,[2,33]),i(Ke,[2,34]),i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),i(Ke,[2,40]),i(Ke,[2,41]),i(Ke,[2,42]),i(Ke,[2,43]),i(Ke,[2,44]),i(Ke,[2,45]),i(Ke,[2,46]),i(Ke,[2,47]),i(b,[2,6]),i(T,[2,8]),i(T,[2,12]),i(T,[2,13]),i(T,[2,14]),i(T,[2,20],{36:55,35:56,5:Ce,26:[1,59],40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,23],{36:55,35:56,5:Ce,26:[1,60],40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,24],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,25],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,26],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,27],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),{23:[1,61]},i(Ke,[2,32]),i(Ke,[2,48]),i(Ke,[2,49]),i(Ke,[2,50]),i(T,[2,19],{35:29,21:62,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),i(T,[2,22],{35:29,21:63,37:ne,38:se,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),{24:[1,64]},i(T,[2,18],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,21],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:K,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Ze=[],At=this.table,Tt="",On=0,ht=0,zr=2,yt=1,Fi=Ze.slice.call(arguments,1),yi=Object.create(this.lexer),Pa={yy:{}};for(var ta in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ta)&&(Pa.yy[ta]=this.yy[ta]);yi.setInput(Et,Pa.yy),Pa.yy.lexer=yi,Pa.yy.parser=this,typeof yi.yylloc>"u"&&(yi.yylloc={});var $o=yi.yylloc;Ze.push($o);var Ar=yi.options&&yi.options.ranges;typeof Pa.yy.parseError=="function"?this.parseError=Pa.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nn(){var ca;return ca=xt.pop()||yi.lex()||yt,typeof ca!="number"&&(ca instanceof Array&&(xt=ca,ca=xt.pop()),ca=Gt.symbols_[ca]||ca),ca}for(var $n,qn,Lt,wt,cn={},fn,Mn,mo,Oo;;){if(qn=ln[ln.length-1],this.defaultActions[qn]?Lt=this.defaultActions[qn]:(($n===null||typeof $n>"u")&&($n=Nn()),Lt=At[qn]&&At[qn][$n]),typeof Lt>"u"||!Lt.length||!Lt[0]){var Xa="";Oo=[];for(fn in At[qn])this.terminals_[fn]&&fn>zr&&Oo.push("'"+this.terminals_[fn]+"'");yi.showPosition?Xa="Parse error on line "+(On+1)+`: +`+yi.showPosition()+` +Expecting `+Oo.join(", ")+", got '"+(this.terminals_[$n]||$n)+"'":Xa="Parse error on line "+(On+1)+": Unexpected "+($n==yt?"end of input":"'"+(this.terminals_[$n]||$n)+"'"),this.parseError(Xa,{text:yi.match,token:this.terminals_[$n]||$n,line:yi.yylineno,loc:$o,expected:Oo})}if(Lt[0]instanceof Array&&Lt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+qn+", token: "+$n);switch(Lt[0]){case 1:ln.push($n),Pt.push(yi.yytext),Ze.push(yi.yylloc),ln.push(Lt[1]),$n=null,ht=yi.yyleng,Tt=yi.yytext,On=yi.yylineno,$o=yi.yylloc;break;case 2:if(Mn=this.productions_[Lt[1]][1],cn.$=Pt[Pt.length-Mn],cn._$={first_line:Ze[Ze.length-(Mn||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Mn||1)].first_column,last_column:Ze[Ze.length-1].last_column},Ar&&(cn._$.range=[Ze[Ze.length-(Mn||1)].range[0],Ze[Ze.length-1].range[1]]),wt=this.performAction.apply(cn,[Tt,ht,On,Pa.yy,Lt[1],Pt,Ze].concat(Fi)),typeof wt<"u")return wt;Mn&&(ln=ln.slice(0,-1*Mn*2),Pt=Pt.slice(0,-1*Mn),Ze=Ze.slice(0,-1*Mn)),ln.push(this.productions_[Lt[1]][0]),Pt.push(cn.$),Ze.push(cn._$),mo=At[ln[ln.length-2]][ln[ln.length-1]],ln.push(mo);break;case 3:return!0}}return!0}},Pe=function(){var kt={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Ze in Pt)this[Ze]=Pt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Ze=0;ZeGt[0].length)){if(Gt=ln,xt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Ze]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return kt}();Ft.lexer=Pe;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();dve.parser=dve;const Snn=dve,Pp=d2e();class _nn{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var s,u,d,p,v,b,y,T,_,A,P,R,F,j,W,ee,ie,oe;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((s=ah.quadrantChart)==null?void 0:s.chartWidth)||500,chartWidth:((u=ah.quadrantChart)==null?void 0:u.chartHeight)||500,titlePadding:((d=ah.quadrantChart)==null?void 0:d.titlePadding)||10,titleFontSize:((p=ah.quadrantChart)==null?void 0:p.titleFontSize)||20,quadrantPadding:((v=ah.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=ah.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((y=ah.quadrantChart)==null?void 0:y.yAxisLabelPadding)||5,xAxisLabelFontSize:((T=ah.quadrantChart)==null?void 0:T.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=ah.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((A=ah.quadrantChart)==null?void 0:A.quadrantLabelFontSize)||16,quadrantTextTopPadding:((P=ah.quadrantChart)==null?void 0:P.quadrantTextTopPadding)||5,pointTextPadding:((R=ah.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((F=ah.quadrantChart)==null?void 0:F.pointLabelFontSize)||12,pointRadius:((j=ah.quadrantChart)==null?void 0:j.pointRadius)||5,xAxisPosition:((W=ah.quadrantChart)==null?void 0:W.xAxisPosition)||"top",yAxisPosition:((ee=ah.quadrantChart)==null?void 0:ee.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ie=ah.quadrantChart)==null?void 0:ie.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((oe=ah.quadrantChart)==null?void 0:oe.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:Pp.quadrant1Fill,quadrant2Fill:Pp.quadrant2Fill,quadrant3Fill:Pp.quadrant3Fill,quadrant4Fill:Pp.quadrant4Fill,quadrant1TextFill:Pp.quadrant1TextFill,quadrant2TextFill:Pp.quadrant2TextFill,quadrant3TextFill:Pp.quadrant3TextFill,quadrant4TextFill:Pp.quadrant4TextFill,quadrantPointFill:Pp.quadrantPointFill,quadrantPointTextFill:Pp.quadrantPointTextFill,quadrantXAxisTextFill:Pp.quadrantXAxisTextFill,quadrantYAxisTextFill:Pp.quadrantYAxisTextFill,quadrantTitleFill:Pp.quadrantTitleFill,quadrantInternalBorderStrokeFill:Pp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Pp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Xe.info("clear called")}setData(s){this.data={...this.data,...s}}addPoints(s){this.data.points=[...s,...this.data.points]}setConfig(s){Xe.trace("setConfig called with: ",s),this.config={...this.config,...s}}setThemeConfig(s){Xe.trace("setThemeConfig called with: ",s),this.themeConfig={...this.themeConfig,...s}}calculateSpace(s,u,d,p){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:s==="top"&&u?v:0,bottom:s==="bottom"&&u?v:0},y=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,T={left:this.config.yAxisPosition==="left"&&d?y:0,right:this.config.yAxisPosition==="right"&&d?y:0},_=this.config.titleFontSize+this.config.titlePadding*2,A={top:p?_:0},P=this.config.quadrantPadding+T.left,R=this.config.quadrantPadding+b.top+A.top,F=this.config.chartWidth-this.config.quadrantPadding*2-T.left-T.right,j=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-A.top,W=F/2,ee=j/2;return{xAxisSpace:b,yAxisSpace:T,titleSpace:A,quadrantSpace:{quadrantLeft:P,quadrantTop:R,quadrantWidth:F,quadrantHalfWidth:W,quadrantHeight:j,quadrantHalfHeight:ee}}}getAxisLabels(s,u,d,p){const{quadrantSpace:v,titleSpace:b}=p,{quadrantHalfHeight:y,quadrantHeight:T,quadrantLeft:_,quadrantHalfWidth:A,quadrantTop:P,quadrantWidth:R}=v,F=!!this.data.xAxisRightText,j=!!this.data.yAxisTopText,W=[];return this.data.xAxisLeftText&&u&&W.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&u&&W.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+A+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&d&&W.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+T-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&d&&W.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+y-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),W}getQuadrants(s){const{quadrantSpace:u}=s,{quadrantHalfHeight:d,quadrantLeft:p,quadrantHalfWidth:v,quadrantTop:b}=u,y=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p+v,y:b,width:v,height:d,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p,y:b,width:v,height:d,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p,y:b+d,width:v,height:d,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p+v,y:b+d,width:v,height:d,fill:this.themeConfig.quadrant4Fill}];for(const T of y)T.text.x=T.x+T.width/2,this.data.points.length===0?(T.text.y=T.y+T.height/2,T.text.horizontalPos="middle"):(T.text.y=T.y+this.config.quadrantTextTopPadding,T.text.horizontalPos="top");return y}getQuadrantPoints(s){const{quadrantSpace:u}=s,{quadrantHeight:d,quadrantLeft:p,quadrantTop:v,quadrantWidth:b}=u,y=sD().domain([0,1]).range([p,b+p]),T=sD().domain([0,1]).range([d+v,v]);return this.data.points.map(A=>({x:y(A.x),y:T(A.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:A.text,fill:this.themeConfig.quadrantPointTextFill,x:y(A.x),y:T(A.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(s){const u=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:d}=s,{quadrantHalfHeight:p,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:y,quadrantTop:T,quadrantWidth:_}=d;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T,x2:b+_+u,y2:T},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:T+u,x2:b+_,y2:T+v-u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T+v,x2:b+_+u,y2:T+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:T+u,x2:b,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+y,y1:T+u,x2:b+y,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+u,y1:T+p,x2:b+_-u,y2:T+p}]}getTitle(s){if(s)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const s=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),u=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),d=this.config.showTitle&&!!this.data.titleText,p=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(p,s,u,d);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(p,s,u,v),borderLines:this.getBorders(v),title:this.getTitle(d)}}}const Ann=qt();function U7(i){return Wf(i.trim(),Ann)}const Fg=new _nn;function Lnn(i){Fg.setData({quadrant1Text:U7(i.text)})}function Mnn(i){Fg.setData({quadrant2Text:U7(i.text)})}function Dnn(i){Fg.setData({quadrant3Text:U7(i.text)})}function Inn(i){Fg.setData({quadrant4Text:U7(i.text)})}function Onn(i){Fg.setData({xAxisLeftText:U7(i.text)})}function Nnn(i){Fg.setData({xAxisRightText:U7(i.text)})}function Pnn(i){Fg.setData({yAxisTopText:U7(i.text)})}function Bnn(i){Fg.setData({yAxisBottomText:U7(i.text)})}function Fnn(i,s,u){Fg.addPoints([{x:s,y:u,text:U7(i.text)}])}function Rnn(i){Fg.setConfig({chartWidth:i})}function jnn(i){Fg.setConfig({chartHeight:i})}function $nn(){const i=qt(),{themeVariables:s,quadrantChart:u}=i;return u&&Fg.setConfig(u),Fg.setThemeConfig({quadrant1Fill:s.quadrant1Fill,quadrant2Fill:s.quadrant2Fill,quadrant3Fill:s.quadrant3Fill,quadrant4Fill:s.quadrant4Fill,quadrant1TextFill:s.quadrant1TextFill,quadrant2TextFill:s.quadrant2TextFill,quadrant3TextFill:s.quadrant3TextFill,quadrant4TextFill:s.quadrant4TextFill,quadrantPointFill:s.quadrantPointFill,quadrantPointTextFill:s.quadrantPointTextFill,quadrantXAxisTextFill:s.quadrantXAxisTextFill,quadrantYAxisTextFill:s.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:s.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:s.quadrantInternalBorderStrokeFill,quadrantTitleFill:s.quadrantTitleFill}),Fg.setData({titleText:Ap()}),Fg.build()}const znn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Snn,db:{setWidth:Rnn,setHeight:jnn,setQuadrant1Text:Lnn,setQuadrant2Text:Mnn,setQuadrant3Text:Dnn,setQuadrant4Text:Inn,setXAxisLeftText:Onn,setXAxisRightText:Nnn,setYAxisTopText:Pnn,setYAxisBottomText:Bnn,addPoint:Fnn,getQuadrantData:$nn,clear:function(){Fg.clear(),Ng()},setAccTitle:Pg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,getAccDescription:_p,setAccDescription:Sp},renderer:{draw:(i,s,u,d)=>{var de,X,pe;function p(K){return K==="top"?"hanging":"middle"}function v(K){return K==="left"?"start":"middle"}function b(K){return`translate(${K.x}, ${K.y}) rotate(${K.rotation||0})`}const y=qt();Xe.debug(`Rendering quadrant chart +`+i);const T=y.securityLevel;let _;T==="sandbox"&&(_=Ir("#i"+s));const P=Ir(T==="sandbox"?_.nodes()[0].contentDocument.body:"body").select(`[id="${s}"]`),R=P.append("g").attr("class","main"),F=((de=y.quadrantChart)==null?void 0:de.chartWidth)||500,j=((X=y.quadrantChart)==null?void 0:X.chartHeight)||500;Og(P,j,F,((pe=y.quadrantChart)==null?void 0:pe.useMaxWidth)||!0),P.attr("viewBox","0 0 "+F+" "+j),d.db.setHeight(j),d.db.setWidth(F);const W=d.db.getQuadrantData(),ee=R.append("g").attr("class","quadrants"),ie=R.append("g").attr("class","border"),oe=R.append("g").attr("class","data-points"),be=R.append("g").attr("class","labels"),ge=R.append("g").attr("class","title");W.title&&ge.append("text").attr("x",0).attr("y",0).attr("fill",W.title.fill).attr("font-size",W.title.fontSize).attr("dominant-baseline",p(W.title.horizontalPos)).attr("text-anchor",v(W.title.verticalPos)).attr("transform",b(W.title)).text(W.title.text),W.borderLines&&ie.selectAll("line").data(W.borderLines).enter().append("line").attr("x1",K=>K.x1).attr("y1",K=>K.y1).attr("x2",K=>K.x2).attr("y2",K=>K.y2).style("stroke",K=>K.strokeFill).style("stroke-width",K=>K.strokeWidth);const ae=ee.selectAll("g.quadrant").data(W.quadrants).enter().append("g").attr("class","quadrant");ae.append("rect").attr("x",K=>K.x).attr("y",K=>K.y).attr("width",K=>K.width).attr("height",K=>K.height).attr("fill",K=>K.fill),ae.append("text").attr("x",0).attr("y",0).attr("fill",K=>K.text.fill).attr("font-size",K=>K.text.fontSize).attr("dominant-baseline",K=>p(K.text.horizontalPos)).attr("text-anchor",K=>v(K.text.verticalPos)).attr("transform",K=>b(K.text)).text(K=>K.text.text),be.selectAll("g.label").data(W.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(K=>K.text).attr("fill",K=>K.fill).attr("font-size",K=>K.fontSize).attr("dominant-baseline",K=>p(K.horizontalPos)).attr("text-anchor",K=>v(K.verticalPos)).attr("transform",K=>b(K));const se=oe.selectAll("g.data-point").data(W.points).enter().append("g").attr("class","data-point");se.append("circle").attr("cx",K=>K.x).attr("cy",K=>K.y).attr("r",K=>K.radius).attr("fill",K=>K.fill),se.append("text").attr("x",0).attr("y",0).text(K=>K.text.text).attr("fill",K=>K.text.fill).attr("font-size",K=>K.text.fontSize).attr("dominant-baseline",K=>p(K.text.horizontalPos)).attr("text-anchor",K=>v(K.text.verticalPos)).attr("transform",K=>b(K.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var gve=function(){var i=function(Ne,je,Ie,Se){for(Ie=Ie||{},Se=Ne.length;Se--;Ie[Ne[Se]]=je);return Ie},s=[1,10,12,14,16,18,19,21,23],u=[2,6],d=[1,3],p=[1,5],v=[1,6],b=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],T=[1,25],_=[1,26],A=[1,28],P=[1,29],R=[1,30],F=[1,31],j=[1,32],W=[1,33],ee=[1,34],ie=[1,35],oe=[1,36],be=[1,37],ge=[1,43],ae=[1,42],ne=[1,47],se=[1,50],de=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],pe=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],K=[1,64],xe={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(je,Ie,Se,Ce,ke,Ke,Ft){var Pe=Ke.length-1;switch(ke){case 5:Ce.setOrientation(Ke[Pe]);break;case 9:Ce.setDiagramTitle(Ke[Pe].text.trim());break;case 12:Ce.setLineData({text:"",type:"text"},Ke[Pe]);break;case 13:Ce.setLineData(Ke[Pe-1],Ke[Pe]);break;case 14:Ce.setBarData({text:"",type:"text"},Ke[Pe]);break;case 15:Ce.setBarData(Ke[Pe-1],Ke[Pe]);break;case 16:this.$=Ke[Pe].trim(),Ce.setAccTitle(this.$);break;case 17:case 18:this.$=Ke[Pe].trim(),Ce.setAccDescription(this.$);break;case 19:this.$=Ke[Pe-1];break;case 20:this.$=[Number(Ke[Pe-2]),...Ke[Pe]];break;case 21:this.$=[Number(Ke[Pe])];break;case 22:Ce.setXAxisTitle(Ke[Pe]);break;case 23:Ce.setXAxisTitle(Ke[Pe-1]);break;case 24:Ce.setXAxisTitle({type:"text",text:""});break;case 25:Ce.setXAxisBand(Ke[Pe]);break;case 26:Ce.setXAxisRangeData(Number(Ke[Pe-2]),Number(Ke[Pe]));break;case 27:this.$=Ke[Pe-1];break;case 28:this.$=[Ke[Pe-2],...Ke[Pe]];break;case 29:this.$=[Ke[Pe]];break;case 30:Ce.setYAxisTitle(Ke[Pe]);break;case 31:Ce.setYAxisTitle(Ke[Pe-1]);break;case 32:Ce.setYAxisTitle({type:"text",text:""});break;case 33:Ce.setYAxisRangeData(Number(Ke[Pe-2]),Number(Ke[Pe]));break;case 37:this.$={text:Ke[Pe],type:"text"};break;case 38:this.$={text:Ke[Pe],type:"text"};break;case 39:this.$={text:Ke[Pe],type:"markdown"};break;case 40:this.$=Ke[Pe];break;case 41:this.$=Ke[Pe-1]+""+Ke[Pe];break}},table:[i(s,u,{3:1,4:2,7:4,5:d,34:p,35:v,36:b}),{1:[3]},i(s,u,{4:2,7:4,3:8,5:d,34:p,35:v,36:b}),i(s,u,{4:2,7:4,6:9,3:10,5:d,8:[1,11],34:p,35:v,36:b}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},i(y,[2,34]),i(y,[2,35]),i(y,[2,36]),{1:[2,1]},i(s,u,{4:2,7:4,3:21,5:d,34:p,35:v,36:b}),{1:[2,3]},i(y,[2,5]),i(s,[2,7],{4:22,34:p,35:v,36:b}),{11:23,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:39,13:38,24:ge,27:ae,29:40,30:41,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:45,15:44,27:ne,33:46,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:49,17:48,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:52,17:51,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{20:[1,53]},{22:[1,54]},i(de,[2,18]),{1:[2,2]},i(de,[2,8]),i(de,[2,9]),i(X,[2,37],{40:55,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be}),i(X,[2,38]),i(X,[2,39]),i(pe,[2,40]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),i(pe,[2,47]),i(pe,[2,48]),i(pe,[2,49]),i(pe,[2,50]),i(pe,[2,51]),i(de,[2,10]),i(de,[2,22],{30:41,29:56,24:ge,27:ae}),i(de,[2,24]),i(de,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,11]),i(de,[2,30],{33:60,27:ne}),i(de,[2,32]),{31:[1,61]},i(de,[2,12]),{17:62,24:se},{25:63,27:K},i(de,[2,14]),{17:65,24:se},i(de,[2,16]),i(de,[2,17]),i(pe,[2,41]),i(de,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(de,[2,31]),{27:[1,69]},i(de,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(de,[2,15]),i(de,[2,26]),i(de,[2,27]),{11:59,32:72,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,33]),i(de,[2,19]),{25:73,27:K},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(je,Ie){if(Ie.recoverable)this.trace(je);else{var Se=new Error(je);throw Se.hash=Ie,Se}},parse:function(je){var Ie=this,Se=[0],Ce=[],ke=[null],Ke=[],Ft=this.table,Pe="",gn=0,kt=0,Et=2,Gt=1,ln=Ke.slice.call(arguments,1),xt=Object.create(this.lexer),Pt={yy:{}};for(var Ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ze)&&(Pt.yy[Ze]=this.yy[Ze]);xt.setInput(je,Pt.yy),Pt.yy.lexer=xt,Pt.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var At=xt.yylloc;Ke.push(At);var Tt=xt.options&&xt.options.ranges;typeof Pt.yy.parseError=="function"?this.parseError=Pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var $n;return $n=Ce.pop()||xt.lex()||Gt,typeof $n!="number"&&($n instanceof Array&&(Ce=$n,$n=Ce.pop()),$n=Ie.symbols_[$n]||$n),$n}for(var ht,zr,yt,Fi,yi={},Pa,ta,$o,Ar;;){if(zr=Se[Se.length-1],this.defaultActions[zr]?yt=this.defaultActions[zr]:((ht===null||typeof ht>"u")&&(ht=On()),yt=Ft[zr]&&Ft[zr][ht]),typeof yt>"u"||!yt.length||!yt[0]){var Nn="";Ar=[];for(Pa in Ft[zr])this.terminals_[Pa]&&Pa>Et&&Ar.push("'"+this.terminals_[Pa]+"'");xt.showPosition?Nn="Parse error on line "+(gn+1)+`: +`+xt.showPosition()+` +Expecting `+Ar.join(", ")+", got '"+(this.terminals_[ht]||ht)+"'":Nn="Parse error on line "+(gn+1)+": Unexpected "+(ht==Gt?"end of input":"'"+(this.terminals_[ht]||ht)+"'"),this.parseError(Nn,{text:xt.match,token:this.terminals_[ht]||ht,line:xt.yylineno,loc:At,expected:Ar})}if(yt[0]instanceof Array&&yt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zr+", token: "+ht);switch(yt[0]){case 1:Se.push(ht),ke.push(xt.yytext),Ke.push(xt.yylloc),Se.push(yt[1]),ht=null,kt=xt.yyleng,Pe=xt.yytext,gn=xt.yylineno,At=xt.yylloc;break;case 2:if(ta=this.productions_[yt[1]][1],yi.$=ke[ke.length-ta],yi._$={first_line:Ke[Ke.length-(ta||1)].first_line,last_line:Ke[Ke.length-1].last_line,first_column:Ke[Ke.length-(ta||1)].first_column,last_column:Ke[Ke.length-1].last_column},Tt&&(yi._$.range=[Ke[Ke.length-(ta||1)].range[0],Ke[Ke.length-1].range[1]]),Fi=this.performAction.apply(yi,[Pe,kt,gn,Pt.yy,yt[1],ke,Ke].concat(ln)),typeof Fi<"u")return Fi;ta&&(Se=Se.slice(0,-1*ta*2),ke=ke.slice(0,-1*ta),Ke=Ke.slice(0,-1*ta)),Se.push(this.productions_[yt[1]][0]),ke.push(yi.$),Ke.push(yi._$),$o=Ft[Se[Se.length-2]][Se[Se.length-1]],Se.push($o);break;case 3:return!0}}return!0}},U=function(){var Ne={EOF:1,parseError:function(Ie,Se){if(this.yy.parser)this.yy.parser.parseError(Ie,Se);else throw new Error(Ie)},setInput:function(je,Ie){return this.yy=Ie||this.yy||{},this._input=je,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var je=this._input[0];this.yytext+=je,this.yyleng++,this.offset++,this.match+=je,this.matched+=je;var Ie=je.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),je},unput:function(je){var Ie=je.length,Se=je.split(/(?:\r\n?|\n)/g);this._input=je+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Se.length-1&&(this.yylineno-=Se.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Se?(Se.length===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Se.length].length-Se[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(je){this.unput(this.match.slice(je))},pastInput:function(){var je=this.matched.substr(0,this.matched.length-this.match.length);return(je.length>20?"...":"")+je.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var je=this.match;return je.length<20&&(je+=this._input.substr(0,20-je.length)),(je.substr(0,20)+(je.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var je=this.pastInput(),Ie=new Array(je.length+1).join("-");return je+this.upcomingInput()+` +`+Ie+"^"},test_match:function(je,Ie){var Se,Ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),Ce=je[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+je[0].length},this.yytext+=je[0],this.match+=je[0],this.matches=je,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(je[0].length),this.matched+=je[0],Se=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Se)return Se;if(this._backtrack){for(var Ke in ke)this[Ke]=ke[Ke];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var je,Ie,Se,Ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),Ke=0;KeIe[0].length)){if(Ie=Se,Ce=Ke,this.options.backtrack_lexer){if(je=this.test_match(Se,ke[Ke]),je!==!1)return je;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(je=this.test_match(Ie,ke[Ce]),je!==!1?je:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ie=this.next();return Ie||this.lex()},begin:function(Ie){this.conditionStack.push(Ie)},popState:function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},pushState:function(Ie){this.begin(Ie)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ie,Se,Ce,ke){switch(Ce){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Ne}();xe.lexer=U;function Be(){this.yy={}}return Be.prototype=xe,xe.Parser=Be,new Be}();gve.parser=gve;const qnn=gve;function gGe(i){return i.type==="bar"}function pGe(i){return i.type==="band"}function zR(i){return i.type==="linear"}class bGe{constructor(s){this.parentGroup=s}getMaxDimension(s,u){if(!this.parentGroup)return{width:s.reduce((v,b)=>Math.max(b.length,v),0)*u,height:u};const d={width:0,height:0},p=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",u);for(const v of s){const b=$Zt(p,1,v),y=b?b.width:v.length*u,T=b?b.height:u;d.width=Math.max(d.width,y),d.height=Math.max(d.height,T)}return p.remove(),d}}const mGe=.7,vGe=.2;class wGe{constructor(s,u,d,p){this.axisConfig=s,this.title=u,this.textDimensionCalculator=d,this.axisThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(s){this.range=s,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=s[1]-s[0]:this.boundingRect.width=s[1]-s[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(s){this.axisPosition=s,this.setRange(this.range)}getTickDistance(){const s=this.getRange();return Math.abs(s[0]-s[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(s=>s.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){mGe*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(mGe*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(s){let u=s.height;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=vGe*s.width;this.outerPadding=Math.min(d.width/2,p);const v=d.height+this.axisConfig.labelPadding*2;this.labelTextHeight=d.height,v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width,this.boundingRect.height=s.height-u}calculateSpaceIfDrawnVertical(s){let u=s.width;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=vGe*s.height;this.outerPadding=Math.min(d.height/2,p);const v=d.width+this.axisConfig.labelPadding*2;v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width-u,this.boundingRect.height=s.height}calculateSpace(s){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(s):this.calculateSpaceIfDrawnHorizontally(s),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}getDrawableElementsForLeftAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${u},${this.boundingRect.y} L ${u},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(u),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const u=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${u},${this.getScaleValue(d)} L ${u-this.axisConfig.tickLength},${this.getScaleValue(d)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),s}getDrawableElementsForBottomAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const u=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u} L ${this.getScaleValue(d)},${u+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),s}getDrawableElementsForTopAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const u=this.boundingRect.y;s.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(d)},${u+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),s}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class Hnn extends wGe{constructor(s,u,d,p,v){super(s,p,v,u),this.categories=d,this.scale=Hpe().domain(this.categories).range(this.getRange())}setRange(s){super.setRange(s)}recalculateScale(){this.scale=Hpe().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(s){return this.scale(s)||this.getRange()[0]}}class Vnn extends wGe{constructor(s,u,d,p,v){super(s,p,v,u),this.domain=d,this.scale=sD().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const s=[...this.domain];this.axisPosition==="left"&&s.reverse(),this.scale=sD().domain(s).range(this.getRange())}getScaleValue(s){return this.scale(s)}}function yGe(i,s,u,d){const p=new bGe(d);return pGe(i)?new Hnn(s,u,i.categories,i.title,p):new Vnn(s,u,[i.min,i.max],i.title,p)}class Unn{constructor(s,u,d,p){this.textDimensionCalculator=s,this.chartConfig=u,this.chartData=d,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){const u=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),d=Math.max(u.width,s.width),p=u.height+2*this.chartConfig.titlePadding;return u.width<=d&&u.height<=p&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=d,this.boundingRect.height=p,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const s=[];return this.showChartTitle&&s.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),s}}function Gnn(i,s,u,d){const p=new bGe(d);return new Unn(p,i,s,u)}class Knn{constructor(s,u,d,p,v){this.plotData=s,this.xAxis=u,this.yAxis=d,this.orientation=p,this.plotIndex=v}getDrawableElement(){const s=this.plotData.data.map(d=>[this.xAxis.getScaleValue(d[0]),this.yAxis.getScaleValue(d[1])]);let u;return this.orientation==="horizontal"?u=k7().y(d=>d[0]).x(d=>d[1])(s):u=k7().x(d=>d[0]).y(d=>d[1])(s),u?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:u,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class Wnn{constructor(s,u,d,p,v,b){this.barData=s,this.boundingRect=u,this.xAxis=d,this.yAxis=p,this.orientation=v,this.plotIndex=b}getDrawableElement(){const s=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),u=.05,d=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-u),p=d/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:this.boundingRect.x,y:v[0]-p,height:d,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:v[0]-p,y:v[1],width:d,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class Ynn{constructor(s,u,d){this.chartConfig=s,this.chartData=u,this.chartThemeConfig=d,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(s,u){this.xAxis=s,this.yAxis=u}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){return this.boundingRect.width=s.width,this.boundingRect.height=s.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const s=[];for(const[u,d]of this.chartData.plots.entries())switch(d.type){case"line":{const p=new Knn(d,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break;case"bar":{const p=new Wnn(d,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break}return s}}function Xnn(i,s,u){return new Ynn(i,s,u)}class Qnn{constructor(s,u,d,p){this.chartConfig=s,this.chartData=u,this.componentStore={title:Gnn(s,u,d,p),plot:Xnn(s,u,d),xAxis:yGe(u.xAxis,s.xAxis,{titleColor:d.xAxisTitleColor,labelColor:d.xAxisLabelColor,tickColor:d.xAxisTickColor,axisLineColor:d.xAxisLineColor},p),yAxis:yGe(u.yAxis,s.yAxis,{titleColor:d.yAxisTitleColor,labelColor:d.yAxisLabelColor,tickColor:d.yAxisTickColor,axisLineColor:d.yAxisLineColor},p)}}calculateVerticalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),y=this.componentStore.plot.calculateSpace({width:v,height:b});s-=y.width,u-=y.height,y=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),p=y.height,u-=y.height,this.componentStore.xAxis.setAxisPosition("bottom"),y=this.componentStore.xAxis.calculateSpace({width:s,height:u}),u-=y.height,this.componentStore.yAxis.setAxisPosition("left"),y=this.componentStore.yAxis.calculateSpace({width:s,height:u}),d=y.width,s-=y.width,s>0&&(v+=s,s=0),u>0&&(b+=u,u=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:d,y:p}),this.componentStore.xAxis.setRange([d,d+v]),this.componentStore.xAxis.setBoundingBoxXY({x:d,y:p+b}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:p}),this.chartData.plots.some(T=>gGe(T))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=0,b=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),y=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),T=this.componentStore.plot.calculateSpace({width:b,height:y});s-=T.width,u-=T.height,T=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),d=T.height,u-=T.height,this.componentStore.xAxis.setAxisPosition("left"),T=this.componentStore.xAxis.calculateSpace({width:s,height:u}),s-=T.width,p=T.width,this.componentStore.yAxis.setAxisPosition("top"),T=this.componentStore.yAxis.calculateSpace({width:s,height:u}),u-=T.height,v=d+T.height,s>0&&(b+=s,s=0),u>0&&(y+=u,u=0),this.componentStore.plot.calculateSpace({width:b,height:y}),this.componentStore.plot.setBoundingBoxXY({x:p,y:v}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:p,y:d}),this.componentStore.xAxis.setRange([v,v+y]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>gGe(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const s=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const u of Object.values(this.componentStore))s.push(...u.getDrawableElements());return s}}class Jnn{static build(s,u,d,p){return new Qnn(s,u,d,p).getDrawableElement()}}let qR=0,xGe,HR=EGe(),VR=kGe(),nl=TGe(),pve=VR.plotColorPalette.split(",").map(i=>i.trim()),pJ=!1,bve=!1;function kGe(){const i=d2e(),s=Uh();return eR(i.xyChart,s.themeVariables.xyChart)}function EGe(){const i=Uh();return eR(ah.xyChart,i.xyChart)}function TGe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function mve(i){const s=Uh();return Wf(i.trim(),s)}function Znn(i){xGe=i}function ern(i){i==="horizontal"?HR.chartOrientation="horizontal":HR.chartOrientation="vertical"}function trn(i){nl.xAxis.title=mve(i.text)}function CGe(i,s){nl.xAxis={type:"linear",title:nl.xAxis.title,min:i,max:s},pJ=!0}function nrn(i){nl.xAxis={type:"band",title:nl.xAxis.title,categories:i.map(s=>mve(s.text))},pJ=!0}function rrn(i){nl.yAxis.title=mve(i.text)}function irn(i,s){nl.yAxis={type:"linear",title:nl.yAxis.title,min:i,max:s},bve=!0}function srn(i){const s=Math.min(...i),u=Math.max(...i),d=zR(nl.yAxis)?nl.yAxis.min:1/0,p=zR(nl.yAxis)?nl.yAxis.max:-1/0;nl.yAxis={type:"linear",title:nl.yAxis.title,min:Math.min(d,s),max:Math.max(p,u)}}function SGe(i){let s=[];if(i.length===0)return s;if(!pJ){const u=zR(nl.xAxis)?nl.xAxis.min:1/0,d=zR(nl.xAxis)?nl.xAxis.max:-1/0;CGe(Math.min(u,1),Math.max(d,i.length))}if(bve||srn(i),pGe(nl.xAxis)&&(s=nl.xAxis.categories.map((u,d)=>[u,i[d]])),zR(nl.xAxis)){const u=nl.xAxis.min,d=nl.xAxis.max,p=(d-u+1)/i.length,v=[];for(let b=u;b<=d;b+=p)v.push(`${b}`);s=v.map((b,y)=>[b,i[y]])}return s}function _Ge(i){return pve[i===0?0:i%pve.length]}function arn(i,s){const u=SGe(s);nl.plots.push({type:"line",strokeFill:_Ge(qR),strokeWidth:2,data:u}),qR++}function orn(i,s){const u=SGe(s);nl.plots.push({type:"bar",fill:_Ge(qR),data:u}),qR++}function crn(){if(nl.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return nl.title=Ap(),Jnn.build(HR,nl,VR,xGe)}function urn(){return VR}function lrn(){return HR}const hrn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:qnn,db:{getDrawableElem:crn,clear:function(){Ng(),qR=0,HR=EGe(),nl=TGe(),VR=kGe(),pve=VR.plotColorPalette.split(",").map(i=>i.trim()),pJ=!1,bve=!1},setAccTitle:Pg,getAccTitle:Cp,setDiagramTitle:cm,getDiagramTitle:Ap,getAccDescription:_p,setAccDescription:Sp,setOrientation:ern,setXAxisTitle:trn,setXAxisRangeData:CGe,setXAxisBand:nrn,setYAxisTitle:rrn,setYAxisRangeData:irn,setLineData:arn,setBarData:orn,setTmpSVGG:Znn,getChartThemeConfig:urn,getChartConfig:lrn},renderer:{draw:(i,s,u,d)=>{const p=d.db,v=p.getChartThemeConfig(),b=p.getChartConfig();function y(ee){return ee==="top"?"text-before-edge":"middle"}function T(ee){return ee==="left"?"start":ee==="right"?"end":"middle"}function _(ee){return`translate(${ee.x}, ${ee.y}) rotate(${ee.rotation||0})`}Xe.debug(`Rendering xychart chart +`+i);const A=sR(s),P=A.append("g").attr("class","main"),R=P.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");Og(A,b.height,b.width,!0),A.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),p.setTmpSVGG(A.append("g").attr("class","mermaid-tmp-group"));const F=p.getDrawableElem(),j={};function W(ee){let ie=P,oe="";for(const[be]of ee.entries()){let ge=P;be>0&&j[oe]&&(ge=j[oe]),oe+=ee[be],ie=j[oe],ie||(ie=j[oe]=ge.append("g").attr("class",ee[be]))}return ie}for(const ee of F){if(ee.data.length===0)continue;const ie=W(ee.groupTexts);switch(ee.type){case"rect":ie.selectAll("rect").data(ee.data).enter().append("rect").attr("x",oe=>oe.x).attr("y",oe=>oe.y).attr("width",oe=>oe.width).attr("height",oe=>oe.height).attr("fill",oe=>oe.fill).attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break;case"text":ie.selectAll("text").data(ee.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",oe=>oe.fill).attr("font-size",oe=>oe.fontSize).attr("dominant-baseline",oe=>y(oe.verticalPos)).attr("text-anchor",oe=>T(oe.horizontalPos)).attr("transform",oe=>_(oe)).text(oe=>oe.text);break;case"path":ie.selectAll("path").data(ee.data).enter().append("path").attr("d",oe=>oe.path).attr("fill",oe=>oe.fill?oe.fill:"none").attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var vve=function(){var i=function(kt,Et,Gt,ln){for(Gt=Gt||{},ln=kt.length;ln--;Gt[kt[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],y=[2,7],T=[1,22],_=[1,23],A=[1,24],P=[1,25],R=[1,26],F=[1,27],j=[1,20],W=[1,28],ee=[1,29],ie=[62,63],oe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],be=[1,47],ge=[1,48],ae=[1,49],ne=[1,50],se=[1,51],de=[1,52],X=[1,53],pe=[53,54],K=[1,64],xe=[1,60],U=[1,61],Be=[1,62],Ne=[1,63],je=[1,65],Ie=[1,69],Se=[1,70],Ce=[1,67],ke=[1,68],Ke=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Ft={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(Et,Gt,ln,xt,Pt,Ze,At){var Tt=Ze.length-1;switch(Pt){case 4:this.$=Ze[Tt].trim(),xt.setAccTitle(this.$);break;case 5:case 6:this.$=Ze[Tt].trim(),xt.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:xt.addRequirement(Ze[Tt-3],Ze[Tt-4]);break;case 14:xt.setNewReqId(Ze[Tt-2]);break;case 15:xt.setNewReqText(Ze[Tt-2]);break;case 16:xt.setNewReqRisk(Ze[Tt-2]);break;case 17:xt.setNewReqVerifyMethod(Ze[Tt-2]);break;case 20:this.$=xt.RequirementType.REQUIREMENT;break;case 21:this.$=xt.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=xt.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=xt.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=xt.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=xt.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=xt.RiskLevel.LOW_RISK;break;case 27:this.$=xt.RiskLevel.MED_RISK;break;case 28:this.$=xt.RiskLevel.HIGH_RISK;break;case 29:this.$=xt.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=xt.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=xt.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=xt.VerifyType.VERIFY_TEST;break;case 33:xt.addElement(Ze[Tt-3]);break;case 34:xt.setNewElementType(Ze[Tt-2]);break;case 35:xt.setNewElementDocRef(Ze[Tt-2]);break;case 38:xt.addRelationship(Ze[Tt-2],Ze[Tt],Ze[Tt-4]);break;case 39:xt.addRelationship(Ze[Tt-2],Ze[Tt-4],Ze[Tt]);break;case 40:this.$=xt.Relationships.CONTAINS;break;case 41:this.$=xt.Relationships.COPIES;break;case 42:this.$=xt.Relationships.DERIVES;break;case 43:this.$=xt.Relationships.SATISFIES;break;case 44:this.$=xt.Relationships.VERIFIES;break;case 45:this.$=xt.Relationships.REFINES;break;case 46:this.$=xt.Relationships.TRACES;break}},table:[{3:1,4:2,6:s,9:u,11:d,13:p},{1:[3]},{3:8,4:2,5:[1,7],6:s,9:u,11:d,13:p},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:s,9:u,11:d,13:p},{1:[2,2]},{4:17,5:b,7:13,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:32,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:33,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:34,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:35,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ie,[2,20]),i(ie,[2,21]),i(ie,[2,22]),i(ie,[2,23]),i(ie,[2,24]),i(ie,[2,25]),i(oe,[2,49]),i(oe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{52:54,55:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(pe,[2,40]),i(pe,[2,41]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),{54:[1,58]},{5:K,20:59,21:xe,24:U,26:Be,28:Ne,30:je},{5:Ie,30:Se,46:66,47:Ce,49:ke},{23:71,62:W,63:ee},{23:72,62:W,63:ee},i(Ke,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:K,20:77,21:xe,24:U,26:Be,28:Ne,30:je},i(Ke,[2,19]),i(Ke,[2,33]),{22:[1,78]},{22:[1,79]},{5:Ie,30:Se,46:80,47:Ce,49:ke},i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),{23:81,62:W,63:ee},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ke,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ke,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:K,20:106,21:xe,24:U,26:Be,28:Ne,30:je},{5:K,20:107,21:xe,24:U,26:Be,28:Ne,30:je},{5:K,20:108,21:xe,24:U,26:Be,28:Ne,30:je},{5:K,20:109,21:xe,24:U,26:Be,28:Ne,30:je},{5:Ie,30:Se,46:110,47:Ce,49:ke},{5:Ie,30:Se,46:111,47:Ce,49:ke},i(Ke,[2,14]),i(Ke,[2,15]),i(Ke,[2,16]),i(Ke,[2,17]),i(Ke,[2,34]),i(Ke,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Ze=[],At=this.table,Tt="",On=0,ht=0,zr=2,yt=1,Fi=Ze.slice.call(arguments,1),yi=Object.create(this.lexer),Pa={yy:{}};for(var ta in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ta)&&(Pa.yy[ta]=this.yy[ta]);yi.setInput(Et,Pa.yy),Pa.yy.lexer=yi,Pa.yy.parser=this,typeof yi.yylloc>"u"&&(yi.yylloc={});var $o=yi.yylloc;Ze.push($o);var Ar=yi.options&&yi.options.ranges;typeof Pa.yy.parseError=="function"?this.parseError=Pa.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nn(){var ca;return ca=xt.pop()||yi.lex()||yt,typeof ca!="number"&&(ca instanceof Array&&(xt=ca,ca=xt.pop()),ca=Gt.symbols_[ca]||ca),ca}for(var $n,qn,Lt,wt,cn={},fn,Mn,mo,Oo;;){if(qn=ln[ln.length-1],this.defaultActions[qn]?Lt=this.defaultActions[qn]:(($n===null||typeof $n>"u")&&($n=Nn()),Lt=At[qn]&&At[qn][$n]),typeof Lt>"u"||!Lt.length||!Lt[0]){var Xa="";Oo=[];for(fn in At[qn])this.terminals_[fn]&&fn>zr&&Oo.push("'"+this.terminals_[fn]+"'");yi.showPosition?Xa="Parse error on line "+(On+1)+`: +`+yi.showPosition()+` +Expecting `+Oo.join(", ")+", got '"+(this.terminals_[$n]||$n)+"'":Xa="Parse error on line "+(On+1)+": Unexpected "+($n==yt?"end of input":"'"+(this.terminals_[$n]||$n)+"'"),this.parseError(Xa,{text:yi.match,token:this.terminals_[$n]||$n,line:yi.yylineno,loc:$o,expected:Oo})}if(Lt[0]instanceof Array&&Lt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+qn+", token: "+$n);switch(Lt[0]){case 1:ln.push($n),Pt.push(yi.yytext),Ze.push(yi.yylloc),ln.push(Lt[1]),$n=null,ht=yi.yyleng,Tt=yi.yytext,On=yi.yylineno,$o=yi.yylloc;break;case 2:if(Mn=this.productions_[Lt[1]][1],cn.$=Pt[Pt.length-Mn],cn._$={first_line:Ze[Ze.length-(Mn||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Mn||1)].first_column,last_column:Ze[Ze.length-1].last_column},Ar&&(cn._$.range=[Ze[Ze.length-(Mn||1)].range[0],Ze[Ze.length-1].range[1]]),wt=this.performAction.apply(cn,[Tt,ht,On,Pa.yy,Lt[1],Pt,Ze].concat(Fi)),typeof wt<"u")return wt;Mn&&(ln=ln.slice(0,-1*Mn*2),Pt=Pt.slice(0,-1*Mn),Ze=Ze.slice(0,-1*Mn)),ln.push(this.productions_[Lt[1]][0]),Pt.push(cn.$),Ze.push(cn._$),mo=At[ln[ln.length-2]][ln[ln.length-1]],ln.push(mo);break;case 3:return!0}}return!0}},Pe=function(){var kt={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+` +`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Ze in Pt)this[Ze]=Pt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Ze=0;ZeGt[0].length)){if(Gt=ln,xt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Ze]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return ln.yytext=ln.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return kt}();Ft.lexer=Pe;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();vve.parser=vve;const frn=vve;let wve=[],U2={},UR={},F9={},GR={};const drn={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>qt().req,addRequirement:(i,s)=>(UR[i]===void 0&&(UR[i]={name:i,type:s,id:U2.id,text:U2.text,risk:U2.risk,verifyMethod:U2.verifyMethod}),U2={},UR[i]),getRequirements:()=>UR,setNewReqId:i=>{U2!==void 0&&(U2.id=i)},setNewReqText:i=>{U2!==void 0&&(U2.text=i)},setNewReqRisk:i=>{U2!==void 0&&(U2.risk=i)},setNewReqVerifyMethod:i=>{U2!==void 0&&(U2.verifyMethod=i)},setAccTitle:Pg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addElement:i=>(GR[i]===void 0&&(GR[i]={name:i,type:F9.type,docRef:F9.docRef},Xe.info("Added new requirement: ",i)),F9={},GR[i]),getElements:()=>GR,setNewElementType:i=>{F9!==void 0&&(F9.type=i)},setNewElementDocRef:i=>{F9!==void 0&&(F9.docRef=i)},addRelationship:(i,s,u)=>{wve.push({type:i,src:s,dst:u})},getRelationships:()=>wve,clear:()=>{wve=[],U2={},UR={},F9={},GR={},Ng()}},grn=i=>` + + marker { + fill: ${i.relationColor}; + stroke: ${i.relationColor}; + } + + marker.cross { + stroke: ${i.lineColor}; + } + + svg { + font-family: ${i.fontFamily}; + font-size: ${i.fontSize}; + } + + .reqBox { + fill: ${i.requirementBackground}; + fill-opacity: 1.0; + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${i.requirementTextColor}; + } + .reqLabelBox { + fill: ${i.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${i.requirementBorderColor}; + stroke-width: ${i.requirementBorderSize}; + } + .relationshipLine { + stroke: ${i.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${i.relationLabelColor}; + } + +`,yve={CONTAINS:"contains",ARROW:"arrow"},AGe={ReqMarkers:yve,insertLineEndings:(i,s)=>{let u=i.append("defs").append("marker").attr("id",yve.CONTAINS+"_line_ending").attr("refX",0).attr("refY",s.line_height/2).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("g");u.append("circle").attr("cx",s.line_height/2).attr("cy",s.line_height/2).attr("r",s.line_height/2).attr("fill","none"),u.append("line").attr("x1",0).attr("x2",s.line_height).attr("y1",s.line_height/2).attr("y2",s.line_height/2).attr("stroke-width",1),u.append("line").attr("y1",0).attr("y2",s.line_height).attr("x1",s.line_height/2).attr("x2",s.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",yve.ARROW+"_line_ending").attr("refX",s.line_height).attr("refY",.5*s.line_height).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("path").attr("d",`M0,0 + L${s.line_height},${s.line_height/2} + M${s.line_height},${s.line_height/2} + L0,${s.line_height}`).attr("stroke-width",1)}};let Ef={},LGe=0;const MGe=(i,s)=>i.insert("rect","#"+s).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Ef.rect_min_width+"px").attr("height",Ef.rect_min_height+"px"),DGe=(i,s,u)=>{let d=Ef.rect_min_width/2,p=i.append("text").attr("class","req reqLabel reqTitle").attr("id",s).attr("x",d).attr("y",Ef.rect_padding).attr("dominant-baseline","hanging"),v=0;u.forEach(_=>{v==0?p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",0).text(_):p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",Ef.line_height*.75).text(_),v++});let b=1.5*Ef.rect_padding,y=v*Ef.line_height*.75,T=b+y;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Ef.rect_min_width).attr("y1",T).attr("y2",T),{titleNode:p,y:T}},IGe=(i,s,u,d)=>{let p=i.append("text").attr("class","req reqLabel").attr("id",s).attr("x",Ef.rect_padding).attr("y",d).attr("dominant-baseline","hanging"),v=0;const b=30;let y=[];return u.forEach(T=>{let _=T.length;for(;_>b&&v<3;){let A=T.substring(0,b);T=T.substring(b,T.length),_=T.length,y[y.length]=A,v++}if(v==3){let A=y[y.length-1];y[y.length-1]=A.substring(0,A.length-4)+"..."}else y[y.length]=T;v=0}),y.forEach(T=>{p.append("tspan").attr("x",Ef.rect_padding).attr("dy",Ef.line_height).text(T)}),p},prn=(i,s,u,d)=>{const p=s.node().getTotalLength(),v=s.node().getPointAtLength(p*.5),b="rel"+LGe;LGe++;const T=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-T.width/2).attr("y",v.y-T.height/2).attr("width",T.width).attr("height",T.height).attr("fill","white").attr("fill-opacity","85%")},brn=function(i,s,u,d,p){const v=u.edge(WD(s.src),WD(s.dst)),b=k7().x(function(T){return T.x}).y(function(T){return T.y}),y=i.insert("path","#"+d).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");s.type==p.db.Relationships.CONTAINS?y.attr("marker-start","url("+ci.getUrl(Ef.arrowMarkerAbsolute)+"#"+s.type+"_line_ending)"):(y.attr("stroke-dasharray","10,7"),y.attr("marker-end","url("+ci.getUrl(Ef.arrowMarkerAbsolute)+"#"+AGe.ReqMarkers.ARROW+"_line_ending)")),prn(i,y,Ef,`<<${s.type}>>`)},mrn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];d=WD(d),Xe.info("Added new requirement: ",d);const v=u.append("g").attr("id",d),b="req-"+d,y=MGe(v,b);let T=DGe(v,d+"_title",[`<<${p.type}>>`,`${p.name}`]);IGe(v,d+"_body",[`Id: ${p.id}`,`Text: ${p.text}`,`Risk: ${p.risk}`,`Verification: ${p.verifyMethod}`],T.y);const _=y.node().getBBox();s.setNode(d,{width:_.width,height:_.height,shape:"rect",id:d})})},vrn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];const v=WD(d),b=u.append("g").attr("id",v),y="element-"+v,T=MGe(b,y);let _=DGe(b,y+"_title",["<>",`${d}`]);IGe(b,y+"_body",[`Type: ${p.type||"Not Specified"}`,`Doc Ref: ${p.docRef||"None"}`],_.y);const A=T.node().getBBox();s.setNode(v,{width:A.width,height:A.height,shape:"rect",id:v})})},wrn=(i,s)=>(i.forEach(function(u){let d=WD(u.src),p=WD(u.dst);s.setEdge(d,p,{relationship:u})}),i),yrn=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&(i.select("#"+u),i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )"))})},WD=i=>i.replace(/\s/g,"").replace(/\./g,"_"),xrn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:frn,db:drn,renderer:{draw:(i,s,u,d)=>{Ef=qt().requirement;const p=Ef.securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);AGe.insertLineEndings(y,Ef);const T=new P0({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Ef.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=d.db.getRequirements(),A=d.db.getElements(),P=d.db.getRelationships();mrn(_,T,y),vrn(A,T,y),wrn(P,T),qD(T),yrn(y,T),P.forEach(function(ee){brn(y,ee,T,s,d)});const R=Ef.rect_padding,F=y.node().getBBox(),j=F.width+R*2,W=F.height+R*2;Og(y,W,j,Ef.useMaxWidth),y.attr("viewBox",`${F.x-R} ${F.y-R} ${j} ${W}`)}},styles:grn}},Symbol.toStringTag,{value:"Module"}));var xve=function(){var i=function(xt,Pt,Ze,At){for(Ze=Ze||{},At=xt.length;At--;Ze[xt[At]]=Pt);return Ze},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,13],T=[1,14],_=[1,16],A=[1,17],P=[1,18],R=[1,24],F=[1,25],j=[1,26],W=[1,27],ee=[1,28],ie=[1,29],oe=[1,30],be=[1,31],ge=[1,32],ae=[1,33],ne=[1,34],se=[1,35],de=[1,36],X=[1,37],pe=[1,38],K=[1,39],xe=[1,41],U=[1,42],Be=[1,43],Ne=[1,44],je=[1,45],Ie=[1,46],Se=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ce=[4,5,16,50,52,53],ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Pe=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],gn=[68,69,70],kt=[1,120],Et={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Pt,Ze,At,Tt,On,ht,zr){var yt=ht.length-1;switch(On){case 3:return Tt.apply(ht[yt]),ht[yt];case 4:case 9:this.$=[];break;case 5:case 10:ht[yt-1].push(ht[yt]),this.$=ht[yt-1];break;case 6:case 7:case 11:case 12:this.$=ht[yt];break;case 8:case 13:this.$=[];break;case 15:ht[yt].type="createParticipant",this.$=ht[yt];break;case 16:ht[yt-1].unshift({type:"boxStart",boxData:Tt.parseBoxData(ht[yt-2])}),ht[yt-1].push({type:"boxEnd",boxText:ht[yt-2]}),this.$=ht[yt-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-2]),sequenceIndexStep:Number(ht[yt-1]),sequenceVisible:!0,signalType:Tt.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Tt.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Tt.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Tt.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:Tt.LINETYPE.ACTIVE_START,actor:ht[yt-1]};break;case 23:this.$={type:"activeEnd",signalType:Tt.LINETYPE.ACTIVE_END,actor:ht[yt-1]};break;case 29:Tt.setDiagramTitle(ht[yt].substring(6)),this.$=ht[yt].substring(6);break;case 30:Tt.setDiagramTitle(ht[yt].substring(7)),this.$=ht[yt].substring(7);break;case 31:this.$=ht[yt].trim(),Tt.setAccTitle(this.$);break;case 32:case 33:this.$=ht[yt].trim(),Tt.setAccDescription(this.$);break;case 34:ht[yt-1].unshift({type:"loopStart",loopText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.LOOP_START}),ht[yt-1].push({type:"loopEnd",loopText:ht[yt-2],signalType:Tt.LINETYPE.LOOP_END}),this.$=ht[yt-1];break;case 35:ht[yt-1].unshift({type:"rectStart",color:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.RECT_START}),ht[yt-1].push({type:"rectEnd",color:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.RECT_END}),this.$=ht[yt-1];break;case 36:ht[yt-1].unshift({type:"optStart",optText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.OPT_START}),ht[yt-1].push({type:"optEnd",optText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.OPT_END}),this.$=ht[yt-1];break;case 37:ht[yt-1].unshift({type:"altStart",altText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.ALT_START}),ht[yt-1].push({type:"altEnd",signalType:Tt.LINETYPE.ALT_END}),this.$=ht[yt-1];break;case 38:ht[yt-1].unshift({type:"parStart",parText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.PAR_START}),ht[yt-1].push({type:"parEnd",signalType:Tt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 39:ht[yt-1].unshift({type:"parStart",parText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.PAR_OVER_START}),ht[yt-1].push({type:"parEnd",signalType:Tt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 40:ht[yt-1].unshift({type:"criticalStart",criticalText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.CRITICAL_START}),ht[yt-1].push({type:"criticalEnd",signalType:Tt.LINETYPE.CRITICAL_END}),this.$=ht[yt-1];break;case 41:ht[yt-1].unshift({type:"breakStart",breakText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.BREAK_START}),ht[yt-1].push({type:"breakEnd",optText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.BREAK_END}),this.$=ht[yt-1];break;case 43:this.$=ht[yt-3].concat([{type:"option",optionText:Tt.parseMessage(ht[yt-1]),signalType:Tt.LINETYPE.CRITICAL_OPTION},ht[yt]]);break;case 45:this.$=ht[yt-3].concat([{type:"and",parText:Tt.parseMessage(ht[yt-1]),signalType:Tt.LINETYPE.PAR_AND},ht[yt]]);break;case 47:this.$=ht[yt-3].concat([{type:"else",altText:Tt.parseMessage(ht[yt-1]),signalType:Tt.LINETYPE.ALT_ELSE},ht[yt]]);break;case 48:ht[yt-3].draw="participant",ht[yt-3].type="addParticipant",ht[yt-3].description=Tt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 49:ht[yt-1].draw="participant",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 50:ht[yt-3].draw="actor",ht[yt-3].type="addParticipant",ht[yt-3].description=Tt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 51:ht[yt-1].draw="actor",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 52:ht[yt-1].type="destroyParticipant",this.$=ht[yt-1];break;case 53:this.$=[ht[yt-1],{type:"addNote",placement:ht[yt-2],actor:ht[yt-1].actor,text:ht[yt]}];break;case 54:ht[yt-2]=[].concat(ht[yt-1],ht[yt-1]).slice(0,2),ht[yt-2][0]=ht[yt-2][0].actor,ht[yt-2][1]=ht[yt-2][1].actor,this.$=[ht[yt-1],{type:"addNote",placement:Tt.PLACEMENT.OVER,actor:ht[yt-2].slice(0,2),text:ht[yt]}];break;case 55:this.$=[ht[yt-1],{type:"addLinks",actor:ht[yt-1].actor,text:ht[yt]}];break;case 56:this.$=[ht[yt-1],{type:"addALink",actor:ht[yt-1].actor,text:ht[yt]}];break;case 57:this.$=[ht[yt-1],{type:"addProperties",actor:ht[yt-1].actor,text:ht[yt]}];break;case 58:this.$=[ht[yt-1],{type:"addDetails",actor:ht[yt-1].actor,text:ht[yt]}];break;case 61:this.$=[ht[yt-2],ht[yt]];break;case 62:this.$=ht[yt];break;case 63:this.$=Tt.PLACEMENT.LEFTOF;break;case 64:this.$=Tt.PLACEMENT.RIGHTOF;break;case 65:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt],activate:!0},{type:"activeStart",signalType:Tt.LINETYPE.ACTIVE_START,actor:ht[yt-1]}];break;case 66:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt]},{type:"activeEnd",signalType:Tt.LINETYPE.ACTIVE_END,actor:ht[yt-4]}];break;case 67:this.$=[ht[yt-3],ht[yt-1],{type:"addMessage",from:ht[yt-3].actor,to:ht[yt-1].actor,signalType:ht[yt-2],msg:ht[yt]}];break;case 68:this.$={type:"addParticipant",actor:ht[yt]};break;case 69:this.$=Tt.LINETYPE.SOLID_OPEN;break;case 70:this.$=Tt.LINETYPE.DOTTED_OPEN;break;case 71:this.$=Tt.LINETYPE.SOLID;break;case 72:this.$=Tt.LINETYPE.DOTTED;break;case 73:this.$=Tt.LINETYPE.SOLID_CROSS;break;case 74:this.$=Tt.LINETYPE.DOTTED_CROSS;break;case 75:this.$=Tt.LINETYPE.SOLID_POINT;break;case 76:this.$=Tt.LINETYPE.DOTTED_POINT;break;case 77:this.$=Tt.parseMessage(ht[yt].trim().substring(1));break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},i(Se,[2,5]),{9:47,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},i(Se,[2,7]),i(Se,[2,8]),i(Se,[2,14]),{12:48,50:X,52:pe,53:K},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Ie},{22:55,70:Ie},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Se,[2,29]),i(Se,[2,30]),{32:[1,61]},{34:[1,62]},i(Se,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Ie},{22:72,70:Ie},{22:73,70:Ie},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Ie},{22:88,70:Ie},{22:89,70:Ie},{22:90,70:Ie},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Se,[2,6]),i(Se,[2,15]),i(Ce,[2,9],{10:91}),i(Se,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Se,[2,21]),{5:[1,95]},{5:[1,96]},i(Se,[2,24]),i(Se,[2,25]),i(Se,[2,26]),i(Se,[2,27]),i(Se,[2,28]),i(Se,[2,31]),i(Se,[2,32]),i(ke,p,{7:97}),i(ke,p,{7:98}),i(ke,p,{7:99}),i(Ke,p,{40:100,7:101}),i(Ft,p,{42:102,7:103}),i(Ft,p,{7:103,42:104}),i(Pe,p,{45:105,7:106}),i(ke,p,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Ie},i(gn,[2,69]),i(gn,[2,70]),i(gn,[2,71]),i(gn,[2,72]),i(gn,[2,73]),i(gn,[2,74]),i(gn,[2,75]),i(gn,[2,76]),{22:116,70:Ie},{22:118,58:117,70:Ie},{70:[2,63]},{70:[2,64]},{56:119,79:kt},{56:121,79:kt},{56:122,79:kt},{56:123,79:kt},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:pe,53:K},{5:[1,129]},i(Se,[2,19]),i(Se,[2,20]),i(Se,[2,22]),i(Se,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,130],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,131],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,132],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,46],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,49:[1,134],50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,44],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,48:[1,136],50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,42],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,47:[1,139],50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,140],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:K,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{15:[1,141]},i(Se,[2,49]),{15:[1,142]},i(Se,[2,51]),i(Se,[2,52]),{22:143,70:Ie},{22:144,70:Ie},{56:145,79:kt},{56:146,79:kt},{56:147,79:kt},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Se,[2,16]),i(Ce,[2,10]),{12:149,50:X,52:pe,53:K},i(Ce,[2,12]),i(Ce,[2,13]),i(Se,[2,18]),i(Se,[2,34]),i(Se,[2,35]),i(Se,[2,36]),i(Se,[2,37]),{15:[1,150]},i(Se,[2,38]),{15:[1,151]},i(Se,[2,39]),i(Se,[2,40]),{15:[1,152]},i(Se,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:kt},{56:156,79:kt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Ie},i(Ce,[2,11]),i(Ke,p,{7:101,40:158}),i(Ft,p,{7:103,42:159}),i(Pe,p,{7:106,45:160}),i(Se,[2,48]),i(Se,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Pt,Ze){if(Ze.recoverable)this.trace(Pt);else{var At=new Error(Pt);throw At.hash=Ze,At}},parse:function(Pt){var Ze=this,At=[0],Tt=[],On=[null],ht=[],zr=this.table,yt="",Fi=0,yi=0,Pa=2,ta=1,$o=ht.slice.call(arguments,1),Ar=Object.create(this.lexer),Nn={yy:{}};for(var $n in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$n)&&(Nn.yy[$n]=this.yy[$n]);Ar.setInput(Pt,Nn.yy),Nn.yy.lexer=Ar,Nn.yy.parser=this,typeof Ar.yylloc>"u"&&(Ar.yylloc={});var qn=Ar.yylloc;ht.push(qn);var Lt=Ar.options&&Ar.options.ranges;typeof Nn.yy.parseError=="function"?this.parseError=Nn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function wt(){var Xo;return Xo=Tt.pop()||Ar.lex()||ta,typeof Xo!="number"&&(Xo instanceof Array&&(Tt=Xo,Xo=Tt.pop()),Xo=Ze.symbols_[Xo]||Xo),Xo}for(var cn,fn,Mn,mo,Oo={},Xa,ca,No,Ts;;){if(fn=At[At.length-1],this.defaultActions[fn]?Mn=this.defaultActions[fn]:((cn===null||typeof cn>"u")&&(cn=wt()),Mn=zr[fn]&&zr[fn][cn]),typeof Mn>"u"||!Mn.length||!Mn[0]){var rl="";Ts=[];for(Xa in zr[fn])this.terminals_[Xa]&&Xa>Pa&&Ts.push("'"+this.terminals_[Xa]+"'");Ar.showPosition?rl="Parse error on line "+(Fi+1)+`: +`+Ar.showPosition()+` +Expecting `+Ts.join(", ")+", got '"+(this.terminals_[cn]||cn)+"'":rl="Parse error on line "+(Fi+1)+": Unexpected "+(cn==ta?"end of input":"'"+(this.terminals_[cn]||cn)+"'"),this.parseError(rl,{text:Ar.match,token:this.terminals_[cn]||cn,line:Ar.yylineno,loc:qn,expected:Ts})}if(Mn[0]instanceof Array&&Mn.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fn+", token: "+cn);switch(Mn[0]){case 1:At.push(cn),On.push(Ar.yytext),ht.push(Ar.yylloc),At.push(Mn[1]),cn=null,yi=Ar.yyleng,yt=Ar.yytext,Fi=Ar.yylineno,qn=Ar.yylloc;break;case 2:if(ca=this.productions_[Mn[1]][1],Oo.$=On[On.length-ca],Oo._$={first_line:ht[ht.length-(ca||1)].first_line,last_line:ht[ht.length-1].last_line,first_column:ht[ht.length-(ca||1)].first_column,last_column:ht[ht.length-1].last_column},Lt&&(Oo._$.range=[ht[ht.length-(ca||1)].range[0],ht[ht.length-1].range[1]]),mo=this.performAction.apply(Oo,[yt,yi,Fi,Nn.yy,Mn[1],On,ht].concat($o)),typeof mo<"u")return mo;ca&&(At=At.slice(0,-1*ca*2),On=On.slice(0,-1*ca),ht=ht.slice(0,-1*ca)),At.push(this.productions_[Mn[1]][0]),On.push(Oo.$),ht.push(Oo._$),No=zr[At[At.length-2]][At[At.length-1]],At.push(No);break;case 3:return!0}}return!0}},Gt=function(){var xt={EOF:1,parseError:function(Ze,At){if(this.yy.parser)this.yy.parser.parseError(Ze,At);else throw new Error(Ze)},setInput:function(Pt,Ze){return this.yy=Ze||this.yy||{},this._input=Pt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Pt=this._input[0];this.yytext+=Pt,this.yyleng++,this.offset++,this.match+=Pt,this.matched+=Pt;var Ze=Pt.match(/(?:\r\n?|\n).*/g);return Ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Pt},unput:function(Pt){var Ze=Pt.length,At=Pt.split(/(?:\r\n?|\n)/g);this._input=Pt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ze),this.offset-=Ze;var Tt=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),At.length-1&&(this.yylineno-=At.length-1);var On=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:At?(At.length===Tt.length?this.yylloc.first_column:0)+Tt[Tt.length-At.length].length-At[0].length:this.yylloc.first_column-Ze},this.options.ranges&&(this.yylloc.range=[On[0],On[0]+this.yyleng-Ze]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Pt){this.unput(this.match.slice(Pt))},pastInput:function(){var Pt=this.matched.substr(0,this.matched.length-this.match.length);return(Pt.length>20?"...":"")+Pt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Pt=this.match;return Pt.length<20&&(Pt+=this._input.substr(0,20-Pt.length)),(Pt.substr(0,20)+(Pt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Pt=this.pastInput(),Ze=new Array(Pt.length+1).join("-");return Pt+this.upcomingInput()+` +`+Ze+"^"},test_match:function(Pt,Ze){var At,Tt,On;if(this.options.backtrack_lexer&&(On={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(On.yylloc.range=this.yylloc.range.slice(0))),Tt=Pt[0].match(/(?:\r\n?|\n).*/g),Tt&&(this.yylineno+=Tt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Tt?Tt[Tt.length-1].length-Tt[Tt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Pt[0].length},this.yytext+=Pt[0],this.match+=Pt[0],this.matches=Pt,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Pt[0].length),this.matched+=Pt[0],At=this.performAction.call(this,this.yy,this,Ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),At)return At;if(this._backtrack){for(var ht in On)this[ht]=On[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Pt,Ze,At,Tt;this._more||(this.yytext="",this.match="");for(var On=this._currentRules(),ht=0;htZe[0].length)){if(Ze=At,Tt=ht,this.options.backtrack_lexer){if(Pt=this.test_match(At,On[ht]),Pt!==!1)return Pt;if(this._backtrack){Ze=!1;continue}else return!1}else if(!this.options.flex)break}return Ze?(Pt=this.test_match(Ze,On[Tt]),Pt!==!1?Pt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ze=this.next();return Ze||this.lex()},begin:function(Ze){this.conditionStack.push(Ze)},popState:function(){var Ze=this.conditionStack.length-1;return Ze>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ze){return Ze=this.conditionStack.length-1-Math.abs(Ze||0),Ze>=0?this.conditionStack[Ze]:"INITIAL"},pushState:function(Ze){this.begin(Ze)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ze,At,Tt,On){switch(Tt){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return At.yytext=At.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return At.yytext=At.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return xt}();Et.lexer=Gt;function ln(){this.yy={}}return ln.prototype=Et,Et.Parser=ln,new ln}();xve.parser=xve;const krn=xve;class Ern{constructor(s){this.init=s,this.records=this.init()}reset(){this.records=this.init()}}const Is=new Ern(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),Trn=function(i){Is.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&JC()||!!i.wrap,fill:i.color,actorKeys:[]}),Is.records.currentBox=Is.records.boxes.slice(-1)[0]},kve=function(i,s,u,d){let p=Is.records.currentBox;const v=Is.records.actors[i];if(v){if(Is.records.currentBox&&v.box&&Is.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+Is.records.currentBox.name+"' at the same time.");if(p=v.box?v.box:Is.records.currentBox,v.box=p,v&&s===v.name&&u==null)return}(u==null||u.text==null)&&(u={text:s,wrap:null,type:d}),(d==null||u.text==null)&&(u={text:s,wrap:null,type:d}),Is.records.actors[i]={box:p,name:s,description:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,prevActor:Is.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:d||"participant"},Is.records.prevActor&&Is.records.actors[Is.records.prevActor]&&(Is.records.actors[Is.records.prevActor].nextActor=i),Is.records.currentBox&&Is.records.currentBox.actorKeys.push(i),Is.records.prevActor=i},Crn=i=>{let s,u=0;for(s=0;s>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return Is.records.messages.push({from:i,to:s,message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,type:d,activate:p}),!0},_rn=function(){return Is.records.boxes.length>0},Arn=function(){return Is.records.boxes.some(i=>i.name)},Lrn=function(){return Is.records.messages},Mrn=function(){return Is.records.boxes},Drn=function(){return Is.records.actors},Irn=function(){return Is.records.createdActors},Orn=function(){return Is.records.destroyedActors},KR=function(i){return Is.records.actors[i]},Nrn=function(){return Object.keys(Is.records.actors)},Prn=function(){Is.records.sequenceNumbersEnabled=!0},Brn=function(){Is.records.sequenceNumbersEnabled=!1},Frn=()=>Is.records.sequenceNumbersEnabled,Rrn=function(i){Is.records.wrapEnabled=i},JC=()=>Is.records.wrapEnabled!==void 0?Is.records.wrapEnabled:qt().sequence.wrap,jrn=function(){Is.reset(),Ng()},$rn=function(i){const s=i.trim(),u={text:s.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:s.match(/^:?wrap:/)!==null?!0:s.match(/^:?nowrap:/)!==null?!1:void 0};return Xe.debug("parseMessage:",u),u},zrn=function(i){const s=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let u=s!=null&&s[1]?s[1].trim():"transparent",d=s!=null&&s[2]?s[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",u)||(u="transparent",d=i.trim());else{const p=new Option().style;p.color=u,p.color!==u&&(u="transparent",d=i.trim())}return{color:u,text:d!==void 0?Wf(d.replace(/^:?(?:no)?wrap:/,""),qt()):void 0,wrap:d!==void 0?d.match(/^:?wrap:/)!==null?!0:d.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},WR={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},qrn={FILLED:0,OPEN:1},Hrn={LEFTOF:0,RIGHTOF:1,OVER:2},OGe=function(i,s,u){const d={actor:i,placement:s,message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap},p=[].concat(i,i);Is.records.notes.push(d),Is.records.messages.push({from:p[0],to:p[1],message:u.text,wrap:u.wrap===void 0&&JC()||!!u.wrap,type:WR.NOTE,placement:s})},NGe=function(i,s){const u=KR(i);try{let d=Wf(s.text,qt());d=d.replace(/&/g,"&"),d=d.replace(/=/g,"=");const p=JSON.parse(d);Eve(u,p)}catch(d){Xe.error("error while parsing actor link text",d)}},Vrn=function(i,s){const u=KR(i);try{const b={};let y=Wf(s.text,qt());var d=y.indexOf("@");y=y.replace(/&/g,"&"),y=y.replace(/=/g,"=");var p=y.slice(0,d-1).trim(),v=y.slice(d+1).trim();b[p]=v,Eve(u,b)}catch(b){Xe.error("error while parsing actor link text",b)}};function Eve(i,s){if(i.links==null)i.links=s;else for(let u in s)i.links[u]=s[u]}const PGe=function(i,s){const u=KR(i);try{let d=Wf(s.text,qt());const p=JSON.parse(d);BGe(u,p)}catch(d){Xe.error("error while parsing actor properties text",d)}};function BGe(i,s){if(i.properties==null)i.properties=s;else for(let u in s)i.properties[u]=s[u]}function Urn(){Is.records.currentBox=void 0}const FGe=function(i,s){const u=KR(i),d=document.getElementById(s.text);try{const p=d.innerHTML,v=JSON.parse(p);v.properties&&BGe(u,v.properties),v.links&&Eve(u,v.links)}catch(p){Xe.error("error while parsing actor details text",p)}},Grn=function(i,s){if(i!==void 0&&i.properties!==void 0)return i.properties[s]},RGe=function(i){if(Array.isArray(i))i.forEach(function(s){RGe(s)});else switch(i.type){case"sequenceIndex":Is.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":kve(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(Is.records.actors[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");Is.records.lastCreated=i.actor,kve(i.actor,i.actor,i.description,i.draw),Is.records.createdActors[i.actor]=Is.records.messages.length;break;case"destroyParticipant":Is.records.lastDestroyed=i.actor,Is.records.destroyedActors[i.actor]=Is.records.messages.length;break;case"activeStart":Qf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Qf(i.actor,void 0,void 0,i.signalType);break;case"addNote":OGe(i.actor,i.placement,i.text);break;case"addLinks":NGe(i.actor,i.text);break;case"addALink":Vrn(i.actor,i.text);break;case"addProperties":PGe(i.actor,i.text);break;case"addDetails":FGe(i.actor,i.text);break;case"addMessage":if(Is.records.lastCreated){if(i.to!==Is.records.lastCreated)throw new Error("The created participant "+Is.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Is.records.lastCreated=void 0}else if(Is.records.lastDestroyed){if(i.to!==Is.records.lastDestroyed&&i.from!==Is.records.lastDestroyed)throw new Error("The destroyed participant "+Is.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Is.records.lastDestroyed=void 0}Qf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":Trn(i.boxData);break;case"boxEnd":Urn();break;case"loopStart":Qf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Qf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Qf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Qf(void 0,void 0,void 0,i.signalType);break;case"optStart":Qf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Qf(void 0,void 0,void 0,i.signalType);break;case"altStart":Qf(void 0,void 0,i.altText,i.signalType);break;case"else":Qf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Qf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":Pg(i.text);break;case"parStart":Qf(void 0,void 0,i.parText,i.signalType);break;case"and":Qf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Qf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Qf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Qf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Qf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Qf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Qf(void 0,void 0,void 0,i.signalType);break}},jGe={addActor:kve,addMessage:Srn,addSignal:Qf,addLinks:NGe,addDetails:FGe,addProperties:PGe,autoWrap:JC,setWrap:Rrn,enableSequenceNumbers:Prn,disableSequenceNumbers:Brn,showSequenceNumbers:Frn,getMessages:Lrn,getActors:Drn,getCreatedActors:Irn,getDestroyedActors:Orn,getActor:KR,getActorKeys:Nrn,getActorProperty:Grn,getAccTitle:Cp,getBoxes:Mrn,getDiagramTitle:Ap,setDiagramTitle:cm,getConfig:()=>qt().sequence,clear:jrn,parseMessage:$rn,parseBoxData:zrn,LINETYPE:WR,ARROWTYPE:qrn,PLACEMENT:Hrn,addNote:OGe,setAccTitle:Pg,apply:RGe,setAccDescription:Sp,getAccDescription:_p,hasAtLeastOneBox:_rn,hasAtLeastOneBoxWithTitle:Arn},Krn=i=>`.actor { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + + text.actor > tspan { + fill: ${i.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${i.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${i.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${i.signalColor}; + } + + #arrowhead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .sequenceNumber { + fill: ${i.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${i.signalColor}; + } + + #crosshead path { + fill: ${i.signalColor}; + stroke: ${i.signalColor}; + } + + .messageText { + fill: ${i.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${i.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${i.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${i.labelBoxBorderColor}; + fill: ${i.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${i.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation1 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .activation2 { + fill: ${i.activationBkgColor}; + stroke: ${i.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${i.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + } + .actor-man circle, line { + stroke: ${i.actorBorder}; + fill: ${i.actorBkg}; + stroke-width: 2px; + } +`,ZC=18*2,$Ge="actor-top",zGe="actor-bottom",Tve=function(i,s){return LQ(i,s)},Wrn=function(i,s,u,d,p){if(s.links===void 0||s.links===null||Object.keys(s.links).length===0)return{height:0,width:0};const v=s.links,b=s.actorCnt,y=s.rectData;var T="none";p&&(T="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",T);var A="";y.class!==void 0&&(A=" "+y.class);let P=y.width>u?y.width:u;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+A),R.attr("x",y.x),R.attr("y",y.height),R.attr("fill",y.fill),R.attr("stroke",y.stroke),R.attr("width",P),R.attr("height",y.height),R.attr("rx",y.rx),R.attr("ry",y.ry),v!=null){var F=20;for(let ee in v){var j=_.append("a"),W=p9.sanitizeUrl(v[ee]);j.attr("xlink:href",W),j.attr("target","_blank"),hin(d)(ee,j,y.x+10,y.height+F,P,20,{class:"actor"},d),F+=30}}return R.attr("height",F),{height:y.height+F,width:P}},Yrn=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},bJ=async function(i,s,u=null){let d=i.append("foreignObject");const p=await CC(s.text,Uh()),b=d.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(p).node().getBoundingClientRect();if(d.attr("height",Math.round(b.height)).attr("width",Math.round(b.width)),s.class==="noteText"){const y=i.node().firstChild;y.setAttribute("height",b.height+2*s.textMargin);const T=y.getBBox();d.attr("x",Math.round(T.x+T.width/2-b.width/2)).attr("y",Math.round(T.y+T.height/2-b.height/2))}else if(u){let{startx:y,stopx:T,starty:_}=u;if(y>T){const A=y;y=T,T=A}d.attr("x",Math.round(y+Math.abs(y-T)/2-b.width/2)),s.class==="loopText"?d.attr("y",Math.round(_)):d.attr("y",Math.round(_-b.height))}return[d]},YD=function(i,s){let u=0,d=0;const p=s.text.split(ci.lineBreakRegex),[v,b]=NC(s.fontSize);let y=[],T=0,_=()=>s.y;if(s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0)switch(s.valign){case"top":case"start":_=()=>Math.round(s.y+s.textMargin);break;case"middle":case"center":_=()=>Math.round(s.y+(u+d+s.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(s.y+(u+d+2*s.textMargin)-s.textMargin);break}if(s.anchor!==void 0&&s.textMargin!==void 0&&s.width!==void 0)switch(s.anchor){case"left":case"start":s.x=Math.round(s.x+s.textMargin),s.anchor="start",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"middle":case"center":s.x=Math.round(s.x+s.width/2),s.anchor="middle",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"right":case"end":s.x=Math.round(s.x+s.width-s.textMargin),s.anchor="end",s.dominantBaseline="middle",s.alignmentBaseline="middle";break}for(let[A,P]of p.entries()){s.textMargin!==void 0&&s.textMargin===0&&v!==void 0&&(T=A*v);const R=i.append("text");R.attr("x",s.x),R.attr("y",_()),s.anchor!==void 0&&R.attr("text-anchor",s.anchor).attr("dominant-baseline",s.dominantBaseline).attr("alignment-baseline",s.alignmentBaseline),s.fontFamily!==void 0&&R.style("font-family",s.fontFamily),b!==void 0&&R.style("font-size",b),s.fontWeight!==void 0&&R.style("font-weight",s.fontWeight),s.fill!==void 0&&R.attr("fill",s.fill),s.class!==void 0&&R.attr("class",s.class),s.dy!==void 0?R.attr("dy",s.dy):T!==0&&R.attr("dy",T);const F=P||dje;if(s.tspan){const j=R.append("tspan");j.attr("x",s.x),s.fill!==void 0&&j.attr("fill",s.fill),j.text(F)}else R.text(F);s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0&&(d+=(R._groups||R)[0][0].getBBox().height,u=d),y.push(R)}return y},qGe=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");return d.attr("points",u(s.x,s.y,s.width,s.height,7)),d.attr("class","labelBox"),s.y=s.y+s.height/2,YD(i,s),d};let s5=-1;const HGe=(i,s,u,d)=>{i.select&&u.forEach(p=>{const v=s[p],b=i.select("#actor"+v.actorCnt);!d.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):d.mirrorActors&&b.attr("y2",v.stopy)})},Xrn=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+5,y=i.append("g").lower();var T=y;d||(s5++,Object.keys(s.links||{}).length&&!u.forceMenus&&T.attr("onclick",Yrn(`actor${s5}_popup`)).attr("cursor","pointer"),T.append("line").attr("id","actor"+s5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),T=y.append("g"),s.actorCnt=s5,s.links!=null&&T.attr("id","root-"+s5));const _=qC();var A="actor";s.properties!=null&&s.properties.class?A=s.properties.class:_.fill="#eaeaea",d?A+=` ${zGe}`:A+=` ${$Ge}`,_.x=s.x,_.y=p,_.width=s.width,_.height=s.height,_.class=A,_.rx=3,_.ry=3,_.name=s.name;const P=Tve(T,_);if(s.rectData=_,s.properties!=null&&s.properties.icon){const F=s.properties.icon.trim();F.charAt(0)==="@"?sUt(T,_.x+_.width-20,_.y+10,F.substr(1)):iUt(T,_.x+_.width-20,_.y+10,F)}await Cve(u,Iv(s.description))(s.description,T,_.x,_.y,_.width,_.height,{class:"actor"},u);let R=s.height;if(P.node){const F=P.node().getBBox();s.height=F.height,R=F.height}return R},Qrn=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+80;i.lower(),d||(s5++,i.append("line").attr("id","actor"+s5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),s.actorCnt=s5);const y=i.append("g");let T="actor-man";d?T+=` ${zGe}`:T+=` ${$Ge}`,y.attr("class",T),y.attr("name",s.name);const _=qC();_.x=s.x,_.y=p,_.fill="#eaeaea",_.width=s.width,_.height=s.height,_.class="actor",_.rx=3,_.ry=3,y.append("line").attr("id","actor-man-torso"+s5).attr("x1",v).attr("y1",p+25).attr("x2",v).attr("y2",p+45),y.append("line").attr("id","actor-man-arms"+s5).attr("x1",v-ZC/2).attr("y1",p+33).attr("x2",v+ZC/2).attr("y2",p+33),y.append("line").attr("x1",v-ZC/2).attr("y1",p+60).attr("x2",v).attr("y2",p+45),y.append("line").attr("x1",v).attr("y1",p+45).attr("x2",v+ZC/2-2).attr("y2",p+60);const A=y.append("circle");A.attr("cx",s.x+s.width/2),A.attr("cy",p+10),A.attr("r",15),A.attr("width",s.width),A.attr("height",s.height);const P=y.node().getBBox();return s.height=P.height,await Cve(u,Iv(s.description))(s.description,y,_.x,_.y+35,_.width,_.height,{class:"actor"},u),s.height},Jrn=async function(i,s,u,d){switch(s.type){case"actor":return await Qrn(i,s,u,d);case"participant":return await Xrn(i,s,u,d)}},Zrn=async function(i,s,u){const p=i.append("g");VGe(p,s),s.name&&await Cve(u)(s.name,p,s.x,s.y+(s.textMaxHeight||0)/2,s.width,0,{class:"text"},u),p.lower()},ein=function(i){return i.append("g")},tin=function(i,s,u,d,p){const v=qC(),b=s.anchored;v.x=s.startx,v.y=s.starty,v.class="activation"+p%3,v.width=s.stopx-s.startx,v.height=u-s.starty,Tve(b,v)},nin=async function(i,s,u,d){const{boxMargin:p,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:y,messageFontFamily:T,messageFontSize:_,messageFontWeight:A}=d,P=i.append("g"),R=function(W,ee,ie,oe){return P.append("line").attr("x1",W).attr("y1",ee).attr("x2",ie).attr("y2",oe).attr("class","loopLine")};R(s.startx,s.starty,s.stopx,s.starty),R(s.stopx,s.starty,s.stopx,s.stopy),R(s.startx,s.stopy,s.stopx,s.stopy),R(s.startx,s.starty,s.startx,s.stopy),s.sections!==void 0&&s.sections.forEach(function(W){R(s.startx,W.y,s.stopx,W.y).style("stroke-dasharray","3, 3")});let F=qbe();F.text=u,F.x=s.startx,F.y=s.starty,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.anchor="middle",F.valign="middle",F.tspan=!1,F.width=y||50,F.height=b||20,F.textMargin=v,F.class="labelText",qGe(P,F),F=UGe(),F.text=s.title,F.x=s.startx+y/2+(s.stopx-s.startx)/2,F.y=s.starty+p+v,F.anchor="middle",F.valign="middle",F.textMargin=v,F.class="loopText",F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=!0;let j=Iv(F.text)?await bJ(P,F,s):YD(P,F);if(s.sectionTitles!==void 0){for(const[W,ee]of Object.entries(s.sectionTitles))if(ee.message){F.text=ee.message,F.x=s.startx+(s.stopx-s.startx)/2,F.y=s.sections[W].y+p+v,F.class="loopText",F.anchor="middle",F.valign="middle",F.tspan=!1,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=s.wrap,Iv(F.text)?(s.starty=s.sections[W].y,await bJ(P,F,s)):YD(P,F);let ie=Math.round(j.map(oe=>(oe._groups||oe)[0][0].getBBox().height).reduce((oe,be)=>oe+be));s.sections[W].height+=ie-(p+v)}}return s.height=Math.round(s.stopy-s.starty),P},VGe=function(i,s){Sqe(i,s)},rin=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},iin=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},sin=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},ain=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},oin=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},cin=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},uin=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},UGe=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},lin=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Cve=function(){function i(v,b,y,T,_,A,P){const R=b.append("text").attr("x",y+_/2).attr("y",T+A/2+5).style("text-anchor","middle").text(v);p(R,P)}function s(v,b,y,T,_,A,P,R){const{actorFontSize:F,actorFontFamily:j,actorFontWeight:W}=R,[ee,ie]=NC(F),oe=v.split(ci.lineBreakRegex);for(let be=0;bei.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,s)=>i+s))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,KGe(qt())},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=this;let v=0;function b(y){return function(_){v++;const A=p.sequenceItems.length-v+1;p.updateVal(_,"starty",s-A*En.boxMargin,Math.min),p.updateVal(_,"stopy",d+A*En.boxMargin,Math.max),p.updateVal(ti.data,"startx",i-A*En.boxMargin,Math.min),p.updateVal(ti.data,"stopx",u+A*En.boxMargin,Math.max),y!=="activation"&&(p.updateVal(_,"startx",i-A*En.boxMargin,Math.min),p.updateVal(_,"stopx",u+A*En.boxMargin,Math.max),p.updateVal(ti.data,"starty",s-A*En.boxMargin,Math.min),p.updateVal(ti.data,"stopy",d+A*En.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,s,u,d){const p=ci.getMin(i,u),v=ci.getMax(i,u),b=ci.getMin(s,d),y=ci.getMax(s,d);this.updateVal(ti.data,"startx",p,Math.min),this.updateVal(ti.data,"starty",b,Math.min),this.updateVal(ti.data,"stopx",v,Math.max),this.updateVal(ti.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},newActivation:function(i,s,u){const d=u[i.from.actor],p=mJ(i.from.actor).length||0,v=d.x+d.width/2+(p-1)*En.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+En.activationWidth,stopy:void 0,actor:i.from.actor,anchored:Jf.anchorElement(s)})},endActivation:function(i){const s=this.activations.map(function(u){return u.actor}).lastIndexOf(i.from.actor);return this.activations.splice(s,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},s){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:s}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},s){this.sequenceItems.push(this.createLoop(i,s))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const s=this.sequenceItems.pop();s.sections=s.sections||[],s.sectionTitles=s.sectionTitles||[],s.sections.push({y:ti.getVerticalPos(),height:0}),s.sectionTitles.push(i),this.sequenceItems.push(s)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=ci.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},fin=async function(i,s){ti.bumpVerticalPos(En.boxMargin),s.height=En.boxMargin,s.starty=ti.getVerticalPos();const u=qC();u.x=s.startx,u.y=s.starty,u.width=s.width||En.width,u.class="note";const d=i.append("g"),p=Jf.drawRect(d,u),v=qbe();v.x=s.startx,v.y=s.starty,v.width=u.width,v.dy="1em",v.text=s.message,v.class="noteText",v.fontFamily=En.noteFontFamily,v.fontSize=En.noteFontSize,v.fontWeight=En.noteFontWeight,v.anchor=En.noteAlign,v.textMargin=En.noteMargin,v.valign="center";const b=Iv(v.text)?await bJ(d,v):YD(d,v),y=Math.round(b.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,_)=>T+_));p.attr("height",y+2*En.noteMargin),s.height+=y+2*En.noteMargin,ti.bumpVerticalPos(y+2*En.noteMargin),s.stopy=s.starty+y+2*En.noteMargin,s.stopx=s.startx+u.width,ti.insert(s.startx,s.starty,s.stopx,s.stopy),ti.models.addNote(s)},eS=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),XD=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Sve=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});async function din(i,s){ti.bumpVerticalPos(10);const{startx:u,stopx:d,message:p}=s,v=ci.splitBreaks(p).length,b=Iv(p),y=b?await UF(p,qt()):So.calculateTextDimensions(p,eS(En));if(!b){const P=y.height/v;s.height+=P,ti.bumpVerticalPos(P)}let T,_=y.height-10;const A=y.width;if(u===d){T=ti.getVerticalPos()+_,En.rightAngles||(_+=En.boxMargin,T=ti.getVerticalPos()+_),_+=30;const P=ci.getMax(A/2,En.width/2);ti.insert(u-P,ti.getVerticalPos()-10+_,d+P,ti.getVerticalPos()+30+_)}else _+=En.boxMargin,T=ti.getVerticalPos()+_,ti.insert(u,T-10,d,T);return ti.bumpVerticalPos(_),s.height+=_,s.stopy=s.starty+s.height,ti.insert(s.fromBounds,s.starty,s.toBounds,s.stopy),T}const gin=async function(i,s,u,d){const{startx:p,stopx:v,starty:b,message:y,type:T,sequenceIndex:_,sequenceVisible:A}=s,P=So.calculateTextDimensions(y,eS(En)),R=qbe();R.x=p,R.y=b+10,R.width=v-p,R.class="messageText",R.dy="1em",R.text=y,R.fontFamily=En.messageFontFamily,R.fontSize=En.messageFontSize,R.fontWeight=En.messageFontWeight,R.anchor=En.messageAlign,R.valign="center",R.textMargin=En.wrapPadding,R.tspan=!1,Iv(R.text)?await bJ(i,R,{startx:p,stopx:v,starty:u}):YD(i,R);const F=P.width;let j;p===v?En.rightAngles?j=i.append("path").attr("d",`M ${p},${u} H ${p+ci.getMax(En.width/2,F/2)} V ${u+25} H ${p}`):j=i.append("path").attr("d","M "+p+","+u+" C "+(p+60)+","+(u-10)+" "+(p+60)+","+(u+30)+" "+p+","+(u+20)):(j=i.append("line"),j.attr("x1",p),j.attr("y1",u),j.attr("x2",v),j.attr("y2",u)),T===d.db.LINETYPE.DOTTED||T===d.db.LINETYPE.DOTTED_CROSS||T===d.db.LINETYPE.DOTTED_POINT||T===d.db.LINETYPE.DOTTED_OPEN?(j.style("stroke-dasharray","3, 3"),j.attr("class","messageLine1")):j.attr("class","messageLine0");let W="";En.arrowMarkerAbsolute&&(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,W=W.replace(/\(/g,"\\("),W=W.replace(/\)/g,"\\)")),j.attr("stroke-width",2),j.attr("stroke","none"),j.style("fill","none"),(T===d.db.LINETYPE.SOLID||T===d.db.LINETYPE.DOTTED)&&j.attr("marker-end","url("+W+"#arrowhead)"),(T===d.db.LINETYPE.SOLID_POINT||T===d.db.LINETYPE.DOTTED_POINT)&&j.attr("marker-end","url("+W+"#filled-head)"),(T===d.db.LINETYPE.SOLID_CROSS||T===d.db.LINETYPE.DOTTED_CROSS)&&j.attr("marker-end","url("+W+"#crosshead)"),(A||En.showSequenceNumbers)&&(j.attr("marker-start","url("+W+"#sequencenumber)"),i.append("text").attr("x",p).attr("y",u+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},pin=async function(i,s,u,d,p,v,b){let y=0,T=0,_,A=0;for(const P of d){const R=s[P],F=R.box;_&&_!=F&&(b||ti.models.addBox(_),T+=En.boxMargin+_.margin),F&&F!=_&&(b||(F.x=y+T,F.y=p),T+=F.margin),R.width=R.width||En.width,R.height=ci.getMax(R.height||En.height,En.height),R.margin=R.margin||En.actorMargin,A=ci.getMax(A,R.height),u[R.name]&&(T+=R.width/2),R.x=y+T,R.starty=ti.getVerticalPos(),ti.insert(R.x,p,R.x+R.width,R.height),y+=R.width+T,R.box&&(R.box.width=y+F.margin-R.box.x),T=R.margin,_=R.box,ti.models.addActor(R)}_&&!b&&ti.models.addBox(_),ti.bumpVerticalPos(A)},_ve=async function(i,s,u,d){if(d){let p=0;ti.bumpVerticalPos(En.boxMargin*2);for(const v of u){const b=s[v];b.stopy||(b.stopy=ti.getVerticalPos());const y=await Jf.drawActor(i,b,En,!0);p=ci.getMax(p,y)}ti.bumpVerticalPos(p+En.boxMargin)}else for(const p of u){const v=s[p];await Jf.drawActor(i,v,En,!1)}},GGe=function(i,s,u,d){let p=0,v=0;for(const b of u){const y=s[b],T=win(y),_=Jf.drawPopup(i,y,T,En,En.forceMenus,d);_.height>p&&(p=_.height),_.width+y.x>v&&(v=_.width+y.x)}return{maxHeight:p,maxWidth:v}},KGe=function(i){td(En,i),i.fontFamily&&(En.actorFontFamily=En.noteFontFamily=En.messageFontFamily=i.fontFamily),i.fontSize&&(En.actorFontSize=En.noteFontSize=En.messageFontSize=i.fontSize),i.fontWeight&&(En.actorFontWeight=En.noteFontWeight=En.messageFontWeight=i.fontWeight)},mJ=function(i){return ti.activations.filter(function(s){return s.actor===i})},WGe=function(i,s){const u=s[i],d=mJ(i),p=d.reduce(function(b,y){return ci.getMin(b,y.startx)},u.x+u.width/2-1),v=d.reduce(function(b,y){return ci.getMax(b,y.stopx)},u.x+u.width/2+1);return[p,v]};function a5(i,s,u,d,p){ti.bumpVerticalPos(u);let v=d;if(s.id&&s.message&&i[s.id]){const b=i[s.id].width,y=eS(En);s.message=So.wrapLabel(`[${s.message}]`,b-2*En.wrapPadding,y),s.width=b,s.wrap=!0;const T=So.calculateTextDimensions(s.message,y),_=ci.getMax(T.height,En.labelBoxHeight);v=d+_,Xe.debug(`${_} - ${s.message}`)}p(s),ti.bumpVerticalPos(v)}function bin(i,s,u,d,p,v,b){function y(_,A){_.x{Se.add(Ce.from),Se.add(Ce.to)}),j=j.filter(Ce=>Se.has(Ce))}await pin(_,A,P,j,0,W,!1);const ge=await Ein(W,A,be,d);Jf.insertArrowHead(_),Jf.insertArrowCrossHead(_),Jf.insertArrowFilledHead(_),Jf.insertSequenceNumber(_);function ae(Se,Ce){const ke=ti.endActivation(Se);ke.starty+18>Ce&&(ke.starty=Ce-6,Ce+=12),Jf.drawActivation(_,ke,Ce,En,mJ(Se.from.actor).length),ti.insert(ke.startx,Ce-10,ke.stopx,Ce)}let ne=1,se=1;const de=[],X=[];let pe=0;for(const Se of W){let Ce,ke,Ke;switch(Se.type){case d.db.LINETYPE.NOTE:ti.resetVerticalPos(),ke=Se.noteModel,await fin(_,ke);break;case d.db.LINETYPE.ACTIVE_START:ti.newActivation(Se,_,A);break;case d.db.LINETYPE.ACTIVE_END:ae(Se,ti.getVerticalPos());break;case d.db.LINETYPE.LOOP_START:a5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ti.newLoop(Ft));break;case d.db.LINETYPE.LOOP_END:Ce=ti.endLoop(),await Jf.drawLoop(_,Ce,"loop",En),ti.bumpVerticalPos(Ce.stopy-ti.getVerticalPos()),ti.models.addLoop(Ce);break;case d.db.LINETYPE.RECT_START:a5(ge,Se,En.boxMargin,En.boxMargin,Ft=>ti.newLoop(void 0,Ft.message));break;case d.db.LINETYPE.RECT_END:Ce=ti.endLoop(),X.push(Ce),ti.models.addLoop(Ce),ti.bumpVerticalPos(Ce.stopy-ti.getVerticalPos());break;case d.db.LINETYPE.OPT_START:a5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ti.newLoop(Ft));break;case d.db.LINETYPE.OPT_END:Ce=ti.endLoop(),await Jf.drawLoop(_,Ce,"opt",En),ti.bumpVerticalPos(Ce.stopy-ti.getVerticalPos()),ti.models.addLoop(Ce);break;case d.db.LINETYPE.ALT_START:a5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ti.newLoop(Ft));break;case d.db.LINETYPE.ALT_ELSE:a5(ge,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ti.addSectionToLoop(Ft));break;case d.db.LINETYPE.ALT_END:Ce=ti.endLoop(),await Jf.drawLoop(_,Ce,"alt",En),ti.bumpVerticalPos(Ce.stopy-ti.getVerticalPos()),ti.models.addLoop(Ce);break;case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:a5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ti.newLoop(Ft)),ti.saveVerticalPos();break;case d.db.LINETYPE.PAR_AND:a5(ge,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ti.addSectionToLoop(Ft));break;case d.db.LINETYPE.PAR_END:Ce=ti.endLoop(),await Jf.drawLoop(_,Ce,"par",En),ti.bumpVerticalPos(Ce.stopy-ti.getVerticalPos()),ti.models.addLoop(Ce);break;case d.db.LINETYPE.AUTONUMBER:ne=Se.message.start||ne,se=Se.message.step||se,Se.message.visible?d.db.enableSequenceNumbers():d.db.disableSequenceNumbers();break;case d.db.LINETYPE.CRITICAL_START:a5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ti.newLoop(Ft));break;case d.db.LINETYPE.CRITICAL_OPTION:a5(ge,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ti.addSectionToLoop(Ft));break;case d.db.LINETYPE.CRITICAL_END:Ce=ti.endLoop(),await Jf.drawLoop(_,Ce,"critical",En),ti.bumpVerticalPos(Ce.stopy-ti.getVerticalPos()),ti.models.addLoop(Ce);break;case d.db.LINETYPE.BREAK_START:a5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ti.newLoop(Ft));break;case d.db.LINETYPE.BREAK_END:Ce=ti.endLoop(),await Jf.drawLoop(_,Ce,"break",En),ti.bumpVerticalPos(Ce.stopy-ti.getVerticalPos()),ti.models.addLoop(Ce);break;default:try{Ke=Se.msgModel,Ke.starty=ti.getVerticalPos(),Ke.sequenceIndex=ne,Ke.sequenceVisible=d.db.showSequenceNumbers();const Ft=await din(_,Ke);bin(Se,Ke,Ft,pe,A,P,R),de.push({messageModel:Ke,lineStartY:Ft}),ti.models.addMessage(Ke)}catch(Ft){Xe.error("error while drawing message",Ft)}}[d.db.LINETYPE.SOLID_OPEN,d.db.LINETYPE.DOTTED_OPEN,d.db.LINETYPE.SOLID,d.db.LINETYPE.DOTTED,d.db.LINETYPE.SOLID_CROSS,d.db.LINETYPE.DOTTED_CROSS,d.db.LINETYPE.SOLID_POINT,d.db.LINETYPE.DOTTED_POINT].includes(Se.type)&&(ne=ne+se),pe++}Xe.debug("createdActors",P),Xe.debug("destroyedActors",R),await _ve(_,A,j,!1);for(const Se of de)await gin(_,Se.messageModel,Se.lineStartY,d);En.mirrorActors&&await _ve(_,A,j,!0),X.forEach(Se=>Jf.drawBackgroundRect(_,Se)),HGe(_,A,j,En);for(const Se of ti.models.boxes)Se.height=ti.getVerticalPos()-Se.y,ti.insert(Se.x,Se.y,Se.x+Se.width,Se.height),Se.startx=Se.x,Se.starty=Se.y,Se.stopx=Se.startx+Se.width,Se.stopy=Se.starty+Se.height,Se.stroke="rgb(0,0,0, 0.5)",await Jf.drawBox(_,Se,En);ie&&ti.bumpVerticalPos(En.boxMargin);const K=GGe(_,A,j,T),{bounds:xe}=ti.getBounds();let U=xe.stopy-xe.starty;U{const b=eS(En);let y=v.actorKeys.reduce((A,P)=>A+=i[P].width+(i[P].margin||0),0);y-=2*En.boxTextMargin,v.wrap&&(v.name=So.wrapLabel(v.name,y-2*En.wrapPadding,b));const T=So.calculateTextDimensions(v.name,b);p=ci.getMax(T.height,p);const _=ci.getMax(y,T.width+2*En.wrapPadding);if(v.margin=En.boxTextMargin,y<_){const A=(_-y)/2;v.margin+=A}}),u.forEach(v=>v.textMaxHeight=p),ci.getMax(d,En.height)}const xin=async function(i,s,u){const d=s[i.from].x,p=s[i.to].x,v=i.wrap&&i.message;let b=Iv(i.message)?await UF(i.message,qt()):So.calculateTextDimensions(v?So.wrapLabel(i.message,En.width,XD(En)):i.message,XD(En));const y={width:v?En.width:ci.getMax(En.width,b.width+2*En.noteMargin),height:0,startx:s[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===u.db.PLACEMENT.RIGHTOF?(y.width=v?ci.getMax(En.width,b.width):ci.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width+En.actorMargin)/2):i.placement===u.db.PLACEMENT.LEFTOF?(y.width=v?ci.getMax(En.width,b.width+2*En.noteMargin):ci.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d-y.width+(s[i.from].width-En.actorMargin)/2):i.to===i.from?(b=So.calculateTextDimensions(v?So.wrapLabel(i.message,ci.getMax(En.width,s[i.from].width),XD(En)):i.message,XD(En)),y.width=v?ci.getMax(En.width,s[i.from].width):ci.getMax(s[i.from].width,En.width,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width-y.width)/2):(y.width=Math.abs(d+s[i.from].width/2-(p+s[i.to].width/2))+En.actorMargin,y.startx=d2,P=W=>y?-W:W;i.from===i.to?_=T:(i.activate&&!A&&(_+=P(En.activationWidth/2-1)),[u.db.LINETYPE.SOLID_OPEN,u.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=P(3)));const R=[d,p,v,b],F=Math.abs(T-_);i.wrap&&i.message&&(i.message=So.wrapLabel(i.message,ci.getMax(F+2*En.wrapPadding,En.width),eS(En)));const j=So.calculateTextDimensions(i.message,eS(En));return{width:ci.getMax(i.wrap?0:j.width+2*En.wrapPadding,F+2*En.wrapPadding,En.width),height:0,startx:T,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},Ein=async function(i,s,u,d){const p={},v=[];let b,y,T;for(const _ of i){switch(_.id=So.random({length:10}),_.type){case d.db.LINETYPE.LOOP_START:case d.db.LINETYPE.ALT_START:case d.db.LINETYPE.OPT_START:case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:case d.db.LINETYPE.CRITICAL_START:case d.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case d.db.LINETYPE.ALT_ELSE:case d.db.LINETYPE.PAR_AND:case d.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),p[b.id]=b,p[_.id]=b,v.push(b));break;case d.db.LINETYPE.LOOP_END:case d.db.LINETYPE.ALT_END:case d.db.LINETYPE.OPT_END:case d.db.LINETYPE.PAR_END:case d.db.LINETYPE.CRITICAL_END:case d.db.LINETYPE.BREAK_END:b=v.pop(),p[b.id]=b;break;case d.db.LINETYPE.ACTIVE_START:{const P=s[_.from?_.from.actor:_.to.actor],R=mJ(_.from?_.from.actor:_.to.actor).length,F=P.x+P.width/2+(R-1)*En.activationWidth/2,j={startx:F,stopx:F+En.activationWidth,actor:_.from.actor,enabled:!0};ti.activations.push(j)}break;case d.db.LINETYPE.ACTIVE_END:{const P=ti.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete ti.activations.splice(P,1)[0]}break}_.placement!==void 0?(y=await xin(_,s,d),_.noteModel=y,v.forEach(P=>{b=P,b.from=ci.getMin(b.from,y.startx),b.to=ci.getMax(b.to,y.startx+y.width),b.width=ci.getMax(b.width,Math.abs(b.from-b.to))-En.labelBoxWidth})):(T=kin(_,s,d),_.msgModel=T,T.startx&&T.stopx&&v.length>0&&v.forEach(P=>{if(b=P,T.startx===T.stopx){const R=s[_.from],F=s[_.to];b.from=ci.getMin(R.x-T.width/2,R.x-R.width/2,b.from),b.to=ci.getMax(F.x+T.width/2,F.x+R.width/2,b.to),b.width=ci.getMax(b.width,Math.abs(b.to-b.from))-En.labelBoxWidth}else b.from=ci.getMin(T.startx,b.from),b.to=ci.getMax(T.stopx,b.to),b.width=ci.getMax(b.width,T.width)-En.labelBoxWidth}))}return ti.activations=[],Xe.debug("Loop type widths:",p),p},Tin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:krn,db:jGe,renderer:{bounds:ti,drawActors:_ve,drawActorsPopup:GGe,setConf:KGe,draw:min},styles:Krn,init:({wrap:i})=>{jGe.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var Ave=function(){var i=function($o,Ar,Nn,$n){for(Nn=Nn||{},$n=$o.length;$n--;Nn[$o[$n]]=Ar);return Nn},s=[1,17],u=[1,18],d=[1,19],p=[1,39],v=[1,40],b=[1,25],y=[1,23],T=[1,24],_=[1,31],A=[1,32],P=[1,33],R=[1,34],F=[1,35],j=[1,36],W=[1,26],ee=[1,27],ie=[1,28],oe=[1,29],be=[1,43],ge=[1,30],ae=[1,42],ne=[1,44],se=[1,41],de=[1,45],X=[1,9],pe=[1,8,9],K=[1,56],xe=[1,57],U=[1,58],Be=[1,59],Ne=[1,60],je=[1,61],Ie=[1,62],Se=[1,8,9,39],Ce=[1,74],ke=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Ke=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Ft=[13,74,80,95,97,98],Pe=[13,64,65,74,80,95,97,98],gn=[13,59,60,61,62,63,74,80,95,97,98],kt=[1,93],Et=[1,110],Gt=[1,108],ln=[1,102],xt=[1,103],Pt=[1,104],Ze=[1,105],At=[1,106],Tt=[1,107],On=[1,109],ht=[1,8,9,37,39,42],zr=[1,8,9,21],yt=[1,8,9,78],Fi=[1,8,9,21,73,74,78,80,81,82,83,84,85],yi={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(Ar,Nn,$n,qn,Lt,wt,cn){var fn=wt.length-1;switch(Lt){case 8:this.$=wt[fn-1];break;case 9:case 11:case 12:this.$=wt[fn];break;case 10:case 13:this.$=wt[fn-1]+wt[fn];break;case 14:case 15:this.$=wt[fn-1]+"~"+wt[fn]+"~";break;case 16:qn.addRelation(wt[fn]);break;case 17:wt[fn-1].title=qn.cleanupLabel(wt[fn]),qn.addRelation(wt[fn-1]);break;case 27:this.$=wt[fn].trim(),qn.setAccTitle(this.$);break;case 28:case 29:this.$=wt[fn].trim(),qn.setAccDescription(this.$);break;case 30:qn.addClassesToNamespace(wt[fn-3],wt[fn-1]);break;case 31:qn.addClassesToNamespace(wt[fn-4],wt[fn-1]);break;case 32:this.$=wt[fn],qn.addNamespace(wt[fn]);break;case 33:this.$=[wt[fn]];break;case 34:this.$=[wt[fn-1]];break;case 35:wt[fn].unshift(wt[fn-2]),this.$=wt[fn];break;case 37:qn.setCssClass(wt[fn-2],wt[fn]);break;case 38:qn.addMembers(wt[fn-3],wt[fn-1]);break;case 39:qn.setCssClass(wt[fn-5],wt[fn-3]),qn.addMembers(wt[fn-5],wt[fn-1]);break;case 40:this.$=wt[fn],qn.addClass(wt[fn]);break;case 41:this.$=wt[fn-1],qn.addClass(wt[fn-1]),qn.setClassLabel(wt[fn-1],wt[fn]);break;case 42:qn.addAnnotation(wt[fn],wt[fn-2]);break;case 43:this.$=[wt[fn]];break;case 44:wt[fn].push(wt[fn-1]),this.$=wt[fn];break;case 45:break;case 46:qn.addMember(wt[fn-1],qn.cleanupLabel(wt[fn]));break;case 47:break;case 48:break;case 49:this.$={id1:wt[fn-2],id2:wt[fn],relation:wt[fn-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-1],relationTitle1:wt[fn-2],relationTitle2:"none"};break;case 51:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-2],relationTitle1:"none",relationTitle2:wt[fn-1]};break;case 52:this.$={id1:wt[fn-4],id2:wt[fn],relation:wt[fn-2],relationTitle1:wt[fn-3],relationTitle2:wt[fn-1]};break;case 53:qn.addNote(wt[fn],wt[fn-1]);break;case 54:qn.addNote(wt[fn]);break;case 55:qn.setDirection("TB");break;case 56:qn.setDirection("BT");break;case 57:qn.setDirection("RL");break;case 58:qn.setDirection("LR");break;case 59:this.$={type1:wt[fn-2],type2:wt[fn],lineType:wt[fn-1]};break;case 60:this.$={type1:"none",type2:wt[fn],lineType:wt[fn-1]};break;case 61:this.$={type1:wt[fn-1],type2:"none",lineType:wt[fn]};break;case 62:this.$={type1:"none",type2:"none",lineType:wt[fn]};break;case 63:this.$=qn.relationType.AGGREGATION;break;case 64:this.$=qn.relationType.EXTENSION;break;case 65:this.$=qn.relationType.COMPOSITION;break;case 66:this.$=qn.relationType.DEPENDENCY;break;case 67:this.$=qn.relationType.LOLLIPOP;break;case 68:this.$=qn.lineType.LINE;break;case 69:this.$=qn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=wt[fn-2],qn.setClickEvent(wt[fn-1],wt[fn]);break;case 71:case 77:this.$=wt[fn-3],qn.setClickEvent(wt[fn-2],wt[fn-1]),qn.setTooltip(wt[fn-2],wt[fn]);break;case 72:this.$=wt[fn-2],qn.setLink(wt[fn-1],wt[fn]);break;case 73:this.$=wt[fn-3],qn.setLink(wt[fn-2],wt[fn-1],wt[fn]);break;case 74:this.$=wt[fn-3],qn.setLink(wt[fn-2],wt[fn-1]),qn.setTooltip(wt[fn-2],wt[fn]);break;case 75:this.$=wt[fn-4],qn.setLink(wt[fn-3],wt[fn-2],wt[fn]),qn.setTooltip(wt[fn-3],wt[fn-1]);break;case 78:this.$=wt[fn-3],qn.setClickEvent(wt[fn-2],wt[fn-1],wt[fn]);break;case 79:this.$=wt[fn-4],qn.setClickEvent(wt[fn-3],wt[fn-2],wt[fn-1]),qn.setTooltip(wt[fn-3],wt[fn]);break;case 80:this.$=wt[fn-3],qn.setLink(wt[fn-2],wt[fn]);break;case 81:this.$=wt[fn-4],qn.setLink(wt[fn-3],wt[fn-1],wt[fn]);break;case 82:this.$=wt[fn-4],qn.setLink(wt[fn-3],wt[fn-1]),qn.setTooltip(wt[fn-3],wt[fn]);break;case 83:this.$=wt[fn-5],qn.setLink(wt[fn-4],wt[fn-2],wt[fn]),qn.setTooltip(wt[fn-4],wt[fn-1]);break;case 84:this.$=wt[fn-2],qn.setCssStyle(wt[fn-1],wt[fn]);break;case 85:qn.setCssClass(wt[fn-1],wt[fn]);break;case 86:this.$=[wt[fn]];break;case 87:wt[fn-2].push(wt[fn]),this.$=wt[fn-2];break;case 89:this.$=wt[fn-1]+wt[fn];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(X,[2,5],{8:[1,46]}),{8:[1,47]},i(pe,[2,16],{21:[1,48]}),i(pe,[2,18]),i(pe,[2,19]),i(pe,[2,20]),i(pe,[2,21]),i(pe,[2,22]),i(pe,[2,23]),i(pe,[2,24]),i(pe,[2,25]),i(pe,[2,26]),{32:[1,49]},{34:[1,50]},i(pe,[2,29]),i(pe,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:K,60:xe,61:U,62:Be,63:Ne,64:je,65:Ie}),{37:[1,63]},i(Se,[2,36],{37:[1,65],42:[1,64]}),i(pe,[2,47]),i(pe,[2,48]),{16:66,74:be,80:ae,95:ne,97:se},{16:37,17:67,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:68,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:69,18:38,74:be,80:ae,95:ne,97:se,98:de},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:Ce,51:73},i(pe,[2,55]),i(pe,[2,56]),i(pe,[2,57]),i(pe,[2,58]),i(ke,[2,11],{16:37,18:38,17:75,19:[1,76],74:be,80:ae,95:ne,97:se,98:de}),i(ke,[2,12],{19:[1,77]}),{15:78,16:79,74:be,80:ae,95:ne,97:se},{16:37,17:80,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ke,[2,112]),i(Ke,[2,113]),i(Ke,[2,114]),i(Ke,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(X,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:s,33:u,35:d,40:p,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},i(pe,[2,17]),i(pe,[2,27]),i(pe,[2,28]),{13:[1,84],16:37,17:83,18:38,74:be,80:ae,95:ne,97:se,98:de},{49:85,57:54,58:55,59:K,60:xe,61:U,62:Be,63:Ne,64:je,65:Ie},i(pe,[2,46]),{58:86,64:je,65:Ie},i(Ft,[2,62],{57:87,59:K,60:xe,61:U,62:Be,63:Ne}),i(Pe,[2,63]),i(Pe,[2,64]),i(Pe,[2,65]),i(Pe,[2,66]),i(Pe,[2,67]),i(gn,[2,68]),i(gn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:be,80:ae,95:ne,97:se},{43:92,47:kt},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Et,73:Gt,74:ln,75:99,77:100,79:101,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On},{74:[1,111]},{13:Ce,51:112},i(pe,[2,54]),i(pe,[2,117]),i(ke,[2,13]),i(ke,[2,14]),i(ke,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:be,80:ae,95:ne,97:se},i(ht,[2,40],{11:114,12:[1,115]}),i(X,[2,7]),{9:[1,116]},i(zr,[2,49]),{16:37,17:117,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:[1,119],16:37,17:118,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ft,[2,61],{57:120,59:K,60:xe,61:U,62:Be,63:Ne}),i(Ft,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Se,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:kt},{16:37,17:127,18:38,74:be,80:ae,95:ne,97:se,98:de},i(pe,[2,70],{13:[1,128]}),i(pe,[2,72],{13:[1,130],68:[1,129]}),i(pe,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(pe,[2,84],{78:[1,134]}),i(yt,[2,86],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On}),i(Fi,[2,88]),i(Fi,[2,90]),i(Fi,[2,91]),i(Fi,[2,92]),i(Fi,[2,93]),i(Fi,[2,94]),i(Fi,[2,95]),i(Fi,[2,96]),i(Fi,[2,97]),i(Fi,[2,98]),i(pe,[2,85]),i(pe,[2,53]),{37:[2,10]},i(ht,[2,41]),{13:[1,136]},{1:[2,4]},i(zr,[2,51]),i(zr,[2,50]),{16:37,17:137,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ft,[2,59]),i(pe,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:kt},i(Se,[2,38]),{39:[2,44]},i(pe,[2,42]),i(pe,[2,71]),i(pe,[2,73]),i(pe,[2,74],{68:[1,141]}),i(pe,[2,77]),i(pe,[2,78],{13:[1,142]}),i(pe,[2,80],{13:[1,144],68:[1,143]}),{21:Et,73:Gt,74:ln,77:145,79:101,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On},i(Fi,[2,89]),{14:[1,146]},i(zr,[2,52]),i(pe,[2,31]),{39:[2,35]},{39:[1,147]},i(pe,[2,75]),i(pe,[2,79]),i(pe,[2,81]),i(pe,[2,82],{68:[1,148]}),i(yt,[2,87],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On}),i(ht,[2,8]),i(Se,[2,39]),i(pe,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(Ar,Nn){if(Nn.recoverable)this.trace(Ar);else{var $n=new Error(Ar);throw $n.hash=Nn,$n}},parse:function(Ar){var Nn=this,$n=[0],qn=[],Lt=[null],wt=[],cn=this.table,fn="",Mn=0,mo=0,Oo=2,Xa=1,ca=wt.slice.call(arguments,1),No=Object.create(this.lexer),Ts={yy:{}};for(var rl in this.yy)Object.prototype.hasOwnProperty.call(this.yy,rl)&&(Ts.yy[rl]=this.yy[rl]);No.setInput(Ar,Ts.yy),Ts.yy.lexer=No,Ts.yy.parser=this,typeof No.yylloc>"u"&&(No.yylloc={});var Xo=No.yylloc;wt.push(Xo);var Bp=No.options&&No.options.ranges;typeof Ts.yy.parseError=="function"?this.parseError=Ts.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pm(){var xa;return xa=qn.pop()||No.lex()||Xa,typeof xa!="number"&&(xa instanceof Array&&(qn=xa,xa=qn.pop()),xa=Nn.symbols_[xa]||xa),xa}for(var Po,yc,Jc,Ra,du={},Sa,Bo,Rc,Qa;;){if(yc=$n[$n.length-1],this.defaultActions[yc]?Jc=this.defaultActions[yc]:((Po===null||typeof Po>"u")&&(Po=pm()),Jc=cn[yc]&&cn[yc][Po]),typeof Jc>"u"||!Jc.length||!Jc[0]){var ja="";Qa=[];for(Sa in cn[yc])this.terminals_[Sa]&&Sa>Oo&&Qa.push("'"+this.terminals_[Sa]+"'");No.showPosition?ja="Parse error on line "+(Mn+1)+`: +`+No.showPosition()+` +Expecting `+Qa.join(", ")+", got '"+(this.terminals_[Po]||Po)+"'":ja="Parse error on line "+(Mn+1)+": Unexpected "+(Po==Xa?"end of input":"'"+(this.terminals_[Po]||Po)+"'"),this.parseError(ja,{text:No.match,token:this.terminals_[Po]||Po,line:No.yylineno,loc:Xo,expected:Qa})}if(Jc[0]instanceof Array&&Jc.length>1)throw new Error("Parse Error: multiple actions possible at state: "+yc+", token: "+Po);switch(Jc[0]){case 1:$n.push(Po),Lt.push(No.yytext),wt.push(No.yylloc),$n.push(Jc[1]),Po=null,mo=No.yyleng,fn=No.yytext,Mn=No.yylineno,Xo=No.yylloc;break;case 2:if(Bo=this.productions_[Jc[1]][1],du.$=Lt[Lt.length-Bo],du._$={first_line:wt[wt.length-(Bo||1)].first_line,last_line:wt[wt.length-1].last_line,first_column:wt[wt.length-(Bo||1)].first_column,last_column:wt[wt.length-1].last_column},Bp&&(du._$.range=[wt[wt.length-(Bo||1)].range[0],wt[wt.length-1].range[1]]),Ra=this.performAction.apply(du,[fn,mo,Mn,Ts.yy,Jc[1],Lt,wt].concat(ca)),typeof Ra<"u")return Ra;Bo&&($n=$n.slice(0,-1*Bo*2),Lt=Lt.slice(0,-1*Bo),wt=wt.slice(0,-1*Bo)),$n.push(this.productions_[Jc[1]][0]),Lt.push(du.$),wt.push(du._$),Rc=cn[$n[$n.length-2]][$n[$n.length-1]],$n.push(Rc);break;case 3:return!0}}return!0}},Pa=function(){var $o={EOF:1,parseError:function(Nn,$n){if(this.yy.parser)this.yy.parser.parseError(Nn,$n);else throw new Error(Nn)},setInput:function(Ar,Nn){return this.yy=Nn||this.yy||{},this._input=Ar,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Ar=this._input[0];this.yytext+=Ar,this.yyleng++,this.offset++,this.match+=Ar,this.matched+=Ar;var Nn=Ar.match(/(?:\r\n?|\n).*/g);return Nn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ar},unput:function(Ar){var Nn=Ar.length,$n=Ar.split(/(?:\r\n?|\n)/g);this._input=Ar+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Nn),this.offset-=Nn;var qn=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),$n.length-1&&(this.yylineno-=$n.length-1);var Lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:$n?($n.length===qn.length?this.yylloc.first_column:0)+qn[qn.length-$n.length].length-$n[0].length:this.yylloc.first_column-Nn},this.options.ranges&&(this.yylloc.range=[Lt[0],Lt[0]+this.yyleng-Nn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Ar){this.unput(this.match.slice(Ar))},pastInput:function(){var Ar=this.matched.substr(0,this.matched.length-this.match.length);return(Ar.length>20?"...":"")+Ar.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Ar=this.match;return Ar.length<20&&(Ar+=this._input.substr(0,20-Ar.length)),(Ar.substr(0,20)+(Ar.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Ar=this.pastInput(),Nn=new Array(Ar.length+1).join("-");return Ar+this.upcomingInput()+` +`+Nn+"^"},test_match:function(Ar,Nn){var $n,qn,Lt;if(this.options.backtrack_lexer&&(Lt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Lt.yylloc.range=this.yylloc.range.slice(0))),qn=Ar[0].match(/(?:\r\n?|\n).*/g),qn&&(this.yylineno+=qn.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qn?qn[qn.length-1].length-qn[qn.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ar[0].length},this.yytext+=Ar[0],this.match+=Ar[0],this.matches=Ar,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Ar[0].length),this.matched+=Ar[0],$n=this.performAction.call(this,this.yy,this,Nn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),$n)return $n;if(this._backtrack){for(var wt in Lt)this[wt]=Lt[wt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ar,Nn,$n,qn;this._more||(this.yytext="",this.match="");for(var Lt=this._currentRules(),wt=0;wtNn[0].length)){if(Nn=$n,qn=wt,this.options.backtrack_lexer){if(Ar=this.test_match($n,Lt[wt]),Ar!==!1)return Ar;if(this._backtrack){Nn=!1;continue}else return!1}else if(!this.options.flex)break}return Nn?(Ar=this.test_match(Nn,Lt[qn]),Ar!==!1?Ar:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Nn=this.next();return Nn||this.lex()},begin:function(Nn){this.conditionStack.push(Nn)},popState:function(){var Nn=this.conditionStack.length-1;return Nn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Nn){return Nn=this.conditionStack.length-1-Math.abs(Nn||0),Nn>=0?this.conditionStack[Nn]:"INITIAL"},pushState:function(Nn){this.begin(Nn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Nn,$n,qn,Lt){switch(qn){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return $o}();yi.lexer=Pa;function ta(){this.yy={}}return ta.prototype=yi,yi.Parser=ta,new ta}();Ave.parser=Ave;const YGe=Ave,XGe=["#","+","~","-",""];class QGe{constructor(s,u){this.memberType=u,this.visibility="",this.classifier="";const d=Wf(s,qt());this.parseMember(d)}getDisplayDetails(){let s=this.visibility+VF(this.id);this.memberType==="method"&&(s+=`(${VF(this.parameters.trim())})`,this.returnType&&(s+=" : "+VF(this.returnType))),s=s.trim();const u=this.parseClassifier();return{displayText:s,cssStyle:u}}parseMember(s){let u="";if(this.memberType==="method"){const d=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,p=s.match(d);if(p){const v=p[1]?p[1].trim():"";if(XGe.includes(v)&&(this.visibility=v),this.id=p[2].trim(),this.parameters=p[3]?p[3].trim():"",u=p[4]?p[4].trim():"",this.returnType=p[5]?p[5].trim():"",u===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(u=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const d=s.length,p=s.substring(0,1),v=s.substring(d-1);XGe.includes(p)&&(this.visibility=p),v.match(/[$*]/)&&(u=v),this.id=s.substring(this.visibility===""?0:1,u===""?d:d-1)}this.classifier=u}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const vJ="classId-";let Lve=[],Eh={},wJ=[],JGe=0,R9={},Mve=0,YR=[];const tS=i=>ci.sanitizeText(i,qt()),nS=function(i){const s=ci.sanitizeText(i,qt());let u="",d=s;if(s.indexOf("~")>0){const p=s.split("~");d=tS(p[0]),u=tS(p[1])}return{className:d,type:u}},Cin=function(i,s){const u=ci.sanitizeText(i,qt());s&&(s=tS(s));const{className:d}=nS(u);Eh[d].label=s},yJ=function(i){const s=ci.sanitizeText(i,qt()),{className:u,type:d}=nS(s);if(Object.hasOwn(Eh,u))return;const p=ci.sanitizeText(u,qt());Eh[p]={id:p,type:d,label:p,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:vJ+p+"-"+JGe},JGe++},ZGe=function(i){const s=ci.sanitizeText(i,qt());if(s in Eh)return Eh[s].domId;throw new Error("Class not found: "+s)},Sin=function(){Lve=[],Eh={},wJ=[],YR=[],YR.push(tKe),R9={},Mve=0,Ng()},_in=function(i){return Eh[i]},Ain=function(){return Eh},Lin=function(){return Lve},Min=function(){return wJ},Din=function(i){Xe.debug("Adding relation: "+JSON.stringify(i)),yJ(i.id1),yJ(i.id2),i.id1=nS(i.id1).className,i.id2=nS(i.id2).className,i.relationTitle1=ci.sanitizeText(i.relationTitle1.trim(),qt()),i.relationTitle2=ci.sanitizeText(i.relationTitle2.trim(),qt()),Lve.push(i)},Iin=function(i,s){const u=nS(i).className;Eh[u].annotations.push(s)},eKe=function(i,s){yJ(i);const u=nS(i).className,d=Eh[u];if(typeof s=="string"){const p=s.trim();p.startsWith("<<")&&p.endsWith(">>")?d.annotations.push(tS(p.substring(2,p.length-2))):p.indexOf(")")>0?d.methods.push(new QGe(p,"method")):p&&d.members.push(new QGe(p,"attribute"))}},Oin=function(i,s){Array.isArray(s)&&(s.reverse(),s.forEach(u=>eKe(i,u)))},Nin=function(i,s){const u={id:`note${wJ.length}`,class:s,text:i};wJ.push(u)},Pin=function(i){return i.startsWith(":")&&(i=i.substring(1)),tS(i.trim())},Dve=function(i,s){i.split(",").forEach(function(u){let d=u;u[0].match(/\d/)&&(d=vJ+d),Eh[d]!==void 0&&Eh[d].cssClasses.push(s)})},Bin=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(Eh[u].tooltip=tS(s))})},Fin=function(i,s){return s?R9[s].classes[i].tooltip:Eh[i].tooltip},Rin=function(i,s,u){const d=qt();i.split(",").forEach(function(p){let v=p;p[0].match(/\d/)&&(v=vJ+v),Eh[v]!==void 0&&(Eh[v].link=So.formatUrl(s,d),d.securityLevel==="sandbox"?Eh[v].linkTarget="_top":typeof u=="string"?Eh[v].linkTarget=tS(u):Eh[v].linkTarget="_blank")}),Dve(i,"clickable")},jin=function(i,s,u){i.split(",").forEach(function(d){$in(d,s,u),Eh[d].haveCallback=!0}),Dve(i,"clickable")},$in=function(i,s,u){const d=ci.sanitizeText(i,qt());if(qt().securityLevel!=="loose"||s===void 0)return;const v=d;if(Eh[v]!==void 0){const b=ZGe(v);let y=[];if(typeof u=="string"){y=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let T=0;T")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};YR.push(tKe);let nKe="TB";const xJ={setAccTitle:Pg,getAccTitle:Cp,getAccDescription:_p,setAccDescription:Sp,getConfig:()=>qt().class,addClass:yJ,bindFunctions:zin,clear:Sin,getClass:_in,getClasses:Ain,getNotes:Min,addAnnotation:Iin,addNote:Nin,getRelations:Lin,addRelation:Din,getDirection:()=>nKe,setDirection:i=>{nKe=i},addMember:eKe,addMembers:Oin,cleanupLabel:Pin,lineType:qin,relationType:Hin,setClickEvent:jin,setCssClass:Dve,setLink:Rin,getTooltip:Fin,setTooltip:Bin,lookUpDomId:ZGe,setDiagramTitle:cm,getDiagramTitle:Ap,setClassLabel:Cin,addNamespace:function(i){R9[i]===void 0&&(R9[i]={id:i,classes:{},children:{},domId:vJ+i+"-"+Mve},Mve++)},addClassesToNamespace:function(i,s){if(R9[i]!==void 0)for(const u of s){const{className:d}=nS(u);Eh[d].parent=i,R9[i].classes[d]=Eh[d]}},getNamespace:function(i){return R9[i]},getNamespaces:function(){return R9},setCssStyle:function(i,s){const u=Eh[i];if(!(!s||!u))for(const d of s)d.includes(",")?u.styles.push(...d.split(",")):u.styles.push(d)}},rKe=i=>`g.classGroup text { + fill: ${i.nodeBorder||i.classText}; + stroke: none; + font-family: ${i.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${i.classText}; +} +.edgeLabel .label rect { + fill: ${i.mainBkg}; +} +.label text { + fill: ${i.classText}; +} +.edgeLabel .label span { + background: ${i.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.classGroup line { + stroke: ${i.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${i.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${i.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${i.lineColor} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${i.mainBkg} !important; + stroke: ${i.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`;let iKe=0;const Vin=function(i,s,u,d,p){const v=function(oe){switch(oe){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};s.points=s.points.filter(oe=>!Number.isNaN(oe.y));const b=s.points,y=k7().x(function(oe){return oe.x}).y(function(oe){return oe.y}).curve(FF),T=i.append("path").attr("d",y(b)).attr("id","edge"+iKe).attr("class","relation");let _="";d.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),u.relation.lineType==1&&T.attr("class","relation dashed-line"),u.relation.lineType==10&&T.attr("class","relation dotted-line"),u.relation.type1!=="none"&&T.attr("marker-start","url("+_+"#"+v(u.relation.type1)+"Start)"),u.relation.type2!=="none"&&T.attr("marker-end","url("+_+"#"+v(u.relation.type2)+"End)");let A,P;const R=s.points.length;let F=So.calcLabelPosition(s.points);A=F.x,P=F.y;let j,W,ee,ie;if(R%2!==0&&R>1){let oe=So.calcCardinalityPosition(u.relation.type1!=="none",s.points,s.points[0]),be=So.calcCardinalityPosition(u.relation.type2!=="none",s.points,s.points[R-1]);Xe.debug("cardinality_1_point "+JSON.stringify(oe)),Xe.debug("cardinality_2_point "+JSON.stringify(be)),j=oe.x,W=oe.y,ee=be.x,ie=be.y}if(u.title!==void 0){const oe=i.append("g").attr("class","classLabel"),be=oe.append("text").attr("class","label").attr("x",A).attr("y",P).attr("fill","red").attr("text-anchor","middle").text(u.title);window.label=be;const ge=be.node().getBBox();oe.insert("rect",":first-child").attr("class","box").attr("x",ge.x-d.padding/2).attr("y",ge.y-d.padding/2).attr("width",ge.width+d.padding).attr("height",ge.height+d.padding)}Xe.info("Rendering relation "+JSON.stringify(u)),u.relationTitle1!==void 0&&u.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",j).attr("y",W).attr("fill","black").attr("font-size","6").text(u.relationTitle1),u.relationTitle2!==void 0&&u.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",ee).attr("y",ie).attr("fill","black").attr("font-size","6").text(u.relationTitle2),iKe++},Uin=function(i,s,u,d){Xe.debug("Rendering class ",s,u);const p=s.id,v={id:p,label:s.id,width:0,height:0},b=i.append("g").attr("id",d.db.lookUpDomId(p)).attr("class","classGroup");let y;s.link?y=b.append("svg:a").attr("xlink:href",s.link).attr("target",s.linkTarget).append("text").attr("y",u.textHeight+u.padding).attr("x",0):y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);let T=!0;s.annotations.forEach(function(be){const ge=y.append("tspan").text("«"+be+"»");T||ge.attr("dy",u.textHeight),T=!1});let _=sKe(s);const A=y.append("tspan").text(_).attr("class","title");T||A.attr("dy",u.textHeight);const P=y.node().getBBox().height;let R,F,j;if(s.members.length>0){R=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin/2).attr("y2",u.padding+P+u.dividerMargin/2);const be=b.append("text").attr("x",u.padding).attr("y",P+u.dividerMargin+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.members.forEach(function(ge){aKe(be,ge,T,u),T=!1}),F=be.node().getBBox()}if(s.methods.length>0){j=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin+F.height).attr("y2",u.padding+P+u.dividerMargin+F.height);const be=b.append("text").attr("x",u.padding).attr("y",P+2*u.dividerMargin+F.height+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.methods.forEach(function(ge){aKe(be,ge,T,u),T=!1})}const W=b.node().getBBox();var ee=" ";s.cssClasses.length>0&&(ee=ee+s.cssClasses.join(" "));const oe=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",W.width+2*u.padding).attr("height",W.height+u.padding+.5*u.dividerMargin).attr("class",ee).node().getBBox().width;return y.node().childNodes.forEach(function(be){be.setAttribute("x",(oe-be.getBBox().width)/2)}),s.tooltip&&y.insert("title").text(s.tooltip),R&&R.attr("x2",oe),j&&j.attr("x2",oe),v.width=oe,v.height=W.height+u.padding+.5*u.dividerMargin,v},sKe=function(i){let s=i.id;return i.type&&(s+="<"+VF(i.type)+">"),s},Gin=function(i,s,u,d){Xe.debug("Rendering note ",s,u);const p=s.id,v={id:p,text:s.text,width:0,height:0},b=i.append("g").attr("id",p).attr("class","classGroup");let y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);const T=JSON.parse(`"${s.text}"`).split(` +`);T.forEach(function(R){Xe.debug(`Adding line: ${R}`),y.append("tspan").text(R).attr("class","title").attr("dy",u.textHeight)});const _=b.node().getBBox(),P=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",_.width+2*u.padding).attr("height",_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin).node().getBBox().width;return y.node().childNodes.forEach(function(R){R.setAttribute("x",(P-R.getBBox().width)/2)}),v.width=P,v.height=_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin,v},aKe=function(i,s,u,d){const{displayText:p,cssStyle:v}=s.getDisplayDetails(),b=i.append("tspan").attr("x",d.padding).text(p);v!==""&&b.attr("style",s.cssStyle),u||b.attr("dy",d.textHeight)},Ive={getClassTitleString:sKe,drawClass:Uin,drawEdge:Vin,drawNote:Gin};let kJ={};const EJ=20,XR=function(i){const s=Object.entries(kJ).find(u=>u[1].label===i);if(s)return s[0]},Kin=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},Win=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:YGe,db:xJ,renderer:{draw:function(i,s,u,d){const p=qt().class;kJ={},Xe.info("Rendering diagram "+i);const v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=y.select(`[id='${s}']`);Kin(T);const _=new P0({multigraph:!0});_.setGraph({isMultiGraph:!0}),_.setDefaultEdgeLabel(function(){return{}});const A=d.db.getClasses(),P=Object.keys(A);for(const oe of P){const be=A[oe],ge=Ive.drawClass(T,be,p,d);kJ[ge.id]=ge,_.setNode(ge.id,ge),Xe.info("Org height: "+ge.height)}d.db.getRelations().forEach(function(oe){Xe.info("tjoho"+XR(oe.id1)+XR(oe.id2)+JSON.stringify(oe)),_.setEdge(XR(oe.id1),XR(oe.id2),{relation:oe},oe.title||"DEFAULT")}),d.db.getNotes().forEach(function(oe){Xe.debug(`Adding note: ${JSON.stringify(oe)}`);const be=Ive.drawNote(T,oe,p,d);kJ[be.id]=be,_.setNode(be.id,be),oe.class&&oe.class in A&&_.setEdge(oe.id,XR(oe.class),{relation:{id1:oe.id,id2:oe.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),qD(_),_.nodes().forEach(function(oe){oe!==void 0&&_.node(oe)!==void 0&&(Xe.debug("Node "+oe+": "+JSON.stringify(_.node(oe))),y.select("#"+(d.db.lookUpDomId(oe)||oe)).attr("transform","translate("+(_.node(oe).x-_.node(oe).width/2)+","+(_.node(oe).y-_.node(oe).height/2)+" )"))}),_.edges().forEach(function(oe){oe!==void 0&&_.edge(oe)!==void 0&&(Xe.debug("Edge "+oe.v+" -> "+oe.w+": "+JSON.stringify(_.edge(oe))),Ive.drawEdge(T,_.edge(oe),_.edge(oe).relation,p,d))});const j=T.node().getBBox(),W=j.width+EJ*2,ee=j.height+EJ*2;Og(T,ee,W,p.useMaxWidth);const ie=`${j.x-EJ} ${j.y-EJ} ${W} ${ee}`;Xe.debug(`viewBox ${ie}`),T.attr("viewBox",ie)}},styles:rKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,xJ.clear()}}},Symbol.toStringTag,{value:"Module"})),Ove=i=>ci.sanitizeText(i,qt());let Nve={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const Yin=function(i,s,u,d){const p=Object.keys(i);Xe.info("keys:",p),Xe.info(i),p.forEach(function(v){var _,A;const b=i[v],T={shape:"rect",id:b.id,domId:b.domId,labelText:Ove(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((_=qt().flowchart)==null?void 0:_.padding)??((A=qt().class)==null?void 0:A.padding)};s.setNode(b.id,T),oKe(b.classes,s,u,d,b.id),Xe.info("setNode",T)})},oKe=function(i,s,u,d,p){const v=Object.keys(i);Xe.info("keys:",v),Xe.info(i),v.filter(b=>i[b].parent==p).forEach(function(b){var j,W;const y=i[b],T=y.cssClasses.join(" "),_=om(y.styles),A=y.label??y.id,P=0,R="class_box",F={labelStyle:_.labelStyle,shape:R,labelText:Ove(A),classData:y,rx:P,ry:P,class:T,style:_.style,id:y.id,domId:y.domId,tooltip:d.db.getTooltip(y.id,p)||"",haveCallback:y.haveCallback,link:y.link,width:y.type==="group"?500:void 0,type:y.type,padding:((j=qt().flowchart)==null?void 0:j.padding)??((W=qt().class)==null?void 0:W.padding)};s.setNode(y.id,F),p&&s.setParent(y.id,p),Xe.info("setNode",F)})},Xin=function(i,s,u,d){Xe.info(i),i.forEach(function(p,v){var W,ee;const b=p,y="",T={labelStyle:"",style:""},_=b.text,A=0,P="note",R={labelStyle:T.labelStyle,shape:P,labelText:Ove(_),noteData:b,rx:A,ry:A,class:y,style:T.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((W=qt().flowchart)==null?void 0:W.padding)??((ee=qt().class)==null?void 0:ee.padding)};if(s.setNode(b.id,R),Xe.info("setNode",R),!b.class||!(b.class in d))return;const F=u+v,j={id:`edgeNote${F}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Nv(Nve.curve,xp)};s.setEdge(b.id,b.class,j,F)})},Qin=function(i,s){const u=qt().flowchart;let d=0;i.forEach(function(p){var b;d++;const v={classes:"relation",pattern:p.relation.lineType==1?"dashed":"solid",id:`id_${p.id1}_${p.id2}_${d}`,arrowhead:p.type==="arrow_open"?"none":"normal",startLabelRight:p.relationTitle1==="none"?"":p.relationTitle1,endLabelLeft:p.relationTitle2==="none"?"":p.relationTitle2,arrowTypeStart:cKe(p.relation.type1),arrowTypeEnd:cKe(p.relation.type2),style:"fill:none",labelStyle:"",curve:Nv(u==null?void 0:u.curve,xp)};if(Xe.info(v,p),p.style!==void 0){const y=om(p.style);v.style=y.style,v.labelStyle=y.labelStyle}p.text=p.title,p.text===void 0?p.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=qt().flowchart)==null?void 0:b.htmlLabels)??qt().htmlLabels?(v.labelType="html",v.label=''+p.text+""):(v.labelType="text",v.label=p.text.replace(ci.lineBreakRegex,` +`),p.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),s.setEdge(p.id1,p.id2,v,d)})},Jin=function(i){Nve={...Nve,...i}},Zin=async function(i,s,u,d){Xe.info("Drawing class - ",s);const p=qt().flowchart??qt().class,v=qt().securityLevel;Xe.info("config:",p);const b=(p==null?void 0:p.nodeSpacing)??50,y=(p==null?void 0:p.rankSpacing)??50,T=new P0({multigraph:!0,compound:!0}).setGraph({rankdir:d.db.getDirection(),nodesep:b,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=d.db.getNamespaces(),A=d.db.getClasses(),P=d.db.getRelations(),R=d.db.getNotes();Xe.info(P),Yin(_,T,s,d),oKe(A,T,s,d),Qin(P,T),Xin(R,T,P.length+1,A);let F;v==="sandbox"&&(F=Ir("#i"+s));const j=Ir(v==="sandbox"?F.nodes()[0].contentDocument.body:"body"),W=j.select(`[id="${s}"]`),ee=j.select("#"+s+" g");if(await Hme(ee,T,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",s),So.insertTitle(W,"classTitleText",(p==null?void 0:p.titleTopMargin)??5,d.db.getDiagramTitle()),y9(T,W,p==null?void 0:p.diagramPadding,p==null?void 0:p.useMaxWidth),!(p!=null&&p.htmlLabels)){const ie=v==="sandbox"?F.nodes()[0].contentDocument:document,oe=ie.querySelectorAll('[id="'+s+'"] .edgeLabel .label');for(const be of oe){const ge=be.getBBox(),ae=ie.createElementNS("http://www.w3.org/2000/svg","rect");ae.setAttribute("rx",0),ae.setAttribute("ry",0),ae.setAttribute("width",ge.width),ae.setAttribute("height",ge.height),be.insertBefore(ae,be.firstChild)}}};function cKe(i){let s;switch(i){case 0:s="aggregation";break;case 1:s="extension";break;case 2:s="composition";break;case 3:s="dependency";break;case 4:s="lollipop";break;default:s="none"}return s}const esn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:YGe,db:xJ,renderer:{setConf:Jin,draw:Zin},styles:rKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,xJ.clear()}}},Symbol.toStringTag,{value:"Module"}));var Pve=function(){var i=function(Ie,Se,Ce,ke){for(Ce=Ce||{},ke=Ie.length;ke--;Ce[Ie[ke]]=Se);return Ce},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,15],T=[1,16],_=[1,17],A=[1,18],P=[1,30],R=[1,19],F=[1,20],j=[1,21],W=[1,22],ee=[1,23],ie=[1,25],oe=[1,26],be=[1,27],ge=[1,28],ae=[1,29],ne=[1,32],se=[1,33],de=[1,34],X=[1,35],pe=[1,31],K=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xe=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],U=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Be={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Se,Ce,ke,Ke,Ft,Pe,gn){var kt=Pe.length-1;switch(Ft){case 3:return Ke.setRootDoc(Pe[kt]),Pe[kt];case 4:this.$=[];break;case 5:Pe[kt]!="nl"&&(Pe[kt-1].push(Pe[kt]),this.$=Pe[kt-1]);break;case 6:case 7:this.$=Pe[kt];break;case 8:this.$="nl";break;case 11:this.$=Pe[kt];break;case 12:const xt=Pe[kt-1];xt.description=Ke.trimColon(Pe[kt]),this.$=xt;break;case 13:this.$={stmt:"relation",state1:Pe[kt-2],state2:Pe[kt]};break;case 14:const Pt=Ke.trimColon(Pe[kt]);this.$={stmt:"relation",state1:Pe[kt-3],state2:Pe[kt-1],description:Pt};break;case 18:this.$={stmt:"state",id:Pe[kt-3],type:"default",description:"",doc:Pe[kt-1]};break;case 19:var Et=Pe[kt],Gt=Pe[kt-2].trim();if(Pe[kt].match(":")){var ln=Pe[kt].split(":");Et=ln[0],Gt=[Gt,ln[1]]}this.$={stmt:"state",id:Et,type:"default",description:Gt};break;case 20:this.$={stmt:"state",id:Pe[kt-3],type:"default",description:Pe[kt-5],doc:Pe[kt-1]};break;case 21:this.$={stmt:"state",id:Pe[kt],type:"fork"};break;case 22:this.$={stmt:"state",id:Pe[kt],type:"join"};break;case 23:this.$={stmt:"state",id:Pe[kt],type:"choice"};break;case 24:this.$={stmt:"state",id:Ke.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Pe[kt-1].trim(),note:{position:Pe[kt-2].trim(),text:Pe[kt].trim()}};break;case 28:this.$=Pe[kt].trim(),Ke.setAccTitle(this.$);break;case 29:case 30:this.$=Pe[kt].trim(),Ke.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Pe[kt-1].trim(),classes:Pe[kt].trim()};break;case 33:this.$={stmt:"applyClass",id:Pe[kt-1].trim(),styleClass:Pe[kt].trim()};break;case 34:Ke.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ke.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ke.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ke.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Pe[kt].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Pe[kt-2].trim(),classes:[Pe[kt].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Pe[kt-2].trim(),classes:[Pe[kt].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(K,[2,5]),{9:36,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(K,[2,7]),i(K,[2,8]),i(K,[2,9]),i(K,[2,10]),i(K,[2,11],{13:[1,37],14:[1,38]}),i(K,[2,15]),{17:[1,39]},i(K,[2,17],{19:[1,40]}),{22:[1,41]},i(K,[2,21]),i(K,[2,22]),i(K,[2,23]),i(K,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(K,[2,27]),{33:[1,46]},{35:[1,47]},i(K,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(xe,[2,40],{51:[1,51]}),i(xe,[2,41],{51:[1,52]}),i(K,[2,34]),i(K,[2,35]),i(K,[2,36]),i(K,[2,37]),i(K,[2,6]),i(K,[2,12]),{12:53,23:P,50:pe},i(K,[2,16]),i(U,p,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(K,[2,28]),i(K,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(K,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,64],21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(K,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(K,[2,31]),i(K,[2,32]),i(K,[2,33]),i(xe,[2,42]),i(xe,[2,43]),i(K,[2,14]),i(K,[2,18]),i(U,p,{7:68}),i(K,[2,25]),i(K,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,69],21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(K,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Se,Ce){if(Ce.recoverable)this.trace(Se);else{var ke=new Error(Se);throw ke.hash=Ce,ke}},parse:function(Se){var Ce=this,ke=[0],Ke=[],Ft=[null],Pe=[],gn=this.table,kt="",Et=0,Gt=0,ln=2,xt=1,Pt=Pe.slice.call(arguments,1),Ze=Object.create(this.lexer),At={yy:{}};for(var Tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Tt)&&(At.yy[Tt]=this.yy[Tt]);Ze.setInput(Se,At.yy),At.yy.lexer=Ze,At.yy.parser=this,typeof Ze.yylloc>"u"&&(Ze.yylloc={});var On=Ze.yylloc;Pe.push(On);var ht=Ze.options&&Ze.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zr(){var Lt;return Lt=Ke.pop()||Ze.lex()||xt,typeof Lt!="number"&&(Lt instanceof Array&&(Ke=Lt,Lt=Ke.pop()),Lt=Ce.symbols_[Lt]||Lt),Lt}for(var yt,Fi,yi,Pa,ta={},$o,Ar,Nn,$n;;){if(Fi=ke[ke.length-1],this.defaultActions[Fi]?yi=this.defaultActions[Fi]:((yt===null||typeof yt>"u")&&(yt=zr()),yi=gn[Fi]&&gn[Fi][yt]),typeof yi>"u"||!yi.length||!yi[0]){var qn="";$n=[];for($o in gn[Fi])this.terminals_[$o]&&$o>ln&&$n.push("'"+this.terminals_[$o]+"'");Ze.showPosition?qn="Parse error on line "+(Et+1)+`: +`+Ze.showPosition()+` +Expecting `+$n.join(", ")+", got '"+(this.terminals_[yt]||yt)+"'":qn="Parse error on line "+(Et+1)+": Unexpected "+(yt==xt?"end of input":"'"+(this.terminals_[yt]||yt)+"'"),this.parseError(qn,{text:Ze.match,token:this.terminals_[yt]||yt,line:Ze.yylineno,loc:On,expected:$n})}if(yi[0]instanceof Array&&yi.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Fi+", token: "+yt);switch(yi[0]){case 1:ke.push(yt),Ft.push(Ze.yytext),Pe.push(Ze.yylloc),ke.push(yi[1]),yt=null,Gt=Ze.yyleng,kt=Ze.yytext,Et=Ze.yylineno,On=Ze.yylloc;break;case 2:if(Ar=this.productions_[yi[1]][1],ta.$=Ft[Ft.length-Ar],ta._$={first_line:Pe[Pe.length-(Ar||1)].first_line,last_line:Pe[Pe.length-1].last_line,first_column:Pe[Pe.length-(Ar||1)].first_column,last_column:Pe[Pe.length-1].last_column},ht&&(ta._$.range=[Pe[Pe.length-(Ar||1)].range[0],Pe[Pe.length-1].range[1]]),Pa=this.performAction.apply(ta,[kt,Gt,Et,At.yy,yi[1],Ft,Pe].concat(Pt)),typeof Pa<"u")return Pa;Ar&&(ke=ke.slice(0,-1*Ar*2),Ft=Ft.slice(0,-1*Ar),Pe=Pe.slice(0,-1*Ar)),ke.push(this.productions_[yi[1]][0]),Ft.push(ta.$),Pe.push(ta._$),Nn=gn[ke[ke.length-2]][ke[ke.length-1]],ke.push(Nn);break;case 3:return!0}}return!0}},Ne=function(){var Ie={EOF:1,parseError:function(Ce,ke){if(this.yy.parser)this.yy.parser.parseError(Ce,ke);else throw new Error(Ce)},setInput:function(Se,Ce){return this.yy=Ce||this.yy||{},this._input=Se,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Se=this._input[0];this.yytext+=Se,this.yyleng++,this.offset++,this.match+=Se,this.matched+=Se;var Ce=Se.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Se},unput:function(Se){var Ce=Se.length,ke=Se.split(/(?:\r\n?|\n)/g);this._input=Se+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;var Ke=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ke.length-1&&(this.yylineno-=ke.length-1);var Ft=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ke?(ke.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-ke.length].length-ke[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[Ft[0],Ft[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Se){this.unput(this.match.slice(Se))},pastInput:function(){var Se=this.matched.substr(0,this.matched.length-this.match.length);return(Se.length>20?"...":"")+Se.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Se=this.match;return Se.length<20&&(Se+=this._input.substr(0,20-Se.length)),(Se.substr(0,20)+(Se.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Se=this.pastInput(),Ce=new Array(Se.length+1).join("-");return Se+this.upcomingInput()+` +`+Ce+"^"},test_match:function(Se,Ce){var ke,Ke,Ft;if(this.options.backtrack_lexer&&(Ft={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Ft.yylloc.range=this.yylloc.range.slice(0))),Ke=Se[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Se[0].length},this.yytext+=Se[0],this.match+=Se[0],this.matches=Se,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Se[0].length),this.matched+=Se[0],ke=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ke)return ke;if(this._backtrack){for(var Pe in Ft)this[Pe]=Ft[Pe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Se,Ce,ke,Ke;this._more||(this.yytext="",this.match="");for(var Ft=this._currentRules(),Pe=0;PeCe[0].length)){if(Ce=ke,Ke=Pe,this.options.backtrack_lexer){if(Se=this.test_match(ke,Ft[Pe]),Se!==!1)return Se;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Se=this.test_match(Ce,Ft[Ke]),Se!==!1?Se:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ce=this.next();return Ce||this.lex()},begin:function(Ce){this.conditionStack.push(Ce)},popState:function(){var Ce=this.conditionStack.length-1;return Ce>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},pushState:function(Ce){this.begin(Ce)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ce,ke,Ke,Ft){switch(Ke){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),ke.yytext=ke.yytext.substr(2).trim(),30;case 64:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return ke.yytext=ke.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Ie}();Be.lexer=Ne;function je(){this.yy={}}return je.prototype=Be,Be.Parser=je,new je}();Pve.parser=Pve;const uKe=Pve,tsn="LR",nsn="TB",TJ="state",Bve="relation",rsn="classDef",isn="applyClass",QR="default",lKe="divider",Fve="[*]",hKe="start",fKe=Fve,dKe="end",gKe="color",pKe="fill",ssn="bgFill",asn=",";function bKe(){return{}}let mKe=tsn,CJ=[],JR=bKe();const vKe=()=>({relations:[],states:{},documents:{}});let SJ={root:vKe()},Rg=SJ.root,ZR=0,wKe=0;const osn={LINE:0,DOTTED_LINE:1},csn={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},_J=i=>JSON.parse(JSON.stringify(i)),usn=i=>{Xe.info("Setting root doc",i),CJ=i},lsn=()=>CJ,AJ=(i,s,u)=>{if(s.stmt===Bve)AJ(i,s.state1,!0),AJ(i,s.state2,!1);else if(s.stmt===TJ&&(s.id==="[*]"?(s.id=u?i.id+"_start":i.id+"_end",s.start=u):s.id=s.id.trim()),s.doc){const d=[];let p=[],v;for(v=0;v0&&p.length>0){const b={stmt:TJ,id:vje(),type:"divider",doc:_J(p)};d.push(_J(b)),s.doc=d}s.doc.forEach(b=>AJ(s,b,!0))}},hsn=()=>(AJ({id:"root"},{id:"root",doc:CJ},!0),{id:"root",doc:CJ}),fsn=i=>{let s;i.doc?s=i.doc:s=i,Xe.info(s),yKe(!0),Xe.info("Extract",s),s.forEach(u=>{switch(u.stmt){case TJ:rS(u.id.trim(),u.type,u.doc,u.description,u.note,u.classes,u.styles,u.textStyles);break;case Bve:xKe(u.state1,u.state2,u.description);break;case rsn:kKe(u.id.trim(),u.classes);break;case isn:zve(u.id.trim(),u.styleClass);break}})},rS=function(i,s=QR,u=null,d=null,p=null,v=null,b=null,y=null){const T=i==null?void 0:i.trim();Rg.states[T]===void 0?(Xe.info("Adding state ",T,d),Rg.states[T]={id:T,descriptions:[],type:s,doc:u,note:p,classes:[],styles:[],textStyles:[]}):(Rg.states[T].doc||(Rg.states[T].doc=u),Rg.states[T].type||(Rg.states[T].type=s)),d&&(Xe.info("Setting state description",T,d),typeof d=="string"&&$ve(T,d.trim()),typeof d=="object"&&d.forEach(_=>$ve(T,_.trim()))),p&&(Rg.states[T].note=p,Rg.states[T].note.text=ci.sanitizeText(Rg.states[T].note.text,qt())),v&&(Xe.info("Setting state classes",T,v),(typeof v=="string"?[v]:v).forEach(A=>zve(T,A.trim()))),b&&(Xe.info("Setting state styles",T,b),(typeof b=="string"?[b]:b).forEach(A=>ksn(T,A.trim()))),y&&(Xe.info("Setting state styles",T,b),(typeof y=="string"?[y]:y).forEach(A=>Esn(T,A.trim())))},yKe=function(i){SJ={root:vKe()},Rg=SJ.root,ZR=0,JR=bKe(),i||Ng()},ej=function(i){return Rg.states[i]},dsn=function(){return Rg.states},gsn=function(){Xe.info("Documents = ",SJ)},psn=function(){return Rg.relations};function Rve(i=""){let s=i;return i===Fve&&(ZR++,s=`${hKe}${ZR}`),s}function jve(i="",s=QR){return i===Fve?hKe:s}function bsn(i=""){let s=i;return i===fKe&&(ZR++,s=`${dKe}${ZR}`),s}function msn(i="",s=QR){return i===fKe?dKe:s}function vsn(i,s,u){let d=Rve(i.id.trim()),p=jve(i.id.trim(),i.type),v=Rve(s.id.trim()),b=jve(s.id.trim(),s.type);rS(d,p,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),rS(v,b,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),Rg.relations.push({id1:d,id2:v,relationTitle:ci.sanitizeText(u,qt())})}const xKe=function(i,s,u){if(typeof i=="object")vsn(i,s,u);else{const d=Rve(i.trim()),p=jve(i),v=bsn(s.trim()),b=msn(s);rS(d,p),rS(v,b),Rg.relations.push({id1:d,id2:v,title:ci.sanitizeText(u,qt())})}},$ve=function(i,s){const u=Rg.states[i],d=s.startsWith(":")?s.replace(":","").trim():s;u.descriptions.push(ci.sanitizeText(d,qt()))},wsn=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},ysn=()=>(wKe++,"divider-id-"+wKe),kKe=function(i,s=""){JR[i]===void 0&&(JR[i]={id:i,styles:[],textStyles:[]});const u=JR[i];s!=null&&s.split(asn).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(gKe)){const b=p.replace(pKe,ssn).replace(gKe,pKe);u.textStyles.push(b)}u.styles.push(p)})},xsn=function(){return JR},zve=function(i,s){i.split(",").forEach(function(u){let d=ej(u);if(d===void 0){const p=u.trim();rS(p),d=ej(p)}d.classes.push(s)})},ksn=function(i,s){const u=ej(i);u!==void 0&&u.textStyles.push(s)},Esn=function(i,s){const u=ej(i);u!==void 0&&u.textStyles.push(s)},G7={getConfig:()=>qt().state,addState:rS,clear:yKe,getState:ej,getStates:dsn,getRelations:psn,getClasses:xsn,getDirection:()=>mKe,addRelation:xKe,getDividerId:ysn,setDirection:i=>{mKe=i},cleanupLabel:wsn,lineType:osn,relationType:csn,logDocuments:gsn,getRootDoc:lsn,setRootDoc:usn,getRootDocV2:hsn,extract:fsn,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Cp,setAccTitle:Pg,getAccDescription:_p,setAccDescription:Sp,addStyleClass:kKe,setCssClass:zve,addDescription:$ve,setDiagramTitle:cm,getDiagramTitle:Ap},EKe=i=>` +defs #statediagram-barbEnd { + fill: ${i.transitionColor}; + stroke: ${i.transitionColor}; + } +g.stateGroup text { + fill: ${i.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${i.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${i.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; +} + +g.stateGroup line { + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${i.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${i.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${i.noteBorderColor}; + fill: ${i.noteBkgColor}; + + text { + fill: ${i.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${i.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${i.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel .label text { + fill: ${i.transitionLabelColor||i.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${i.transitionLabelColor||i.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${i.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node .fork-join { + fill: ${i.specialStateColor}; + stroke: ${i.specialStateColor}; +} + +.node circle.state-end { + fill: ${i.innerEndBackground}; + stroke: ${i.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${i.compositeBackground||i.background}; + // stroke: ${i.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${i.stateBkg||i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${i.mainBkg}; + stroke: ${i.stateBorder||i.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${i.lineColor}; +} + +.statediagram-cluster rect { + fill: ${i.compositeTitleBackground}; + stroke: ${i.stateBorder||i.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${i.stateLabelColor}; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${i.stateBorder||i.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${i.compositeBackground||i.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${i.altBackground?i.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${i.noteBkgColor}; + stroke: ${i.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${i.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${i.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${i.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${i.lineColor}; + stroke: ${i.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; +} +`,qve={},Tsn=(i,s)=>{qve[i]=s},Csn=i=>qve[i],TKe=()=>Object.keys(qve),Ssn={get:Csn,set:Tsn,keys:TKe,size:()=>TKe().length},_sn=i=>i.append("circle").attr("class","start-state").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit).attr("cy",qt().state.padding+qt().state.sizeUnit),Asn=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",qt().state.textHeight).attr("class","divider").attr("x2",qt().state.textHeight*2).attr("y1",0).attr("y2",0),Lsn=(i,s)=>{const u=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+2*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),d=u.node().getBBox();return i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",d.width+2*qt().state.padding).attr("height",d.height+2*qt().state.padding).attr("rx",qt().state.radius),u},Msn=(i,s)=>{const u=function(R,F,j){const W=R.append("tspan").attr("x",2*qt().state.padding).text(F);j||W.attr("dy",qt().state.textHeight)},p=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+1.3*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.descriptions[0]).node().getBBox(),v=p.height,b=i.append("text").attr("x",qt().state.padding).attr("y",v+qt().state.padding*.4+qt().state.dividerMargin+qt().state.textHeight).attr("class","state-description");let y=!0,T=!0;s.descriptions.forEach(function(R){y||(u(b,R,T),T=!1),y=!1});const _=i.append("line").attr("x1",qt().state.padding).attr("y1",qt().state.padding+v+qt().state.dividerMargin/2).attr("y2",qt().state.padding+v+qt().state.dividerMargin/2).attr("class","descr-divider"),A=b.node().getBBox(),P=Math.max(A.width,p.width);return _.attr("x2",P+3*qt().state.padding),i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",P+2*qt().state.padding).attr("height",A.height+v+2*qt().state.padding).attr("rx",qt().state.radius),i},Dsn=(i,s,u)=>{const d=qt().state.padding,p=2*qt().state.padding,v=i.node().getBBox(),b=v.width,y=v.x,T=i.append("text").attr("x",0).attr("y",qt().state.titleShift).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),A=T.node().getBBox().width+p;let P=Math.max(A,b);P===b&&(P=P+p);let R;const F=i.node().getBBox();s.doc,R=y-d,A>b&&(R=(b-P)/2+d),Math.abs(y-F.x)b&&(R=y-(A-b)/2);const j=1-qt().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",j).attr("class",u?"alt-composit":"composit").attr("width",P).attr("height",F.height+qt().state.textHeight+qt().state.titleShift+1).attr("rx","0"),T.attr("x",R+d),A<=b&&T.attr("x",y+(P-p)/2-A/2+d),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",qt().state.textHeight*3).attr("rx",qt().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",F.height+3+2*qt().state.textHeight).attr("rx",qt().state.radius),i},Isn=i=>(i.append("circle").attr("class","end-state-outer").attr("r",qt().state.sizeUnit+qt().state.miniPadding).attr("cx",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding).attr("cy",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit+2).attr("cy",qt().state.padding+qt().state.sizeUnit+2)),Osn=(i,s)=>{let u=qt().state.forkWidth,d=qt().state.forkHeight;if(s.parentId){let p=u;u=d,d=p}return i.append("rect").style("stroke","black").style("fill","black").attr("width",u).attr("height",d).attr("x",qt().state.padding).attr("y",qt().state.padding)},Nsn=(i,s,u,d)=>{let p=0;const v=d.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"
");b=b.replace(/\n/g,"
");const y=b.split(ci.lineBreakRegex);let T=1.25*qt().state.noteMargin;for(const _ of y){const A=_.trim();if(A.length>0){const P=v.append("tspan");if(P.text(A),T===0){const R=P.node().getBBox();T+=R.height}p+=T,P.attr("x",s+qt().state.noteMargin),P.attr("y",u+p+1.25*qt().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:p}},Psn=(i,s)=>{s.attr("class","state-note");const u=s.append("rect").attr("x",0).attr("y",qt().state.padding),d=s.append("g"),{textWidth:p,textHeight:v}=Nsn(i,0,0,d);return u.attr("height",v+2*qt().state.noteMargin),u.attr("width",p+qt().state.noteMargin*2),u},CKe=function(i,s){const u=s.id,d={id:u,label:s.id,width:0,height:0},p=i.append("g").attr("id",u).attr("class","stateGroup");s.type==="start"&&_sn(p),s.type==="end"&&Isn(p),(s.type==="fork"||s.type==="join")&&Osn(p,s),s.type==="note"&&Psn(s.note.text,p),s.type==="divider"&&Asn(p),s.type==="default"&&s.descriptions.length===0&&Lsn(p,s),s.type==="default"&&s.descriptions.length>0&&Msn(p,s);const v=p.node().getBBox();return d.width=v.width+2*qt().state.padding,d.height=v.height+2*qt().state.padding,Ssn.set(u,d),d};let SKe=0;const Bsn=function(i,s,u){const d=function(T){switch(T){case G7.relationType.AGGREGATION:return"aggregation";case G7.relationType.EXTENSION:return"extension";case G7.relationType.COMPOSITION:return"composition";case G7.relationType.DEPENDENCY:return"dependency"}};s.points=s.points.filter(T=>!Number.isNaN(T.y));const p=s.points,v=k7().x(function(T){return T.x}).y(function(T){return T.y}).curve(FF),b=i.append("path").attr("d",v(p)).attr("id","edge"+SKe).attr("class","transition");let y="";if(qt().state.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),b.attr("marker-end","url("+y+"#"+d(G7.relationType.DEPENDENCY)+"End)"),u.title!==void 0){const T=i.append("g").attr("class","stateLabel"),{x:_,y:A}=So.calcLabelPosition(s.points),P=ci.getRows(u.title);let R=0;const F=[];let j=0,W=0;for(let oe=0;oe<=P.length;oe++){const be=T.append("text").attr("text-anchor","middle").text(P[oe]).attr("x",_).attr("y",A+R),ge=be.node().getBBox();j=Math.max(j,ge.width),W=Math.min(W,ge.x),Xe.info(ge.x,_,A+R),R===0&&(R=be.node().getBBox().height,Xe.info("Title height",R,A)),F.push(be)}let ee=R*P.length;if(P.length>1){const oe=(P.length-1)*R*.5;F.forEach((be,ge)=>be.attr("y",A+ge*R-oe)),ee=R*P.length}const ie=T.node().getBBox();T.insert("rect",":first-child").attr("class","box").attr("x",_-j/2-qt().state.padding/2).attr("y",A-ee/2-qt().state.padding/2-3.5).attr("width",j+qt().state.padding).attr("height",ee+qt().state.padding),Xe.info(ie)}SKe++};let gm;const Hve={},Fsn=function(){},Rsn=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},jsn=function(i,s,u,d){gm=qt().state;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body"),y=p==="sandbox"?v.nodes()[0].contentDocument:document;Xe.debug("Rendering diagram "+i);const T=b.select(`[id='${s}']`);Rsn(T);const _=d.db.getRootDoc();_Ke(_,T,void 0,!1,b,y,d);const A=gm.padding,P=T.node().getBBox(),R=P.width+A*2,F=P.height+A*2,j=R*1.75;Og(T,F,j,gm.useMaxWidth),T.attr("viewBox",`${P.x-gm.padding} ${P.y-gm.padding} `+R+" "+F)},$sn=i=>i?i.length*gm.fontSizeFactor:1,_Ke=(i,s,u,d,p,v,b)=>{const y=new P0({compound:!0,multigraph:!0});let T,_=!0;for(T=0;T{const ge=be.parentElement;let ae=0,ne=0;ge&&(ge.parentElement&&(ae=ge.parentElement.getBBox().width),ne=parseInt(ge.getAttribute("data-x-shift"),10),Number.isNaN(ne)&&(ne=0)),be.setAttribute("x1",0-ne+8),be.setAttribute("x2",ae-ne-8)})):Xe.debug("No Node "+ie+": "+JSON.stringify(y.node(ie)))});let W=j.getBBox();y.edges().forEach(function(ie){ie!==void 0&&y.edge(ie)!==void 0&&(Xe.debug("Edge "+ie.v+" -> "+ie.w+": "+JSON.stringify(y.edge(ie))),Bsn(s,y.edge(ie),y.edge(ie).relation))}),W=j.getBBox();const ee={id:u||"root",label:u||"root",width:0,height:0};return ee.width=W.width+2*gm.padding,ee.height=W.height+2*gm.padding,Xe.debug("Doc rendered",ee,y),ee},zsn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:uKe,db:G7,renderer:{setConf:Fsn,draw:jsn},styles:EKe,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,G7.clear()}}},Symbol.toStringTag,{value:"Module"})),LJ="rect",Vve="rectWithTitle",qsn="start",Hsn="end",Vsn="divider",Usn="roundedWithTitle",Gsn="note",Ksn="noteGroup",QD="statediagram",Wsn=`${QD}-state`,AKe="transition",Ysn="note",Xsn=`${AKe} note-edge`,Qsn=`${QD}-${Ysn}`,Jsn=`${QD}-cluster`,Zsn=`${QD}-cluster-alt`,LKe="parent",MKe="note",ean="state",Uve="----",tan=`${Uve}${MKe}`,DKe=`${Uve}${LKe}`,IKe="fill:none",OKe="fill: #333",NKe="c",PKe="text",BKe="normal";let MJ={},j9=0;const nan=function(i){const s=Object.keys(i);for(const u of s)i[u]},ran=function(i,s){return s.db.extract(s.db.getRootDocV2()),s.db.getClasses()};function ian(i){return i==null?"":i.classes?i.classes.join(" "):""}function Gve(i="",s=0,u="",d=Uve){const p=u!==null&&u.length>0?`${d}${u}`:"";return`${ean}-${i}${p}-${s}`}const tj=(i,s,u,d,p,v)=>{const b=u.id,y=ian(d[b]);if(b!=="root"){let T=LJ;u.start===!0&&(T=qsn),u.start===!1&&(T=Hsn),u.type!==QR&&(T=u.type),MJ[b]||(MJ[b]={id:b,shape:T,description:ci.sanitizeText(b,qt()),classes:`${y} ${Wsn}`});const _=MJ[b];u.description&&(Array.isArray(_.description)?(_.shape=Vve,_.description.push(u.description)):_.description.length>0?(_.shape=Vve,_.description===b?_.description=[u.description]:_.description=[_.description,u.description]):(_.shape=LJ,_.description=u.description),_.description=ci.sanitizeTextOrArray(_.description,qt())),_.description.length===1&&_.shape===Vve&&(_.shape=LJ),!_.type&&u.doc&&(Xe.info("Setting cluster for ",b,Kve(u)),_.type="group",_.dir=Kve(u),_.shape=u.type===lKe?Vsn:Usn,_.classes=_.classes+" "+Jsn+" "+(v?Zsn:""));const A={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:Gve(b,j9),type:_.type,padding:15};if(A.centerLabel=!0,u.note){const P={labelStyle:"",shape:Gsn,labelText:u.note.text,classes:Qsn,style:"",id:b+tan+"-"+j9,domId:Gve(b,j9,MKe),type:_.type,padding:15},R={labelStyle:"",shape:Ksn,labelText:u.note.text,classes:_.classes,style:"",id:b+DKe,domId:Gve(b,j9,LKe),type:"group",padding:0};j9++;const F=b+DKe;i.setNode(F,R),i.setNode(P.id,P),i.setNode(b,A),i.setParent(b,F),i.setParent(P.id,F);let j=b,W=P.id;u.note.position==="left of"&&(j=P.id,W=b),i.setEdge(j,W,{arrowhead:"none",arrowType:"",style:IKe,labelStyle:"",classes:Xsn,arrowheadStyle:OKe,labelpos:NKe,labelType:PKe,thickness:BKe})}else i.setNode(b,A)}s&&s.id!=="root"&&(Xe.trace("Setting node ",b," to be child of its parent ",s.id),i.setParent(b,s.id)),u.doc&&(Xe.trace("Adding nodes children "),san(i,u,u.doc,d,p,!v))},san=(i,s,u,d,p,v)=>{Xe.trace("items",u),u.forEach(b=>{switch(b.stmt){case TJ:tj(i,s,b,d,p,v);break;case QR:tj(i,s,b,d,p,v);break;case Bve:{tj(i,s,b.state1,d,p,v),tj(i,s,b.state2,d,p,v);const y={id:"edge"+j9,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:IKe,labelStyle:"",label:ci.sanitizeText(b.description,qt()),arrowheadStyle:OKe,labelpos:NKe,labelType:PKe,thickness:BKe,classes:AKe};i.setEdge(b.state1.id,b.state2.id,y,j9),j9++}break}})},Kve=(i,s=nsn)=>{let u=s;if(i.doc)for(let d=0;d{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,G7.clear()}}},Symbol.toStringTag,{value:"Module"}));var Wve=function(){var i=function(P,R,F,j){for(F=F||{},j=P.length;j--;F[P[j]]=R);return F},s=[6,8,10,11,12,14,16,17,18],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,14],T={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(R,F,j,W,ee,ie,oe){var be=ie.length-1;switch(ee){case 1:return ie[be-1];case 2:this.$=[];break;case 3:ie[be-1].push(ie[be]),this.$=ie[be-1];break;case 4:case 5:this.$=ie[be];break;case 6:case 7:this.$=[];break;case 8:W.setDiagramTitle(ie[be].substr(6)),this.$=ie[be].substr(6);break;case 9:this.$=ie[be].trim(),W.setAccTitle(this.$);break;case 10:case 11:this.$=ie[be].trim(),W.setAccDescription(this.$);break;case 12:W.addSection(ie[be].substr(8)),this.$=ie[be].substr(8);break;case 13:W.addTask(ie[be-1],ie[be]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:15,11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,8]),{13:[1,16]},{15:[1,17]},i(s,[2,11]),i(s,[2,12]),{19:[1,18]},i(s,[2,4]),i(s,[2,9]),i(s,[2,10]),i(s,[2,13])],defaultActions:{},parseError:function(R,F){if(F.recoverable)this.trace(R);else{var j=new Error(R);throw j.hash=F,j}},parse:function(R){var F=this,j=[0],W=[],ee=[null],ie=[],oe=this.table,be="",ge=0,ae=0,ne=2,se=1,de=ie.slice.call(arguments,1),X=Object.create(this.lexer),pe={yy:{}};for(var K in this.yy)Object.prototype.hasOwnProperty.call(this.yy,K)&&(pe.yy[K]=this.yy[K]);X.setInput(R,pe.yy),pe.yy.lexer=X,pe.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var xe=X.yylloc;ie.push(xe);var U=X.options&&X.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var kt;return kt=W.pop()||X.lex()||se,typeof kt!="number"&&(kt instanceof Array&&(W=kt,kt=W.pop()),kt=F.symbols_[kt]||kt),kt}for(var Ne,je,Ie,Se,Ce={},ke,Ke,Ft,Pe;;){if(je=j[j.length-1],this.defaultActions[je]?Ie=this.defaultActions[je]:((Ne===null||typeof Ne>"u")&&(Ne=Be()),Ie=oe[je]&&oe[je][Ne]),typeof Ie>"u"||!Ie.length||!Ie[0]){var gn="";Pe=[];for(ke in oe[je])this.terminals_[ke]&&ke>ne&&Pe.push("'"+this.terminals_[ke]+"'");X.showPosition?gn="Parse error on line "+(ge+1)+`: +`+X.showPosition()+` +Expecting `+Pe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":gn="Parse error on line "+(ge+1)+": Unexpected "+(Ne==se?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(gn,{text:X.match,token:this.terminals_[Ne]||Ne,line:X.yylineno,loc:xe,expected:Pe})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+je+", token: "+Ne);switch(Ie[0]){case 1:j.push(Ne),ee.push(X.yytext),ie.push(X.yylloc),j.push(Ie[1]),Ne=null,ae=X.yyleng,be=X.yytext,ge=X.yylineno,xe=X.yylloc;break;case 2:if(Ke=this.productions_[Ie[1]][1],Ce.$=ee[ee.length-Ke],Ce._$={first_line:ie[ie.length-(Ke||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ke||1)].first_column,last_column:ie[ie.length-1].last_column},U&&(Ce._$.range=[ie[ie.length-(Ke||1)].range[0],ie[ie.length-1].range[1]]),Se=this.performAction.apply(Ce,[be,ae,ge,pe.yy,Ie[1],ee,ie].concat(de)),typeof Se<"u")return Se;Ke&&(j=j.slice(0,-1*Ke*2),ee=ee.slice(0,-1*Ke),ie=ie.slice(0,-1*Ke)),j.push(this.productions_[Ie[1]][0]),ee.push(Ce.$),ie.push(Ce._$),Ft=oe[j[j.length-2]][j[j.length-1]],j.push(Ft);break;case 3:return!0}}return!0}},_=function(){var P={EOF:1,parseError:function(F,j){if(this.yy.parser)this.yy.parser.parseError(F,j);else throw new Error(F)},setInput:function(R,F){return this.yy=F||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var F=R.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var F=R.length,j=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),j.length-1&&(this.yylineno-=j.length-1);var ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:j?(j.length===W.length?this.yylloc.first_column:0)+W[W.length-j.length].length-j[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),F=new Array(R.length+1).join("-");return R+this.upcomingInput()+` +`+F+"^"},test_match:function(R,F){var j,W,ee;if(this.options.backtrack_lexer&&(ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ee.yylloc.range=this.yylloc.range.slice(0))),W=R[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(R[0].length),this.matched+=R[0],j=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),j)return j;if(this._backtrack){for(var ie in ee)this[ie]=ee[ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,F,j,W;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),ie=0;ieF[0].length)){if(F=j,W=ie,this.options.backtrack_lexer){if(R=this.test_match(j,ee[ie]),R!==!1)return R;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(R=this.test_match(F,ee[W]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var F=this.next();return F||this.lex()},begin:function(F){this.conditionStack.push(F)},popState:function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},pushState:function(F){this.begin(F)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(F,j,W,ee){switch(W){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return P}();T.lexer=_;function A(){this.yy={}}return A.prototype=T,T.Parser=A,new A}();Wve.parser=Wve;const oan=Wve;let JD="";const Yve=[],nj=[],rj=[],can=function(){Yve.length=0,nj.length=0,JD="",rj.length=0,Ng()},uan=function(i){JD=i,Yve.push(i)},lan=function(){return Yve},han=function(){let i=FKe();const s=100;let u=0;for(;!i&&u{u.people&&i.push(...u.people)}),[...new Set(i)].sort()},dan=function(i,s){const u=s.substr(1).split(":");let d=0,p=[];u.length===1?(d=Number(u[0]),p=[]):(d=Number(u[0]),p=u[1].split(","));const v=p.map(y=>y.trim()),b={section:JD,type:JD,people:v,task:i,score:d};rj.push(b)},gan=function(i){const s={section:JD,type:JD,description:i,task:i,classes:[]};nj.push(s)},FKe=function(){const i=function(u){return rj[u].processed};let s=!0;for(const[u,d]of rj.entries())i(u),s=s&&d.processed;return s},RKe={getConfig:()=>qt().journey,clear:can,setDiagramTitle:cm,getDiagramTitle:Ap,setAccTitle:Pg,getAccTitle:Cp,setAccDescription:Sp,getAccDescription:_p,addSection:uan,getSections:lan,getTasks:han,addTask:dan,addTaskOrg:gan,getActors:function(){return fan()}},pan=i=>`.label { + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + color: ${i.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${i.textColor} + } + + .legend { + fill: ${i.textColor}; + } + + .label text { + fill: #333; + } + .label { + color: ${i.textColor} + } + + .face { + ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${i.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${i.fillType0?`fill: ${i.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${i.fillType0?`fill: ${i.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${i.fillType0?`fill: ${i.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${i.fillType0?`fill: ${i.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${i.fillType0?`fill: ${i.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${i.fillType0?`fill: ${i.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${i.fillType0?`fill: ${i.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${i.fillType0?`fill: ${i.fillType7}`:""}; + } + + .actor-0 { + ${i.actor0?`fill: ${i.actor0}`:""}; + } + .actor-1 { + ${i.actor1?`fill: ${i.actor1}`:""}; + } + .actor-2 { + ${i.actor2?`fill: ${i.actor2}`:""}; + } + .actor-3 { + ${i.actor3?`fill: ${i.actor3}`:""}; + } + .actor-4 { + ${i.actor4?`fill: ${i.actor4}`:""}; + } + .actor-5 { + ${i.actor5?`fill: ${i.actor5}`:""}; + } +`,Xve=function(i,s){return LQ(i,s)},ban=function(i,s){const d=i.append("circle").attr("cx",s.cx).attr("cy",s.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",s.cx-15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",s.cx+15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(T){const _=lD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+2)+")")}function b(T){const _=lD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+7)+")")}function y(T){T.append("line").attr("class","mouth").attr("stroke",2).attr("x1",s.cx-5).attr("y1",s.cy+7).attr("x2",s.cx+5).attr("y2",s.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.score>3?v(p):s.score<3?b(p):y(p),d},jKe=function(i,s){const u=i.append("circle");return u.attr("cx",s.cx),u.attr("cy",s.cy),u.attr("class","actor-"+s.pos),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("r",s.r),u.class!==void 0&&u.attr("class",u.class),s.title!==void 0&&u.append("title").text(s.title),u},$Ke=function(i,s){return rUt(i,s)},man=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(s.x,s.y,50,20,7)),d.attr("class","labelBox"),s.y=s.y+s.labelMargin,s.x=s.x+.5*s.labelMargin,$Ke(i,s)},van=function(i,s,u){const d=i.append("g"),p=qC();p.x=s.x,p.y=s.y,p.fill=s.fill,p.width=u.width*s.taskCount+u.diagramMarginX*(s.taskCount-1),p.height=u.height,p.class="journey-section section-type-"+s.num,p.rx=3,p.ry=3,Xve(d,p),qKe(u)(s.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+s.num},u,s.colour)};let zKe=-1;const wan=function(i,s,u){const d=s.x+u.width/2,p=i.append("g");zKe++;const v=300+5*30;p.append("line").attr("id","task"+zKe).attr("x1",d).attr("y1",s.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),ban(p,{cx:d,cy:300+(5-s.score)*30,score:s.score});const b=qC();b.x=s.x,b.y=s.y,b.fill=s.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+s.num,b.rx=3,b.ry=3,Xve(p,b);let y=s.x+14;s.people.forEach(T=>{const _=s.actors[T].color,A={cx:y,cy:s.y,r:7,fill:_,stroke:"#000",title:T,pos:s.actors[T].position};jKe(p,A),y+=10}),qKe(u)(s.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,s.colour)},yan=function(i,s){Sqe(i,s)},qKe=function(){function i(p,v,b,y,T,_,A,P){const R=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function s(p,v,b,y,T,_,A,P,R){const{taskFontSize:F,taskFontFamily:j}=P,W=p.split(//gi);for(let ee=0;ee{const p=K7[d].color,v={cx:20,cy:u,r:7,fill:p,stroke:"#000",pos:K7[d].position};ij.drawCircle(i,v);const b={x:40,y:u+7,fill:"#666",text:d,textMargin:s.boxTextMargin|5};ij.drawText(i,b),u+=20})}const DJ=qt().journey,iS=DJ.leftMargin,Ean=function(i,s,u,d){const p=qt().journey,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");Vv.init();const T=y.select("#"+s);ij.initGraphics(T);const _=d.db.getTasks(),A=d.db.getDiagramTitle(),P=d.db.getActors();for(const ie in K7)delete K7[ie];let R=0;P.forEach(ie=>{K7[ie]={color:p.actorColours[R%p.actorColours.length],position:R},R++}),kan(T),Vv.insert(0,0,iS,Object.keys(K7).length*50),Tan(T,_,0);const F=Vv.getBounds();A&&T.append("text").text(A).attr("x",iS).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const j=F.stopy-F.starty+2*p.diagramMarginY,W=iS+F.stopx+2*p.diagramMarginX;Og(T,j,W,p.useMaxWidth),T.append("line").attr("x1",iS).attr("y1",p.height*4).attr("x2",W-iS-4).attr("y2",p.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const ee=A?70:0;T.attr("viewBox",`${F.startx} -25 ${W} ${j+ee}`),T.attr("preserveAspectRatio","xMinYMin meet"),T.attr("height",j+ee+25)},Vv={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=qt().journey,v=this;let b=0;function y(T){return function(A){b++;const P=v.sequenceItems.length-b+1;v.updateVal(A,"starty",s-P*p.boxMargin,Math.min),v.updateVal(A,"stopy",d+P*p.boxMargin,Math.max),v.updateVal(Vv.data,"startx",i-P*p.boxMargin,Math.min),v.updateVal(Vv.data,"stopx",u+P*p.boxMargin,Math.max),T!=="activation"&&(v.updateVal(A,"startx",i-P*p.boxMargin,Math.min),v.updateVal(A,"stopx",u+P*p.boxMargin,Math.max),v.updateVal(Vv.data,"starty",s-P*p.boxMargin,Math.min),v.updateVal(Vv.data,"stopy",d+P*p.boxMargin,Math.max))}}this.sequenceItems.forEach(y())},insert:function(i,s,u,d){const p=Math.min(i,u),v=Math.max(i,u),b=Math.min(s,d),y=Math.max(s,d);this.updateVal(Vv.data,"startx",p,Math.min),this.updateVal(Vv.data,"starty",b,Math.min),this.updateVal(Vv.data,"stopx",v,Math.max),this.updateVal(Vv.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Qve=DJ.sectionFills,HKe=DJ.sectionColours,Tan=function(i,s,u){const d=qt().journey;let p="";const v=d.height*2+d.diagramMarginY,b=u+v;let y=0,T="#CCC",_="black",A=0;for(const[P,R]of s.entries()){if(p!==R.section){T=Qve[y%Qve.length],A=y%Qve.length,_=HKe[y%HKe.length];let j=0;const W=R.section;for(let ie=P;ie(K7[W]&&(j[W]=K7[W]),j),{});R.x=P*d.taskMargin+P*d.width+iS,R.y=b,R.width=d.diagramMarginX,R.height=d.diagramMarginY,R.colour=_,R.fill=T,R.num=A,R.actors=F,ij.drawTask(i,R,d),Vv.insert(R.x,R.y,R.x+R.width+d.taskMargin,300+5*30)}},VKe={setConf:xan,draw:Ean},Can=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:oan,db:RKe,renderer:VKe,styles:pan,init:i=>{VKe.setConf(i.journey),RKe.clear()}}},Symbol.toStringTag,{value:"Module"})),San=(i,s,u)=>{const{parentById:d}=u,p=new Set;let v=i;for(;v;){if(p.add(v),v===s)return v;v=d[v]}for(v=s;v;){if(p.has(v))return v;v=d[v]}return"root"};function IJ(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var UKe={exports:{}};(function(i,s){(function(u){i.exports=u()})(function(){return function(){function u(d,p,v){function b(_,A){if(!p[_]){if(!d[_]){var P=typeof IJ=="function"&&IJ;if(!A&&P)return P(_,!0);if(y)return y(_,!0);var R=new Error("Cannot find module '"+_+"'");throw R.code="MODULE_NOT_FOUND",R}var F=p[_]={exports:{}};d[_][0].call(F.exports,function(j){var W=d[_][1][j];return b(W||j)},F,F.exports,u,d,p,v)}return p[_].exports}for(var y=typeof IJ=="function"&&IJ,T=0;T0&&arguments[0]!==void 0?arguments[0]:{},R=P.defaultLayoutOptions,F=R===void 0?{}:R,j=P.algorithms,W=j===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:j,ee=P.workerFactory,ie=P.workerUrl;if(b(this,_),this.defaultLayoutOptions=F,this.initialized=!1,typeof ie>"u"&&typeof ee>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var oe=ee;typeof ie<"u"&&typeof ee>"u"&&(oe=function(ae){return new Worker(ae)});var be=oe(ie);if(typeof be.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new T(be),this.worker.postMessage({cmd:"register",algorithms:W}).then(function(ge){return A.initialized=!0}).catch(console.err)}return v(_,[{key:"layout",value:function(P){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},F=R.layoutOptions,j=F===void 0?this.defaultLayoutOptions:F,W=R.logging,ee=W===void 0?!1:W,ie=R.measureExecutionTime,oe=ie===void 0?!1:ie;return P?this.worker.postMessage({cmd:"layout",graph:P,layoutOptions:j,options:{logging:ee,measureExecutionTime:oe}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),_}();p.default=y;var T=function(){function _(A){var P=this;if(b(this,_),A===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=A,this.worker.onmessage=function(R){setTimeout(function(){P.receive(P,R)},0)}}return v(_,[{key:"postMessage",value:function(P){var R=this.id||0;this.id=R+1,P.id=R;var F=this;return new Promise(function(j,W){F.resolvers[R]=function(ee,ie){ee?(F.convertGwtStyleError(ee),W(ee)):j(ie)},F.worker.postMessage(P)})}},{key:"receive",value:function(P,R){var F=R.data,j=P.resolvers[F.id];j&&(delete P.resolvers[F.id],F.error?j(F.error):j(null,F.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(P){if(P){var R=P.__java$exception;R&&(R.cause&&R.cause.backingJsObject&&(P.cause=R.cause.backingJsObject,this.convertGwtStyleError(P.cause)),delete P.__java$exception)}}}]),_}()},{}],2:[function(u,d,p){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var y;function T(){}function _(){}function A(){}function P(){}function R(){}function F(){}function j(){}function W(){}function ee(){}function ie(){}function oe(){}function be(){}function ge(){}function ae(){}function ne(){}function se(){}function de(){}function X(){}function pe(){}function K(){}function xe(){}function U(){}function Be(){}function Ne(){}function je(){}function Ie(){}function Se(){}function Ce(){}function ke(){}function Ke(){}function Ft(){}function Pe(){}function gn(){}function kt(){}function Et(){}function Gt(){}function ln(){}function xt(){}function Pt(){}function Ze(){}function At(){}function Tt(){}function On(){}function ht(){}function zr(){}function yt(){}function Fi(){}function yi(){}function Pa(){}function ta(){}function $o(){}function Ar(){}function Nn(){}function $n(){}function qn(){}function Lt(){}function wt(){}function cn(){}function fn(){}function Mn(){}function mo(){}function Oo(){}function Xa(){}function ca(){}function No(){}function Ts(){}function rl(){}function Xo(){}function Bp(){}function pm(){}function Po(){}function yc(){}function Jc(){}function Ra(){}function du(){}function Sa(){}function Bo(){}function Rc(){}function Qa(){}function ja(){}function xa(){}function xu(){}function jc(){}function o5(){}function jg(){}function id(){}function Hd(){}function uh(){}function Vd(){}function Ud(){}function Gd(){}function sd(){}function R0(){}function ls(){}function vn(){}function si(){}function ss(){}function Zc(){}function bl(){}function ku(){}function Wi(){}function hs(){}function Ma(){}function ui(){}function su(){}function Ot(){}function Y3(){}function Kt(){}function j0(){}function Fp(){}function X3(){}function $9(){}function c5(){}function Th(){}function $g(){}function bm(){}function z9(){}function mm(){}function u5(){}function m1(){}function ad(){}function od(){}function q9(){}function Gv(){}function Y7(){}function K2(){}function X7(){}function l5(){}function Q3(){}function Rp(){}function nI(){}function lh(){}function oS(){}function gu(){}function zJ(){}function vm(){}function qJ(){}function cj(){}function HJ(){}function uj(){}function $0(){}function J3(){}function cS(){}function lj(){}function W2(){}function Z3(){}function VJ(){}function wm(){}function UJ(){}function GJ(){}function Q7(){}function uS(){}function hj(){}function H9(){}function KJ(){}function V9(){}function WJ(){}function YJ(){}function XJ(){}function QJ(){}function JJ(){}function ZJ(){}function eZ(){}function tZ(){}function nZ(){}function rZ(){}function iZ(){}function rI(){}function sZ(){}function aZ(){}function lS(){}function fj(){}function J7(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hZ(){}function hS(){}function iI(){}function dj(){}function h5(){}function f5(){}function fZ(){}function e0(){}function Z7(){}function dZ(){}function U9(){}function Kd(){}function gZ(){}function pZ(){}function bZ(){}function gj(){}function mZ(){}function fS(){}function dS(){}function pj(){}function sI(){}function e8(){}function vZ(){}function bj(){}function mj(){}function wZ(){}function yZ(){}function xZ(){}function kZ(){}function EZ(){}function TZ(){}function Wd(){}function Kv(){}function CZ(){}function gS(){}function pS(){}function SZ(){}function d5(){}function G9(){}function aI(){}function ey(){}function K9(){}function _Z(){}function bS(){}function cd(){}function vj(){}function oI(){}function W9(){}function cI(){}function wj(){}function AZ(){}function uI(){}function LZ(){}function MZ(){}function yj(){}function t8(){}function xj(){}function n8(){}function DZ(){}function lI(){}function IZ(){}function OZ(){}function NZ(){}function PZ(){}function kj(){}function BZ(){}function FZ(){}function Ej(){}function RZ(){}function jZ(){}function $Z(){}function zZ(){}function Tj(){}function qZ(){}function HZ(){}function Cj(){}function Sj(){}function _j(){}function VZ(){}function UZ(){}function Y9(){}function r8(){}function mS(){}function GZ(){}function hI(){}function vS(){}function fI(){}function Aj(){}function Lj(){}function KZ(){}function WZ(){}function YZ(){}function Mj(){}function Dj(){}function XZ(){}function QZ(){}function JZ(){}function ZZ(){}function eee(){}function Ij(){}function tee(){}function nee(){}function ree(){}function iee(){}function Oj(){}function wS(){}function see(){}function aee(){}function Nj(){}function oee(){}function cee(){}function uee(){}function lee(){}function hee(){}function fee(){}function Pj(){}function dee(){}function Bj(){}function gee(){}function pee(){}function bee(){}function yS(){}function mee(){}function xS(){}function vee(){}function Fj(){}function Rj(){}function jj(){}function $j(){}function Wv(){}function zj(){}function qj(){}function Hj(){}function Vj(){}function wee(){}function i8(){}function dI(){}function g5(){}function yee(){}function xee(){}function kS(){}function Uj(){}function kee(){}function Eee(){}function Tee(){}function Cee(){}function See(){}function _ee(){}function Aee(){}function Lee(){}function Mee(){}function Dee(){}function ES(){}function Gj(){}function Iee(){}function Oee(){}function Nee(){}function Pee(){}function Bee(){}function Kj(){}function Wj(){}function Fee(){}function Yj(){}function Xj(){}function Ree(){}function jee(){}function $ee(){}function zee(){}function qee(){}function Hee(){}function Vee(){}function Uee(){}function gI(){}function Gee(){}function X9(){}function Qj(){}function Kee(){}function Wee(){}function Yee(){}function Xee(){}function Qee(){}function Jee(){}function Zee(){}function ete(){}function tte(){}function nte(){}function rte(){}function ite(){}function ste(){}function ate(){}function ote(){}function s8(){}function Jj(){}function cte(){}function ute(){}function lte(){}function Zj(){}function hte(){}function TS(){}function fte(){}function dte(){}function gte(){}function pte(){}function bte(){}function mte(){}function vte(){}function wte(){}function yte(){}function xte(){}function a8(){}function kte(){}function Ete(){}function Tte(){}function Cte(){}function Ste(){}function _te(){}function Ate(){}function Lte(){}function CS(){}function Mte(){}function Dte(){}function Ite(){}function Ote(){}function Nte(){}function Pte(){}function Bte(){}function Fte(){}function o8(){}function e$(){}function Rte(){}function pI(){}function jte(){}function $te(){}function zte(){}function qte(){}function Hte(){}function Vte(){}function Ute(){}function t$(){}function Gte(){}function n$(){}function Kte(){}function r$(){}function i$(){}function s$(){}function Wte(){}function Yte(){}function a$(){}function Xte(){}function o$(){}function Qte(){}function Jte(){}function bI(){}function Zte(){}function ene(){}function tne(){}function nne(){}function rne(){}function c$(){}function ine(){}function sne(){}function ane(){}function bwe(){}function one(){}function cne(){}function une(){}function lne(){}function hne(){}function fne(){}function dne(){}function gne(){}function pne(){}function bne(){}function mne(){}function vne(){}function wne(){}function yne(){}function xne(){}function kne(){}function pu(){}function Ene(){}function SS(){}function $c(){}function Fu(){}function fs(){}function mI(){}function Tne(){}function Cne(){}function Sne(){}function c8(){}function ym(){}function Q9(){}function _ne(){}function vI(){}function Ane(){}function Lne(){}function Mne(){}function u$(){}function Dne(){}function Ine(){}function wI(){}function One(){}function hh(){}function ml(){}function l$(){}function Nne(){}function Pne(){}function ty(){}function p5(){}function ny(){}function jp(){}function u8(){}function yI(){}function h$(){}function f$(){}function Bne(){}function v1(){}function d$(){}function ry(){}function J9(){}function xI(){}function l8(){}function Y2(){}function g$(){}function p$(){}function b$(){}function Fne(){}function h8(){}function iy(){}function $p(){}function X2(){}function b5(){}function Z9(){}function _S(){}function kI(){}function Rne(){}function jne(){}function m$(){}function v$(){}function Ut(){}function ek(){}function w$(){}function y$(){}function $ne(){}function tk(){}function nk(){}function x$(){}function zne(){}function qne(){}function Hne(){}function Vne(){}function Une(){}function Gne(){}function EI(){}function Kne(){}function Wne(){}function k$(){}function AS(){}function Yne(){}function TI(){}function rk(){}function ik(){}function sk(){}function E$(){}function Xne(){}function T$(){}function C$(){}function Qne(){}function LS(){}function Q2(){}function S$(){}function _$(){}function MS(){}function Jne(){}function m5(){}function A$(){}function CI(){}function eu(){}function SI(){}function _I(){}function DS(){}function Zne(){}function ere(){}function IS(){}function tre(){}function OS(){}function NS(){}function z0(){}function AI(){}function LI(){}function f8(){}function nre(){}function rre(){}function ire(){}function sre(){}function Yd(){}function PS(){}function d8(){}function w1(){}function L$(){}function M$(){}function D$(){}function I$(){}function O$(){}function N$(){}function q0(){}function il(){}function are(){}function ore(){}function cre(){}function sl(){}function BS(){}function P$(){}function B$(){}function g8(){}function ure(){}function ak(){}function lre(){}function F$(){}function hre(){}function fre(){}function FS(){}function R$(){}function MI(){}function RS(){}function dre(){}function gre(){}function DI(){}function jS(){}function y1(){}function ok(){}function pre(){}function ck(){}function II(){}function xm(){}function $S(){}function OI(){}function H0(){}function zS(){}function x1(){}function k1(){}function bre(){}function mre(){}function v5(){}function uk(){}function lk(){}function qS(){}function vre(){}function wre(){}function p8(){}function j$(){}function $$(){}function yre(){}function z$(){}function xre(){}function q$(){}function NI(){}function kre(){}function HS(){}function Ere(){}function Tre(){}function Cre(){}function Sre(){}function _re(){}function H$(){}function Are(){}function Lre(){}function Mre(){}function V$(){}function Dre(){}function Ire(){}function VS(){}function Ore(){}function Nre(){}function Pre(){}function Bre(){}function Fre(){}function Rre(){}function U$(){}function jre(){}function G$(){}function $re(){}function PI(){}function zre(){}function K$(){}function qre(){}function W$(){}function Hre(){}function Y$(){}function X$(){}function Q$(){}function BI(){}function w5(){}function US(){}function E1(){}function J$(){}function hk(){}function FI(){}function Z$(){}function km(){}function ez(){}function GS(){o_()}function Vre(){iO()}function tz(){gU()}function nz(){Mce()}function rz(){IA()}function KS(){Qxe()}function WS(){p0()}function iz(){oxe()}function sz(){VN()}function b8(){sO()}function Yv(){OO()}function fk(){det()}function az(){lx()}function Ure(){qut()}function oz(){a7e()}function m8(){Mot()}function RI(){o7e()}function cz(){wlt()}function Gre(){Lot()}function uz(){TE()}function YS(){nft()}function XS(){tft()}function jI(){Cct()}function Kre(){rft()}function Wre(){Sb()}function Yre(){tq()}function Xre(){Xke()}function Qre(){Nt()}function Jre(){ift()}function Zre(){Dft()}function eie(){Dot()}function tie(){ngt()}function nie(){Iot()}function rie(){bmt()}function iie(){A9e()}function sie(){ep()}function aie(){m1t()}function v8(){Uc()}function oie(){zot()}function dk(){ux()}function Tf(){lke()}function cie(){_b()}function gk(){hke()}function QS(){R1()}function uie(){YN()}function lie(){nle()}function hie(){hue()}function Cf(){mit()}function fie(){eV()}function die(){yU()}function lz(){bi()}function gie(){BV()}function hz(){F8e()}function fz(){hce()}function dz(){qU()}function gz(){kke()}function t0(e){nr(e)}function pz(e){this.a=e}function JS(e){this.a=e}function bz(e){this.a=e}function mz(e){this.a=e}function pie(e){this.a=e}function bie(e){this.a=e}function vz(e){this.a=e}function mie(e){this.a=e}function wz(e){this.a=e}function J2(e){this.a=e}function vie(e){this.a=e}function wie(e){this.a=e}function $I(e){this.a=e}function yie(e){this.a=e}function xie(e){this.a=e}function pk(e){this.a=e}function Z2(e){this.a=e}function yz(e){this.a=e}function bk(e){this.a=e}function y5(e){this.a=e}function zI(e){this.a=e}function w8(e){this.a=e}function qI(e){this.b=e}function zg(e){this.c=e}function kie(e){this.a=e}function sy(e){this.a=e}function xz(e){this.a=e}function kz(e){this.a=e}function HI(e){this.a=e}function VI(e){this.a=e}function Ez(e){this.a=e}function y8(e){this.a=e}function mk(e){this.a=e}function Eie(e){this.a=e}function Tz(e){this.a=e}function Cz(e){this.a=e}function Sz(e){this.a=e}function _z(e){this.a=e}function zc(e){this.a=e}function vk(e){this.a=e}function wk(e){this.a=e}function zp(){this.a=[]}function Tie(e,t){e.a=t}function Cie(e,t){e.a=t}function Sie(e,t){e.b=t}function _ie(e,t){e.b=t}function Aie(e,t){e.b=t}function Az(e,t){e.j=t}function mwe(e,t){e.g=t}function Lz(e,t){e.i=t}function Lie(e,t){e.c=t}function x8(e,t){e.c=t}function vwe(e,t){e.d=t}function k8(e,t){e.d=t}function x(e,t){e.k=t}function m(e,t){e.c=t}function k(e,t){e.c=t}function S(e,t){e.a=t}function M(e,t){e.a=t}function O(e,t){e.f=t}function N(e,t){e.a=t}function $(e,t){e.b=t}function H(e,t){e.d=t}function q(e,t){e.i=t}function Y(e,t){e.o=t}function Z(e,t){e.r=t}function ce(e,t){e.a=t}function ve(e,t){e.b=t}function me(e,t){e.e=t}function Le(e,t){e.f=t}function _e(e,t){e.g=t}function Ee(e,t){e.e=t}function Fe(e,t){e.f=t}function Re(e,t){e.f=t}function Ve(e,t){e.a=t}function ct(e,t){e.b=t}function st(e,t){e.n=t}function Ye(e,t){e.a=t}function mt(e,t){e.c=t}function Qe(e,t){e.c=t}function Mt(e,t){e.c=t}function Dt(e,t){e.a=t}function ut(e,t){e.a=t}function Wt(e,t){e.d=t}function Ct(e,t){e.d=t}function _n(e,t){e.e=t}function hn(e,t){e.e=t}function Yt(e,t){e.g=t}function Dn(e,t){e.f=t}function ir(e,t){e.j=t}function vr(e,t){e.a=t}function Pn(e,t){e.a=t}function pr(e,t){e.b=t}function Er(e){e.b=e.a}function Mr(e){e.c=e.d.d}function Tr(e){this.a=e}function Or(e){this.a=e}function Wn(e){this.a=e}function br(e){this.a=e}function Cr(e){this.a=e}function Nr(e){this.a=e}function _i(e){this.a=e}function xs(e){this.a=e}function pa(e){this.a=e}function Di(e){this.a=e}function pi(e){this.a=e}function ds(e){this.a=e}function Fs(e){this.a=e}function ks(e){this.a=e}function Rs(e){this.b=e}function vo(e){this.b=e}function $a(e){this.b=e}function Da(e){this.a=e}function Fo(e){this.a=e}function tr(e){this.c=e}function G(e){this.c=e}function Jn(e){this.c=e}function kr(e){this.d=e}function lr(e){this.a=e}function Vt(e){this.a=e}function qs(e){this.a=e}function wr(e){this.a=e}function Cs(e){this.a=e}function ho(e){this.a=e}function qc(e){this.a=e}function za(e){this.a=e}function Ac(e){this.a=e}function ba(e){this.a=e}function wo(e){this.a=e}function fh(e){this.a=e}function Yl(e){this.a=e}function eb(e){this.a=e}function tb(e){this.a=e}function V0(e){this.a=e}function qp(e){this.a=e}function ud(e){this.a=e}function Xv(e){this.a=e}function ay(e){this.a=e}function E8(e){this.a=e}function x5(e){this.a=e}function T8(e){this.a=e}function ZS(e){this.a=e}function k5(e){this.a=e}function Xd(e){this.a=e}function T1(e){this.a=e}function Qd(e){this.a=e}function Qv(e){this.a=e}function Em(e){this.a=e}function Mz(e){this.a=e}function Mie(e){this.a=e}function Die(e){this.a=e}function e_(e){this.a=e}function Iie(e){this.a=e}function Oie(e){this.a=e}function E5(e){this.a=e}function Dz(e){this.a=e}function yk(e){this.a=e}function UI(e){this.a=e}function t_(e){this.a=e}function Iz(e){this.a=e}function Oz(e){this.a=e}function Nie(e){this.a=e}function Hp(e){this.a=e}function n_(e){this.a=e}function GI(e){this.a=e}function Tm(e){this.a=e}function Jd(e){this.e=e}function T5(e){this.a=e}function zWe(e){this.a=e}function C8(e){this.a=e}function wwe(e){this.a=e}function qWe(e){this.a=e}function HWe(e){this.a=e}function VWe(e){this.a=e}function UWe(e){this.a=e}function GWe(e){this.a=e}function KWe(e){this.a=e}function WWe(e){this.a=e}function YWe(e){this.a=e}function XWe(e){this.a=e}function QWe(e){this.a=e}function JWe(e){this.a=e}function ywe(e){this.a=e}function ZWe(e){this.a=e}function eYe(e){this.a=e}function tYe(e){this.a=e}function nYe(e){this.a=e}function rYe(e){this.a=e}function iYe(e){this.a=e}function sYe(e){this.a=e}function aYe(e){this.a=e}function oYe(e){this.a=e}function cYe(e){this.a=e}function uYe(e){this.a=e}function lYe(e){this.a=e}function hYe(e){this.a=e}function fYe(e){this.a=e}function dYe(e){this.a=e}function gYe(e){this.a=e}function pYe(e){this.a=e}function bYe(e){this.a=e}function mYe(e){this.a=e}function vYe(e){this.a=e}function wYe(e){this.a=e}function yYe(e){this.a=e}function xYe(e){this.a=e}function kYe(e){this.a=e}function EYe(e){this.a=e}function TYe(e){this.a=e}function CYe(e){this.a=e}function SYe(e){this.a=e}function _Ye(e){this.a=e}function AYe(e){this.a=e}function LYe(e){this.a=e}function MYe(e){this.a=e}function DYe(e){this.a=e}function IYe(e){this.a=e}function OYe(e){this.a=e}function NYe(e){this.a=e}function PYe(e){this.a=e}function BYe(e){this.a=e}function FYe(e){this.c=e}function RYe(e){this.b=e}function jYe(e){this.a=e}function $Ye(e){this.a=e}function zYe(e){this.a=e}function qYe(e){this.a=e}function HYe(e){this.a=e}function VYe(e){this.a=e}function UYe(e){this.a=e}function GYe(e){this.a=e}function KYe(e){this.a=e}function WYe(e){this.a=e}function YYe(e){this.a=e}function XYe(e){this.a=e}function QYe(e){this.a=e}function JYe(e){this.a=e}function ZYe(e){this.a=e}function eXe(e){this.a=e}function tXe(e){this.a=e}function nXe(e){this.a=e}function rXe(e){this.a=e}function iXe(e){this.a=e}function sXe(e){this.a=e}function aXe(e){this.a=e}function oXe(e){this.a=e}function cXe(e){this.a=e}function uXe(e){this.a=e}function lXe(e){this.a=e}function hXe(e){this.a=e}function qg(e){this.a=e}function C5(e){this.a=e}function fXe(e){this.a=e}function dXe(e){this.a=e}function gXe(e){this.a=e}function pXe(e){this.a=e}function bXe(e){this.a=e}function mXe(e){this.a=e}function vXe(e){this.a=e}function wXe(e){this.a=e}function yXe(e){this.a=e}function xXe(e){this.a=e}function kXe(e){this.a=e}function EXe(e){this.a=e}function TXe(e){this.a=e}function CXe(e){this.a=e}function SXe(e){this.a=e}function _Xe(e){this.a=e}function AXe(e){this.a=e}function LXe(e){this.a=e}function MXe(e){this.a=e}function DXe(e){this.a=e}function IXe(e){this.a=e}function OXe(e){this.a=e}function NXe(e){this.a=e}function PXe(e){this.a=e}function BXe(e){this.a=e}function FXe(e){this.a=e}function Nz(e){this.a=e}function RXe(e){this.f=e}function jXe(e){this.a=e}function $Xe(e){this.a=e}function zXe(e){this.a=e}function qXe(e){this.a=e}function HXe(e){this.a=e}function VXe(e){this.a=e}function UXe(e){this.a=e}function GXe(e){this.a=e}function KXe(e){this.a=e}function WXe(e){this.a=e}function YXe(e){this.a=e}function XXe(e){this.a=e}function QXe(e){this.a=e}function JXe(e){this.a=e}function ZXe(e){this.a=e}function eQe(e){this.a=e}function tQe(e){this.a=e}function nQe(e){this.a=e}function rQe(e){this.a=e}function iQe(e){this.a=e}function sQe(e){this.a=e}function aQe(e){this.a=e}function oQe(e){this.a=e}function cQe(e){this.a=e}function uQe(e){this.a=e}function lQe(e){this.a=e}function hQe(e){this.a=e}function fQe(e){this.a=e}function Pie(e){this.a=e}function xwe(e){this.a=e}function Ui(e){this.b=e}function dQe(e){this.a=e}function gQe(e){this.a=e}function pQe(e){this.a=e}function bQe(e){this.a=e}function mQe(e){this.a=e}function vQe(e){this.a=e}function wQe(e){this.a=e}function yQe(e){this.b=e}function xQe(e){this.a=e}function KI(e){this.a=e}function kQe(e){this.a=e}function EQe(e){this.a=e}function kwe(e){this.c=e}function Pz(e){this.e=e}function Bz(e){this.a=e}function Fz(e){this.a=e}function Bie(e){this.a=e}function TQe(e){this.d=e}function CQe(e){this.a=e}function Ewe(e){this.a=e}function Twe(e){this.a=e}function Jv(e){this.e=e}function Ocn(){this.a=0}function Pr(){Pl(this)}function bt(){Xse(this)}function Fie(){lat(this)}function SQe(){}function Zv(){this.c=MPe}function _Qe(e,t){e.b+=t}function Ncn(e,t){t.Wb(e)}function Pcn(e){return e.a}function Bcn(e){return e.a}function Fcn(e){return e.a}function Rcn(e){return e.a}function jcn(e){return e.a}function ue(e){return e.e}function $cn(){return null}function zcn(){return null}function qcn(){u3e(),xIn()}function Hcn(e){e.b.Of(e.e)}function AQe(e){e.b=new rse}function r_(e,t){e.b=t-e.b}function i_(e,t){e.a=t-e.a}function zn(e,t){e.push(t)}function LQe(e,t){e.sort(t)}function MQe(e,t){t.jd(e.a)}function Vcn(e,t){ha(t,e)}function Ucn(e,t,n){e.Yd(n,t)}function WI(e,t){e.e=t,t.b=e}function Cwe(e){bd(),this.a=e}function DQe(e){bd(),this.a=e}function IQe(e){bd(),this.a=e}function Rie(e){xw(),this.a=e}function OQe(e){Xk(),_0e.le(e)}function Swe(){Swe=U,new Pr}function Cm(){ert.call(this)}function _we(){ert.call(this)}function Awe(){Cm.call(this)}function jie(){Cm.call(this)}function NQe(){Cm.call(this)}function YI(){Cm.call(this)}function vl(){Cm.call(this)}function S8(){Cm.call(this)}function Qr(){Cm.call(this)}function Yh(){Cm.call(this)}function PQe(){Cm.call(this)}function Lc(){Cm.call(this)}function BQe(){Cm.call(this)}function FQe(){this.a=this}function Rz(){this.Bb|=256}function RQe(){this.b=new Ktt}function oy(e,t){e.length=t}function jz(e,t){vt(e.a,t)}function Gcn(e,t){Zxe(e.c,t)}function Kcn(e,t){na(e.b,t)}function Wcn(e,t){cU(e.a,t)}function Ycn(e,t){Rce(e.a,t)}function xk(e,t){Pi(e.e,t)}function _8(e){TU(e.c,e.b)}function Xcn(e,t){e.kc().Nb(t)}function Lwe(e){this.a=q4n(e)}function Gs(){this.a=new Pr}function jQe(){this.a=new Pr}function Mwe(){this.a=new iet}function $z(){this.a=new bt}function $ie(){this.a=new bt}function Dwe(){this.a=new bt}function Sf(){this.a=new pm}function Sm(){this.a=new But}function Iwe(){this.a=new bm}function Owe(){this.a=new Aot}function Nwe(){this.a=new $rt}function $Qe(){this.a=new bt}function zQe(){this.a=new bt}function qQe(){this.a=new bt}function Pwe(){this.a=new bt}function HQe(){this.d=new bt}function VQe(){this.a=new Wot}function UQe(){this.a=new Gs}function GQe(){this.a=new Pr}function KQe(){this.b=new Pr}function WQe(){this.b=new bt}function Bwe(){this.e=new bt}function YQe(){this.a=new Wre}function XQe(){this.d=new bt}function QQe(){Zat.call(this)}function JQe(){Zat.call(this)}function ZQe(){bt.call(this)}function Fwe(){Awe.call(this)}function Rwe(){$z.call(this)}function eJe(){Uq.call(this)}function tJe(){Pwe.call(this)}function s_(){SQe.call(this)}function zie(){s_.call(this)}function A8(){SQe.call(this)}function jwe(){A8.call(this)}function nJe(){Hwe.call(this)}function rJe(){Hwe.call(this)}function iJe(){Hwe.call(this)}function sJe(){Vwe.call(this)}function a_(){Yne.call(this)}function $we(){Yne.call(this)}function wl(){as.call(this)}function aJe(){xJe.call(this)}function oJe(){xJe.call(this)}function cJe(){Pr.call(this)}function uJe(){Pr.call(this)}function lJe(){Pr.call(this)}function qie(){oft.call(this)}function hJe(){Gs.call(this)}function fJe(){Rz.call(this)}function Hie(){Eye.call(this)}function zwe(){Pr.call(this)}function Vie(){Eye.call(this)}function Uie(){Pr.call(this)}function dJe(){Pr.call(this)}function qwe(){m5.call(this)}function gJe(){qwe.call(this)}function pJe(){m5.call(this)}function bJe(){Z$.call(this)}function Hwe(){this.a=new Gs}function mJe(){this.a=new Pr}function vJe(){this.a=new bt}function Vwe(){this.a=new Pr}function L8(){this.a=new as}function wJe(){this.j=new bt}function yJe(){this.a=new vZe}function xJe(){this.a=new Jne}function Uwe(){this.a=new fs}function o_(){o_=U,w0e=new _}function Gie(){Gie=U,y0e=new EJe}function Kie(){Kie=U,x0e=new kJe}function kJe(){pk.call(this,"")}function EJe(){pk.call(this,"")}function TJe(e){Mht.call(this,e)}function CJe(e){Mht.call(this,e)}function Gwe(e){wz.call(this,e)}function Kwe(e){KZe.call(this,e)}function Qcn(e){KZe.call(this,e)}function Jcn(e){Kwe.call(this,e)}function Zcn(e){Kwe.call(this,e)}function eun(e){Kwe.call(this,e)}function SJe(e){Coe.call(this,e)}function _Je(e){Coe.call(this,e)}function AJe(e){cit.call(this,e)}function LJe(e){b3e.call(this,e)}function c_(e){Qz.call(this,e)}function Wwe(e){Qz.call(this,e)}function MJe(e){Qz.call(this,e)}function Ywe(e){k9n.call(this,e)}function Xwe(e){Ywe.call(this,e)}function Mc(e){Lst.call(this,e)}function DJe(e){Mc.call(this,e)}function M8(){wk.call(this,{})}function IJe(){IJe=U,p6t=new K}function zz(){zz=U,T0e=new Mnt}function OJe(){OJe=U,GSe=new T}function Qwe(){Qwe=U,KSe=new ae}function qz(){qz=U,NL=new de}function Wie(e){Ok(),this.a=e}function Yie(e){T7e(),this.a=e}function ew(e){Oae(),this.f=e}function Xie(e){Oae(),this.f=e}function NJe(e){bit(),this.a=e}function PJe(e){e.b=null,e.c=0}function tun(e,t){e.e=t,bbt(e,t)}function nun(e,t){e.a=t,ukn(e)}function Qie(e,t,n){e.a[t.g]=n}function run(e,t,n){T8n(n,e,t)}function iun(e,t){Zfn(t.i,e.n)}function BJe(e,t){Eyn(e).Cd(t)}function sun(e,t){e.a.ec().Mc(t)}function FJe(e,t){return e.g-t.g}function aun(e,t){return e*e/t}function Rt(e){return nr(e),e}function ze(e){return nr(e),e}function XI(e){return nr(e),e}function oun(e){return new vk(e)}function cun(e){return new xy(e)}function Jwe(e){return nr(e),e}function uun(e){return nr(e),e}function Hz(e){Mc.call(this,e)}function nc(e){Mc.call(this,e)}function RJe(e){Mc.call(this,e)}function Jie(e){Lst.call(this,e)}function kk(e){Mc.call(this,e)}function Yn(e){Mc.call(this,e)}function rc(e){Mc.call(this,e)}function jJe(e){Mc.call(this,e)}function D8(e){Mc.call(this,e)}function Vp(e){Mc.call(this,e)}function Up(e){Mc.call(this,e)}function I8(e){Mc.call(this,e)}function ld(e){Mc.call(this,e)}function Zie(e){Mc.call(this,e)}function ni(e){Mc.call(this,e)}function Ol(e){nr(e),this.a=e}function Zwe(e){return Um(e),e}function u_(e){h5e(e,e.length)}function l_(e){return e.b==e.c}function cy(e){return!!e&&e.b}function lun(e){return!!e&&e.k}function hun(e){return!!e&&e.j}function fun(e,t,n){e.c.Ef(t,n)}function $Je(e,t){e.be(t),t.ae(e)}function O8(e){bd(),this.a=Xr(e)}function ese(){this.a=Zr(Xr(Eo))}function zJe(){throw ue(new Qr)}function dun(){throw ue(new Qr)}function e3e(){throw ue(new Qr)}function qJe(){throw ue(new Qr)}function gun(){throw ue(new Qr)}function pun(){throw ue(new Qr)}function Vz(){Vz=U,Xk()}function Gp(){Nr.call(this,"")}function h_(){Nr.call(this,"")}function nb(){Nr.call(this,"")}function S5(){Nr.call(this,"")}function t3e(e){nc.call(this,e)}function n3e(e){nc.call(this,e)}function hd(e){Yn.call(this,e)}function Ek(e){$a.call(this,e)}function HJe(e){Ek.call(this,e)}function tse(e){$q.call(this,e)}function nse(e){Pye.call(this,e,0)}function rse(){K5e.call(this,12,3)}function le(e,t){return kot(e,t)}function Uz(e,t){return $oe(e,t)}function bun(e,t){return e.a-t.a}function mun(e,t){return e.a-t.a}function vun(e,t){return e.a-t.a}function wun(e,t){return t in e.a}function VJe(e){return e.a?e.b:0}function yun(e){return e.a?e.b:0}function xun(e,t,n){t.Cd(e.a[n])}function kun(e,t,n){t.Pe(e.a[n])}function Eun(e,t){e.b=new xo(t)}function Tun(e,t){return e.b=t,e}function UJe(e,t){return e.c=t,e}function GJe(e,t){return e.f=t,e}function Cun(e,t){return e.g=t,e}function r3e(e,t){return e.a=t,e}function i3e(e,t){return e.f=t,e}function Sun(e,t){return e.k=t,e}function s3e(e,t){return e.a=t,e}function _un(e,t){return e.e=t,e}function a3e(e,t){return e.e=t,e}function Aun(e,t){return e.f=t,e}function Lun(e,t){e.b=!0,e.d=t}function Mun(e,t){return e.b-t.b}function Dun(e,t){return e.g-t.g}function Iun(e,t){return e?0:t-1}function KJe(e,t){return e?0:t-1}function Oun(e,t){return e?t-1:0}function Nun(e,t){return e.s-t.s}function Pun(e,t){return t.rg(e)}function tw(e,t){return e.b=t,e}function Gz(e,t){return e.a=t,e}function nw(e,t){return e.c=t,e}function rw(e,t){return e.d=t,e}function iw(e,t){return e.e=t,e}function o3e(e,t){return e.f=t,e}function f_(e,t){return e.a=t,e}function Tk(e,t){return e.b=t,e}function Ck(e,t){return e.c=t,e}function Qt(e,t){return e.c=t,e}function yn(e,t){return e.b=t,e}function Jt(e,t){return e.d=t,e}function Zt(e,t){return e.e=t,e}function Bun(e,t){return e.f=t,e}function en(e,t){return e.g=t,e}function tn(e,t){return e.a=t,e}function nn(e,t){return e.i=t,e}function rn(e,t){return e.j=t,e}function Fun(e,t){Sb(),Ic(t,e)}function Run(e,t,n){egn(e.a,t,n)}function Kz(e){gae.call(this,e)}function WJe(e){r5n.call(this,e)}function YJe(e){Mat.call(this,e)}function c3e(e){Mat.call(this,e)}function rb(e){Dw.call(this,e)}function XJe(e){roe.call(this,e)}function QJe(e){roe.call(this,e)}function JJe(){mye.call(this,"")}function qa(){this.a=0,this.b=0}function ZJe(){this.b=0,this.a=0}function eZe(e,t){e.b=0,Dy(e,t)}function tZe(e,t){return e.k=t,e}function jun(e,t){return e.j=t,e}function $un(e,t){e.c=t,e.b=!0}function nZe(){nZe=U,A6t=Q8n()}function ib(){ib=U,x_t=c8n()}function rZe(){rZe=U,La=yxn()}function u3e(){u3e=U,Jb=hE()}function Sk(){Sk=U,LPe=u8n()}function iZe(){iZe=U,sAt=l8n()}function l3e(){l3e=U,iu=akn()}function U0(e){return e.e&&e.e()}function sZe(e){return e.l|e.m<<22}function aZe(e,t){return e.c._b(t)}function oZe(e,t){return a1t(e.b,t)}function ise(e){return e?e.d:null}function zun(e){return e?e.g:null}function qun(e){return e?e.i:null}function _m(e){return Ug(e),e.o}function _5(e,t){return e.a+=t,e}function sse(e,t){return e.a+=t,e}function Kp(e,t){return e.a+=t,e}function sw(e,t){return e.a+=t,e}function h3e(e,t){for(;e.Bd(t););}function Wz(e){this.a=new N8(e)}function cZe(){throw ue(new Qr)}function uZe(){throw ue(new Qr)}function lZe(){throw ue(new Qr)}function hZe(){throw ue(new Qr)}function fZe(){throw ue(new Qr)}function dZe(){throw ue(new Qr)}function Wp(e){this.a=new Bae(e)}function gZe(){this.a=new UA(TIe)}function pZe(){this.b=new UA(HDe)}function bZe(){this.a=new UA(WIe)}function mZe(){this.b=new UA(bge)}function vZe(){this.b=new UA(bge)}function Yz(e){this.a=0,this.b=e}function f3e(e){Wvt(),NIn(this,e)}function _k(e){return db(e),e.a}function QI(e){return e.b!=e.d.c}function d3e(e,t){return e.d[t.p]}function wZe(e,t){return QCn(e,t)}function g3e(e,t,n){e.splice(t,n)}function A5(e,t){for(;e.Re(t););}function yZe(e){e.c?Nbt(e):Pbt(e)}function xZe(){throw ue(new Qr)}function kZe(){throw ue(new Qr)}function EZe(){throw ue(new Qr)}function TZe(){throw ue(new Qr)}function CZe(){throw ue(new Qr)}function SZe(){throw ue(new Qr)}function _Ze(){throw ue(new Qr)}function AZe(){throw ue(new Qr)}function LZe(){throw ue(new Qr)}function MZe(){throw ue(new Qr)}function Hun(){throw ue(new Lc)}function Vun(){throw ue(new Lc)}function JI(e){this.a=new DZe(e)}function DZe(e){Wwn(this,e,S9n())}function ZI(e){return!e||uat(e)}function eO(e){return Z1[e]!=-1}function Uun(){oK!=0&&(oK=0),cK=-1}function IZe(){v0e==null&&(v0e=[])}function tO(e,t){q5.call(this,e,t)}function Ak(e,t){tO.call(this,e,t)}function OZe(e,t){this.a=e,this.b=t}function NZe(e,t){this.a=e,this.b=t}function PZe(e,t){this.a=e,this.b=t}function BZe(e,t){this.a=e,this.b=t}function FZe(e,t){this.a=e,this.b=t}function RZe(e,t){this.a=e,this.b=t}function jZe(e,t){this.a=e,this.b=t}function Lk(e,t){this.e=e,this.d=t}function p3e(e,t){this.b=e,this.c=t}function $Ze(e,t){this.b=e,this.a=t}function zZe(e,t){this.b=e,this.a=t}function qZe(e,t){this.b=e,this.a=t}function HZe(e,t){this.b=e,this.a=t}function VZe(e,t){this.a=e,this.b=t}function ase(e,t){this.a=e,this.b=t}function UZe(e,t){this.a=e,this.f=t}function aw(e,t){this.g=e,this.i=t}function Ur(e,t){this.f=e,this.g=t}function GZe(e,t){this.b=e,this.c=t}function KZe(e){Cye(e.dc()),this.c=e}function Gun(e,t){this.a=e,this.b=t}function WZe(e,t){this.a=e,this.b=t}function YZe(e){this.a=l(Xr(e),15)}function b3e(e){this.a=l(Xr(e),15)}function XZe(e){this.a=l(Xr(e),85)}function Xz(e){this.b=l(Xr(e),85)}function Qz(e){this.b=l(Xr(e),51)}function Jz(){this.q=new b.Date}function ose(e,t){this.a=e,this.b=t}function QZe(e,t){return Uu(e.b,t)}function nO(e,t){return e.b.Hc(t)}function JZe(e,t){return e.b.Ic(t)}function ZZe(e,t){return e.b.Qc(t)}function eet(e,t){return e.b.Hc(t)}function tet(e,t){return e.c.uc(t)}function net(e,t){return Bi(e.c,t)}function G0(e,t){return e.a._b(t)}function ret(e,t){return e>t&&t0}function dse(e,t){return ou(e,t)<0}function yet(e,t){return Lae(e.a,t)}function hln(e,t){Eot.call(this,e,t)}function E3e(e){Wae(),cit.call(this,e)}function T3e(e,t){bst(e,e.length,t)}function aO(e,t){Vst(e,e.length,t)}function y_(e,t){return e.a.get(t)}function xet(e,t){return Uu(e.e,t)}function C3e(e){return nr(e),!1}function S3e(e){this.a=l(Xr(e),229)}function oq(e){kn.call(this,e,21)}function cq(e,t){Ur.call(this,e,t)}function gse(e,t){Ur.call(this,e,t)}function ket(e,t){this.b=e,this.a=t}function uq(e,t){this.d=e,this.e=t}function Eet(e,t){this.a=e,this.b=t}function Tet(e,t){this.a=e,this.b=t}function Cet(e,t){this.a=e,this.b=t}function _et(e,t){this.a=e,this.b=t}function B8(e,t){this.a=e,this.b=t}function Aet(e,t){this.b=e,this.a=t}function _3e(e,t){this.b=e,this.a=t}function A3e(e,t){Ur.call(this,e,t)}function L3e(e,t){Ur.call(this,e,t)}function L5(e,t){Ur.call(this,e,t)}function pse(e,t){Ur.call(this,e,t)}function bse(e,t){Ur.call(this,e,t)}function mse(e,t){Ur.call(this,e,t)}function lq(e,t){Ur.call(this,e,t)}function M3e(e,t){this.b=e,this.a=t}function hq(e,t){Ur.call(this,e,t)}function D3e(e,t){this.b=e,this.a=t}function fq(e,t){Ur.call(this,e,t)}function Let(e,t){this.b=e,this.a=t}function I3e(e,t){Ur.call(this,e,t)}function vse(e,t){Ur.call(this,e,t)}function oO(e,t){Ur.call(this,e,t)}function x_(e,t,n){e.splice(t,0,n)}function fln(e,t,n){e.Mb(n)&&t.Cd(n)}function dln(e,t,n){t.Pe(e.a.Ye(n))}function gln(e,t,n){t.Dd(e.a.Ze(n))}function pln(e,t,n){t.Cd(e.a.Kb(n))}function bln(e,t){return xl(e.c,t)}function mln(e,t){return xl(e.e,t)}function dq(e,t){Ur.call(this,e,t)}function gq(e,t){Ur.call(this,e,t)}function k_(e,t){Ur.call(this,e,t)}function O3e(e,t){Ur.call(this,e,t)}function Ks(e,t){Ur.call(this,e,t)}function pq(e,t){Ur.call(this,e,t)}function Met(e,t){this.a=e,this.b=t}function Det(e,t){this.a=e,this.b=t}function Iet(e,t){this.a=e,this.b=t}function Oet(e,t){this.a=e,this.b=t}function Net(e,t){this.a=e,this.b=t}function Pet(e,t){this.a=e,this.b=t}function Bet(e,t){this.b=e,this.a=t}function Fet(e,t){this.b=e,this.a=t}function N3e(e,t){this.b=e,this.a=t}function Ik(e,t){this.c=e,this.d=t}function Ret(e,t){this.e=e,this.d=t}function jet(e,t){this.a=e,this.b=t}function $et(e,t){this.a=e,this.b=t}function zet(e,t){this.a=e,this.b=t}function qet(e,t){this.b=e,this.a=t}function Het(e,t){this.b=t,this.c=e}function bq(e,t){Ur.call(this,e,t)}function cO(e,t){Ur.call(this,e,t)}function wse(e,t){Ur.call(this,e,t)}function P3e(e,t){Ur.call(this,e,t)}function E_(e,t){Ur.call(this,e,t)}function yse(e,t){Ur.call(this,e,t)}function xse(e,t){Ur.call(this,e,t)}function uO(e,t){Ur.call(this,e,t)}function B3e(e,t){Ur.call(this,e,t)}function kse(e,t){Ur.call(this,e,t)}function T_(e,t){Ur.call(this,e,t)}function F3e(e,t){Ur.call(this,e,t)}function C_(e,t){Ur.call(this,e,t)}function S_(e,t){Ur.call(this,e,t)}function ly(e,t){Ur.call(this,e,t)}function Ese(e,t){Ur.call(this,e,t)}function Tse(e,t){Ur.call(this,e,t)}function R3e(e,t){Ur.call(this,e,t)}function lO(e,t){Ur.call(this,e,t)}function M5(e,t){Ur.call(this,e,t)}function Cse(e,t){Ur.call(this,e,t)}function mq(e,t){Ur.call(this,e,t)}function hO(e,t){Ur.call(this,e,t)}function hy(e,t){Ur.call(this,e,t)}function vq(e,t){Ur.call(this,e,t)}function j3e(e,t){Ur.call(this,e,t)}function Sse(e,t){Ur.call(this,e,t)}function _se(e,t){Ur.call(this,e,t)}function Ase(e,t){Ur.call(this,e,t)}function Lse(e,t){Ur.call(this,e,t)}function Mse(e,t){Ur.call(this,e,t)}function Dse(e,t){Ur.call(this,e,t)}function Ise(e,t){Ur.call(this,e,t)}function Vet(e,t){this.b=e,this.a=t}function $3e(e,t){Ur.call(this,e,t)}function Uet(e,t){this.a=e,this.b=t}function Get(e,t){this.a=e,this.b=t}function Ket(e,t){this.a=e,this.b=t}function z3e(e,t){Ur.call(this,e,t)}function q3e(e,t){Ur.call(this,e,t)}function Wet(e,t){this.a=e,this.b=t}function vln(e,t){return jk(),t!=e}function fO(e){return mr(e.a),e.b}function Ose(e){return CEn(e,e.c),e}function Yet(){return nZe(),new A6t}function Xet(){Xq(),this.a=new s4e}function Qet(){OU(),this.a=new Gs}function Jet(){doe(),this.b=new Gs}function Zet(e,t){this.b=e,this.d=t}function ett(e,t){this.a=e,this.b=t}function ttt(e,t){this.a=e,this.b=t}function ntt(e,t){this.a=e,this.b=t}function rtt(e,t){this.b=e,this.a=t}function H3e(e,t){Ur.call(this,e,t)}function V3e(e,t){Ur.call(this,e,t)}function wq(e,t){Ur.call(this,e,t)}function uw(e,t){Ur.call(this,e,t)}function Nse(e,t){Ur.call(this,e,t)}function yq(e,t){Ur.call(this,e,t)}function U3e(e,t){Ur.call(this,e,t)}function G3e(e,t){Ur.call(this,e,t)}function dO(e,t){Ur.call(this,e,t)}function K3e(e,t){Ur.call(this,e,t)}function Pse(e,t){Ur.call(this,e,t)}function xq(e,t){Ur.call(this,e,t)}function Bse(e,t){Ur.call(this,e,t)}function Fse(e,t){Ur.call(this,e,t)}function Rse(e,t){Ur.call(this,e,t)}function jse(e,t){Ur.call(this,e,t)}function W3e(e,t){Ur.call(this,e,t)}function $se(e,t){Ur.call(this,e,t)}function Y3e(e,t){Ur.call(this,e,t)}function gO(e,t){Ur.call(this,e,t)}function zse(e,t){Ur.call(this,e,t)}function X3e(e,t){Ur.call(this,e,t)}function pO(e,t){Ur.call(this,e,t)}function Q3e(e,t){Ur.call(this,e,t)}function itt(e,t){this.b=e,this.a=t}function stt(e,t){this.b=e,this.a=t}function att(e,t){this.b=e,this.a=t}function ott(e,t){this.b=e,this.a=t}function J3e(e,t){this.a=e,this.b=t}function ctt(e,t){this.a=e,this.b=t}function utt(e,t){this.a=e,this.b=t}function lt(e,t){this.a=e,this.b=t}function __(e,t){Ur.call(this,e,t)}function bO(e,t){Ur.call(this,e,t)}function F8(e,t){Ur.call(this,e,t)}function A_(e,t){Ur.call(this,e,t)}function mO(e,t){Ur.call(this,e,t)}function qse(e,t){Ur.call(this,e,t)}function kq(e,t){Ur.call(this,e,t)}function L_(e,t){Ur.call(this,e,t)}function Hse(e,t){Ur.call(this,e,t)}function Eq(e,t){Ur.call(this,e,t)}function D5(e,t){Ur.call(this,e,t)}function vO(e,t){Ur.call(this,e,t)}function M_(e,t){Ur.call(this,e,t)}function D_(e,t){Ur.call(this,e,t)}function wO(e,t){Ur.call(this,e,t)}function Tq(e,t){Ur.call(this,e,t)}function I5(e,t){Ur.call(this,e,t)}function Vse(e,t){Ur.call(this,e,t)}function ltt(e,t){Ur.call(this,e,t)}function Cq(e,t){Ur.call(this,e,t)}function htt(e,t){this.a=e,this.b=t}function ftt(e,t){this.a=e,this.b=t}function dtt(e,t){this.a=e,this.b=t}function gtt(e,t){this.a=e,this.b=t}function ptt(e,t){this.a=e,this.b=t}function btt(e,t){this.a=e,this.b=t}function ua(e,t){this.a=e,this.b=t}function mtt(e,t){this.a=e,this.b=t}function vtt(e,t){this.a=e,this.b=t}function wtt(e,t){this.a=e,this.b=t}function ytt(e,t){this.a=e,this.b=t}function xtt(e,t){this.a=e,this.b=t}function ktt(e,t){this.a=e,this.b=t}function Ett(e,t){this.b=e,this.a=t}function Ttt(e,t){this.b=e,this.a=t}function Ctt(e,t){this.b=e,this.a=t}function Stt(e,t){this.b=e,this.a=t}function _tt(e,t){this.a=e,this.b=t}function Att(e,t){this.a=e,this.b=t}function Sq(e,t){Ur.call(this,e,t)}function Ltt(e,t){this.a=e,this.b=t}function Mtt(e,t){this.a=e,this.b=t}function R8(e,t){Ur.call(this,e,t)}function Dtt(e,t){this.f=e,this.c=t}function Z3e(e,t){return xl(e.g,t)}function wln(e,t){return xl(t.b,e)}function Itt(e,t){return Wce(e.a,t)}function yln(e,t){return-e.b.af(t)}function xln(e,t){e&&Ei(lF,e,t)}function eye(e,t){e.i=null,kV(e,t)}function kln(e,t,n){Egt(t,$ue(e,n))}function Eln(e,t,n){Egt(t,$ue(e,n))}function Tln(e,t){JTn(e.a,l(t,58))}function Ott(e,t){Wvn(e.a,l(t,12))}function _q(e,t){this.a=e,this.b=t}function Ntt(e,t){this.a=e,this.b=t}function Ptt(e,t){this.a=e,this.b=t}function Btt(e,t){this.a=e,this.b=t}function Ftt(e,t){this.a=e,this.b=t}function Rtt(e,t){this.d=e,this.b=t}function jtt(e,t){this.e=e,this.a=t}function yO(e,t){this.b=e,this.c=t}function tye(e,t){this.i=e,this.g=t}function nye(e,t){this.d=e,this.e=t}function Cln(e,t){uwn(new or(e),t)}function Aq(e){return FN(e.c,e.b)}function fc(e){return e?e.md():null}function qe(e){return e??null}function Ia(e){return typeof e===Ole}function fy(e){return typeof e===Cx}function dy(e){return typeof e===Jke}function lw(e,t){return ou(e,t)==0}function Lq(e,t){return ou(e,t)>=0}function I_(e,t){return ou(e,t)!=0}function Mq(e,t){return S3n(e.Kc(),t)}function ob(e,t){return e.Rd().Xb(t)}function $tt(e){return Jl(e),e.d.gc()}function Dq(e){return V_(e==null),e}function O_(e,t){return e.a+=""+t,e}function Qo(e,t){return e.a+=""+t,e}function N_(e,t){return e.a+=""+t,e}function Eu(e,t){return e.a+=""+t,e}function fi(e,t){return e.a+=""+t,e}function rye(e,t){return e.a+=""+t,e}function Sln(e){return""+(nr(e),e)}function ztt(e){Pl(this),bA(this,e)}function qtt(){G5e(),J4e.call(this)}function Htt(e,t){r5e.call(this,e,t)}function Vtt(e,t){r5e.call(this,e,t)}function Iq(e,t){r5e.call(this,e,t)}function yo(e,t){_s(e,t,e.c.b,e.c)}function O5(e,t){_s(e,t,e.a,e.a.a)}function iye(e){return Sn(e,0),null}function Utt(){this.b=0,this.a=!1}function Gtt(){this.b=0,this.a=!1}function Ktt(){this.b=new N8(Ly(12))}function Wtt(){Wtt=U,k7t=Kr(tue())}function Ytt(){Ytt=U,V8t=Kr(sbt())}function Xtt(){Xtt=U,dTt=Kr(Rft())}function sye(){sye=U,Swe(),WSe=new Pr}function K0(e){return e.a=0,e.b=0,e}function Qtt(e,t){return e.a=t.g+1,e}function Use(e,t){vy.call(this,e,t)}function pn(e,t){ws.call(this,e,t)}function N5(e,t){tye.call(this,e,t)}function Jtt(e,t){TO.call(this,e,t)}function Gse(e,t){mE.call(this,e,t)}function xi(e,t){sq(),Ei(EY,e,t)}function Ztt(e,t){e.q.setTime(Fm(t))}function _ln(e){b.clearTimeout(e)}function Aln(e){return Xr(e),new P_(e)}function ent(e,t){return qe(e)===qe(t)}function tnt(e,t){return e.a.a.a.cc(t)}function Kse(e,t){return ef(e.a,0,t)}function aye(e){return Dgn(l(e,74))}function j8(e){return la((nr(e),e))}function Lln(e){return la((nr(e),e))}function nnt(e){return Vu(e.l,e.m,e.h)}function oye(e,t){return au(e.a,t.a)}function Mln(e,t){return qst(e.a,t.a)}function Dln(e,t){return Yi(e.a,t.a)}function fd(e,t){return e.indexOf(t)}function Iln(e,t){return e.j[t.p]==2}function hw(e,t){return e==t?0:e?1:-1}function Oq(e){return e<10?"0"+e:""+e}function xc(e){return typeof e===Jke}function Oln(e){return e==o3||e==c4}function Nln(e){return e==o3||e==o4}function rnt(e,t){return au(e.g,t.g)}function cye(e){return pc(e.b.b,e,0)}function int(){aH.call(this,0,0,0,0)}function dd(){wr.call(this,new t2)}function uye(e,t){nE(e,0,e.length,t)}function Pln(e,t){return vt(e.a,t),t}function Bln(e,t){return c0(),t.a+=e}function Fln(e,t){return c0(),t.a+=e}function Rln(e,t){return c0(),t.c+=e}function jln(e,t){return vt(e.c,t),e}function lye(e,t){return Ih(e.a,t),e}function snt(e){this.a=Yet(),this.b=e}function ant(e){this.a=Yet(),this.b=e}function xo(e){this.a=e.a,this.b=e.b}function P_(e){this.a=e,GS.call(this)}function ont(e){this.a=e,GS.call(this)}function $8(){Zh.call(this,0,0,0,0)}function Nq(e){return Ih(new Ys,e)}function cnt(e){return TH(l(e,123))}function dh(e){return e.vh()&&e.wh()}function P5(e){return e!=X1&&e!=Yb}function Vg(e){return e==lc||e==wc}function B5(e){return e==vf||e==W1}function unt(e){return e==G6||e==U6}function $ln(e,t){return au(e.g,t.g)}function lnt(e,t){return new mE(t,e)}function zln(e,t){return new mE(t,e)}function hye(e){return cdn(e.b.Kc(),e.a)}function Wse(e,t){CE(e,t),lE(e,e.D)}function Yse(e,t,n){gV(e,t),dV(e,n)}function F5(e,t,n){Ow(e,t),Iw(e,n)}function Xh(e,t,n){Ku(e,t),Wu(e,n)}function xO(e,t,n){aE(e,t),cE(e,n)}function kO(e,t,n){oE(e,t),uE(e,n)}function hnt(e,t,n){Kye.call(this,e,t,n)}function fye(e){Dtt.call(this,e,!0)}function fnt(){cq.call(this,"Tail",3)}function dnt(){cq.call(this,"Head",1)}function cb(e){kd(),k3n.call(this,e)}function fw(e){aH.call(this,e,e,e,e)}function Xse(e){e.c=We(wa,Rn,1,0,5,1)}function dye(e){return e.b&&ple(e),e.a}function gye(e){return e.b&&ple(e),e.c}function qln(e,t){H1||(e.b=t)}function Hln(e,t){return e[e.length]=t}function Vln(e,t){return e[e.length]=t}function Uln(e,t){return My(t,_1(e))}function Gln(e,t){return My(t,_1(e))}function Kln(e,t){return wV(Gae(e.d),t)}function Wln(e,t){return wV(Gae(e.g),t)}function Yln(e,t){return wV(Gae(e.j),t)}function Ha(e,t){ws.call(this,e.b,t)}function Xln(e,t){qr(bu(e.a),Not(t))}function Qln(e,t){qr(Ql(e.a),Pot(t))}function Jln(e,t,n){Xh(n,n.i+e,n.j+t)}function gnt(e,t,n){Ss(e.c[t.g],t.g,n)}function Zln(e,t,n){l(e.c,71).Gi(t,n)}function Qse(e,t,n){return Ss(e,t,n),n}function pnt(e){Gu(e.Sf(),new Die(e))}function R5(e){return e!=null?Zi(e):0}function ehn(e){return e==null?0:Zi(e)}function B_(e){Ii(),Jv.call(this,e)}function bnt(e){this.a=e,A4e.call(this,e)}function C1(){C1=U,b.Math.log(2)}function Qh(){Qh=U,Cg=(vet(),__t)}function mnt(){mnt=U,Dde=new LA(Uge)}function Jr(){Jr=U,new vnt,new bt}function vnt(){new Pr,new Pr,new Pr}function thn(){throw ue(new Vp(Z5t))}function nhn(){throw ue(new Vp(Z5t))}function rhn(){throw ue(new Vp(e6t))}function ihn(){throw ue(new Vp(e6t))}function Jse(e){this.a=e,Xz.call(this,e)}function Zse(e){this.a=e,Xz.call(this,e)}function wnt(e,t){xw(),this.a=e,this.b=t}function shn(e,t){Xr(t),V5(e).Jc(new ie)}function Hs(e,t){Mae(e.c,e.c.length,t)}function Dc(e){return e.at?1:0}function bye(e,t){return ou(e,t)>0?e:t}function Vu(e,t,n){return{l:e,m:t,h:n}}function ahn(e,t){e.a!=null&&Ott(t,e.a)}function ohn(e){fo(e,null),Ba(e,null)}function chn(e,t,n){return Ei(e.g,n,t)}function j5(e,t,n){return j8e(t,n,e.c)}function uhn(e,t,n){return Ei(e.k,n,t)}function lhn(e,t,n){return YMn(e,t,n),n}function hhn(e,t){return _h(),t.n.b+=e}function xnt(e){j5e.call(this),this.b=e}function mye(e){i4e.call(this),this.a=e}function knt(){cq.call(this,"Range",2)}function Pq(e){this.b=e,this.a=new bt}function Ent(e){this.b=new su,this.a=e}function Tnt(e){e.a=new kt,e.c=new kt}function Cnt(e){e.a=new Pr,e.d=new Pr}function Snt(e){goe(e,null),poe(e,null)}function _nt(e,t){return QMn(e.a,t,null)}function fhn(e,t){return Ei(e.a,t.a,t)}function Ja(e){return new lt(e.a,e.b)}function vye(e){return new lt(e.c,e.d)}function dhn(e){return new lt(e.c,e.d)}function F_(e,t){return uMn(e.c,e.b,t)}function De(e,t){return e!=null&&sue(e,t)}function eae(e,t){return nyn(e.Kc(),t)!=-1}function Bq(e){return e.Ob()?e.Pb():null}function ghn(e){this.b=(Cn(),new tr(e))}function wye(e){this.a=e,Pr.call(this)}function Ant(){TO.call(this,null,null)}function Lnt(){Hq.call(this,null,null)}function Mnt(){Ur.call(this,"INSTANCE",0)}function Dnt(){vxe(),this.a=new UA(pAe)}function Int(e){return Df(e,0,e.length)}function phn(e,t){return new Xnt(e.Kc(),t)}function yye(e,t){return e.a.Bc(t)!=null}function Ont(e,t){$r(e),e.Gc(l(t,15))}function bhn(e,t,n){e.c.bd(t,l(n,136))}function mhn(e,t,n){e.c.Ui(t,l(n,136))}function Nnt(e,t){e.c&&(z4e(t),aot(t))}function vhn(e,t){e.q.setHours(t),XA(e,t)}function whn(e,t){pw(t,e.a.a.a,e.a.a.b)}function yhn(e,t,n,r){Ss(e.a[t.g],n.g,r)}function tae(e,t,n){return e.a[t.g][n.g]}function xhn(e,t){return e.e[t.c.p][t.p]}function khn(e,t){return e.c[t.c.p][t.p]}function S1(e,t){return e.a[t.c.p][t.p]}function Ehn(e,t){return e.j[t.p]=NTn(t)}function nae(e,t){return e.a.Bc(t)!=null}function Thn(e,t){return ze(Ge(t.a))<=e}function Chn(e,t){return ze(Ge(t.a))>=e}function Shn(e,t){return T6e(e.f,t.Pg())}function z8(e,t){return e.a*t.a+e.b*t.b}function _hn(e,t){return e.a0?t/(e*e):t*100}function Jhn(e,t){return e>0?t*t/e:t*t*100}function gy(e,t){return l(O1(e.a,t),34)}function Zhn(e,t){return Sb(),xn(e,t.e,t)}function efn(e,t,n){return nq(),n.Mg(e,t)}function tfn(e){return ep(),e.e.a+e.f.a/2}function nfn(e,t,n){return ep(),n.e.a-e*t}function rfn(e){return ep(),e.e.b+e.f.b/2}function ifn(e,t,n){return ep(),n.e.b-e*t}function lrt(e){e.d=new ort(e),e.e=new Pr}function hrt(){this.a=new _w,this.b=new _w}function frt(e){this.c=e,this.a=1,this.b=1}function drt(e){Dle(),AQe(this),this.Ff(e)}function sfn(e,t,n){eV(),e.pf(t)&&n.Cd(e)}function afn(e,t,n){return vt(t,T1t(e,n))}function pw(e,t,n){return e.a+=t,e.b+=n,e}function ofn(e,t,n){return e.a*=t,e.b*=n,e}function Rye(e,t){return e.a=t.a,e.b=t.b,e}function Vq(e){return e.a=-e.a,e.b=-e.b,e}function z_(e,t,n){return e.a-=t,e.b-=n,e}function grt(e){as.call(this),fA(this,e)}function prt(){Ur.call(this,"GROW_TREE",0)}function brt(){Ur.call(this,"POLYOMINO",0)}function ph(e,t,n){Tl.call(this,e,t,n,2)}function cfn(e,t,n){_A(bu(e.a),t,Not(n))}function mrt(e,t){w_(),TO.call(this,e,t)}function jye(e,t){Yp(),Hq.call(this,e,t)}function vrt(e,t){Yp(),jye.call(this,e,t)}function wrt(e,t){Yp(),Hq.call(this,e,t)}function ufn(e,t){return e.c.Fc(l(t,136))}function lfn(e,t,n){_A(Ql(e.a),t,Pot(n))}function yrt(e){this.c=e,Ku(e,0),Wu(e,0)}function cae(e,t){Qh(),uH.call(this,e,t)}function xrt(e,t){Qh(),cae.call(this,e,t)}function $ye(e,t){Qh(),cae.call(this,e,t)}function zye(e,t){Qh(),uH.call(this,e,t)}function krt(e,t){Qh(),$ye.call(this,e,t)}function Ert(e,t){Qh(),zye.call(this,e,t)}function Trt(e,t){Qh(),uH.call(this,e,t)}function hfn(e,t,n){return t.zl(e.e,e.c,n)}function ffn(e,t,n){return t.Al(e.e,e.c,n)}function qye(e,t,n){return UU(lN(e,t),n)}function uae(e,t){return xb(e.e,l(t,54))}function dfn(e){return e==null?null:RDn(e)}function gfn(e){return e==null?null:D9n(e)}function pfn(e){return e==null?null:Ec(e)}function bfn(e){return e==null?null:Ec(e)}function Bt(e){return V_(e==null||fy(e)),e}function Ge(e){return V_(e==null||dy(e)),e}function Zr(e){return V_(e==null||Ia(e)),e}function Ug(e){e.o==null&&uTn(e)}function Hye(e){if(!e)throw ue(new YI)}function mfn(e){if(!e)throw ue(new jie)}function mr(e){if(!e)throw ue(new Lc)}function py(e){if(!e)throw ue(new vl)}function Crt(e){if(!e)throw ue(new Yh)}function Fk(){Fk=U,fF=new aJe,new oJe}function H5(){H5=U,Y6=new Ui("root")}function Vye(){oft.call(this),this.Bb|=Mo}function vfn(e,t){this.d=e,Mr(this),this.b=t}function Uye(e,t){Boe.call(this,e),this.a=t}function Gye(e,t){Boe.call(this,e),this.a=t}function Kye(e,t,n){XH.call(this,e,t,n,null)}function Srt(e,t,n){XH.call(this,e,t,n,null)}function _O(e,t){this.c=e,Lk.call(this,e,t)}function q_(e,t){this.a=e,_O.call(this,e,t)}function Wye(e){this.q=new b.Date(Fm(e))}function _rt(e){return e>8?0:e+1}function Art(e,t){H1||vt(e.a,t)}function wfn(e,t){return sO(),bE(t.d.i,e)}function yfn(e,t){return lx(),new imt(t,e)}function xfn(e,t,n){return e.Ne(t,n)<=0?n:t}function kfn(e,t,n){return e.Ne(t,n)<=0?t:n}function Efn(e,t){return l(O1(e.b,t),143)}function Tfn(e,t){return l(O1(e.c,t),233)}function lae(e){return l(jt(e.a,e.b),294)}function Lrt(e){return new lt(e.c,e.d+e.a)}function Mrt(e){return nr(e),e?1231:1237}function Drt(e){return _h(),unt(l(e,203))}function by(){by=U,H_e=un((wh(),Cv))}function Cfn(e,t){t.a?LEn(e,t):nae(e.a,t.b)}function AO(e,t,n){++e.j,e.tj(),Poe(e,t,n)}function Irt(e,t,n){++e.j,e.qj(t,e.Zi(t,n))}function Ort(e,t,n){var r;r=e.fd(t),r.Rb(n)}function Yye(e,t,n){return n=Ph(e,t,6,n),n}function Xye(e,t,n){return n=Ph(e,t,3,n),n}function Qye(e,t,n){return n=Ph(e,t,9,n),n}function pd(e,t){return UO(t,xEe),e.f=t,e}function Jye(e,t){return(t&Oi)%e.d.length}function Nrt(e,t,n){return Dke(e.c,e.b,t,n)}function Prt(e,t){this.c=e,Dw.call(this,t)}function Brt(e,t){this.a=e,yQe.call(this,t)}function LO(e,t){this.a=e,yQe.call(this,t)}function ws(e,t){Ui.call(this,e),this.a=t}function Zye(e,t){kwe.call(this,e),this.a=t}function hae(e,t){kwe.call(this,e),this.a=t}function Sfn(e){O8e.call(this,0,0),this.f=e}function Frt(e,t,n){return e.a+=Df(t,0,n),e}function MO(e){return!e.a&&(e.a=new pe),e.a}function e4e(e,t){var n;return n=e.e,e.e=t,n}function t4e(e,t){var n;return n=t,!!e.Fe(n)}function _fn(e,t){return Vn(),e==t?0:e?1:-1}function my(e,t){e.a.bd(e.b,t),++e.b,e.c=-1}function DO(e){e.b?DO(e.b):e.f.c.zc(e.e,e.d)}function Rrt(e){Pl(e.e),e.d.b=e.d,e.d.a=e.d}function Afn(e,t,n){Am(),Tie(e,t.Ve(e.a,n))}function n4e(e,t,n){return Q8(e,l(t,22),n)}function o0(e,t){return Uz(new Array(t),e)}function Lfn(e){return Yr(lb(e,32))^Yr(e)}function fae(e){return String.fromCharCode(e)}function Mfn(e){return e==null?null:e.message}function Dfn(e,t,n){return e.apply(t,n)}function Ifn(e,t){var n;n=e[hhe],n.call(e,t)}function Ofn(e,t){var n;n=e[hhe],n.call(e,t)}function Nfn(e,t){return sO(),!bE(t.d.i,e)}function r4e(e,t,n,r){aH.call(this,e,t,n,r)}function jrt(){Uq.call(this),this.a=new qa}function i4e(){this.n=new qa,this.o=new qa}function $rt(){this.b=new qa,this.c=new bt}function zrt(){this.a=new bt,this.b=new bt}function qrt(){this.a=new bm,this.b=new RQe}function s4e(){this.b=new t2,this.a=new t2}function Hrt(){this.b=new Gs,this.a=new Gs}function Vrt(){this.b=new Pr,this.a=new Pr}function Urt(){this.b=new pZe,this.a=new CS}function Grt(){this.a=new Yre,this.b=new Lee}function Krt(){this.a=new bt,this.d=new bt}function Uq(){this.n=new A8,this.i=new $8}function Wrt(e){this.a=(Dh(e,Xy),new Ru(e))}function Yrt(e){this.a=(Dh(e,Xy),new Ru(e))}function Pfn(e){return e<100?null:new rb(e)}function Bfn(e,t){return e.n.a=(nr(t),t+10)}function Ffn(e,t){return e.n.a=(nr(t),t+10)}function Rfn(e,t){return t==e||jE(AU(t),e)}function Xrt(e,t){return Ei(e.a,t,"")==null}function jfn(e,t){var n;return n=t.qi(e.a),n}function Ni(e,t){return e.a+=t.a,e.b+=t.b,e}function ma(e,t){return e.a-=t.a,e.b-=t.b,e}function $fn(e){return oy(e.j.c,0),e.a=-1,e}function a4e(e,t,n){return n=Ph(e,t,11,n),n}function zfn(e,t,n){n!=null&&yV(t,bue(e,n))}function qfn(e,t,n){n!=null&&xV(t,bue(e,n))}function V8(e,t,n,r){nt.call(this,e,t,n,r)}function o4e(e,t,n,r){nt.call(this,e,t,n,r)}function Qrt(e,t,n,r){o4e.call(this,e,t,n,r)}function Jrt(e,t,n,r){bH.call(this,e,t,n,r)}function dae(e,t,n,r){bH.call(this,e,t,n,r)}function c4e(e,t,n,r){bH.call(this,e,t,n,r)}function Zrt(e,t,n,r){dae.call(this,e,t,n,r)}function u4e(e,t,n,r){dae.call(this,e,t,n,r)}function An(e,t,n,r){c4e.call(this,e,t,n,r)}function eit(e,t,n,r){u4e.call(this,e,t,n,r)}function tit(e,t,n,r){o5e.call(this,e,t,n,r)}function vy(e,t){nc.call(this,CL+e+av+t)}function l4e(e,t){return e.jk().wi().ri(e,t)}function h4e(e,t){return e.jk().wi().ti(e,t)}function nit(e,t){return nr(e),qe(e)===qe(t)}function wn(e,t){return nr(e),qe(e)===qe(t)}function Hfn(e,t){return e.b.Bd(new Tet(e,t))}function Vfn(e,t){return e.b.Bd(new Cet(e,t))}function rit(e,t){return e.b.Bd(new _et(e,t))}function Ufn(e,t){return e.e=l(e.d.Kb(t),159)}function f4e(e,t,n){return e.lastIndexOf(t,n)}function Gfn(e,t,n){return Yi(e[t.a],e[n.a])}function Kfn(e,t){return rt(t,(Nt(),TB),e)}function Wfn(e,t){return au(t.a.d.p,e.a.d.p)}function Yfn(e,t){return au(e.a.d.p,t.a.d.p)}function Xfn(e,t){return Yi(e.c-e.s,t.c-t.s)}function Qfn(e,t){return Yi(e.b.e.a,t.b.e.a)}function Jfn(e,t){return Yi(e.c.e.a,t.c.e.a)}function iit(e){return e.c?pc(e.c.a,e,0):-1}function U8(e){return e==Tv||e==Eg||e==Nu}function d4e(e,t){this.c=e,$ae.call(this,e,t)}function sit(e,t,n){this.a=e,Pye.call(this,t,n)}function ait(e){this.c=e,Iq.call(this,EP,0)}function oit(e,t,n){this.c=t,this.b=n,this.a=e}function IO(e){jk(),this.d=e,this.a=new z5}function cit(e){bd(),this.a=(Cn(),new Ek(e))}function Zfn(e,t){Vg(e.f)?tTn(e,t):Ixn(e,t)}function uit(e,t){fdn.call(this,e,e.length,t)}function e0n(e,t){H1||t&&(e.d=t)}function lit(e,t){return De(t,15)&&Rbt(e.c,t)}function t0n(e,t,n){return l(e.c,71).Wk(t,n)}function Gq(e,t,n){return l(e.c,71).Xk(t,n)}function n0n(e,t,n){return hfn(e,l(t,343),n)}function g4e(e,t,n){return ffn(e,l(t,343),n)}function r0n(e,t,n){return Dgt(e,l(t,343),n)}function hit(e,t,n){return Uxn(e,l(t,343),n)}function H_(e,t){return t==null?null:Ny(e.b,t)}function p4e(e){return dy(e)?(nr(e),e):e.ue()}function Kq(e){return!isNaN(e)&&!isFinite(e)}function gae(e){Tnt(this),Sh(this),Ka(this,e)}function Nl(e){Xse(this),D4e(this.c,0,e.Pc())}function Jh(e,t,n){this.a=e,this.b=t,this.c=n}function fit(e,t,n){this.a=e,this.b=t,this.c=n}function dit(e,t,n){this.d=e,this.b=n,this.a=t}function git(e){this.a=e,Hg(),nu(Date.now())}function pit(e){mh(e.a),M6e(e.c,e.b),e.b=null}function pae(){pae=U,b_e=new Et,L6t=new Gt}function bit(){bit=U,I_t=We(wa,Rn,1,0,5,1)}function mit(){mit=U,X_t=We(wa,Rn,1,0,5,1)}function b4e(){b4e=U,Q_t=We(wa,Rn,1,0,5,1)}function bd(){bd=U,new Cwe((Cn(),Cn(),Co))}function i0n(e){return rE(),Gr((Elt(),I6t),e)}function s0n(e){return Rl(),Gr((dlt(),R6t),e)}function a0n(e){return eU(),Gr((Jct(),V6t),e)}function o0n(e){return oV(),Gr((Zct(),U6t),e)}function c0n(e){return BU(),Gr((Jft(),G6t),e)}function u0n(e){return Z0(),Gr((hlt(),Y6t),e)}function l0n(e){return Fl(),Gr((llt(),Q6t),e)}function h0n(e){return ul(),Gr((flt(),Z6t),e)}function f0n(e){return XU(),Gr((Wtt(),k7t),e)}function d0n(e){return Fw(),Gr((Clt(),T7t),e)}function g0n(e){return bx(),Gr((_lt(),S7t),e)}function p0n(e){return NA(),Gr((Slt(),L7t),e)}function b0n(e){return eq(),Gr((Tct(),M7t),e)}function m0n(e){return cV(),Gr((eut(),K7t),e)}function v0n(e){return lA(),Gr((glt(),w8t),e)}function w0n(e){return oo(),Gr((cht(),E8t),e)}function y0n(e){return wE(),Gr((Llt(),A8t),e)}function x0n(e){return Km(),Gr((Alt(),N8t),e)}function m4e(e,t){if(!e)throw ue(new Yn(t))}function Rk(e){if(!e)throw ue(new rc(Zke))}function bae(e,t){if(e!=t)throw ue(new Yh)}function vit(e,t,n){this.a=e,this.b=t,this.c=n}function v4e(e,t,n){this.a=e,this.b=t,this.c=n}function wit(e,t,n){this.a=e,this.b=t,this.c=n}function Wq(e,t,n){this.b=e,this.a=t,this.c=n}function w4e(e,t,n){this.b=e,this.c=t,this.a=n}function y4e(e,t,n){this.a=e,this.b=t,this.c=n}function Yq(e,t,n){this.e=t,this.b=e,this.d=n}function yit(e,t,n){this.b=e,this.a=t,this.c=n}function k0n(e,t,n){return Am(),e.a.Yd(t,n),t}function mae(e){var t;return t=new Po,t.e=e,t}function x4e(e){var t;return t=new HQe,t.b=e,t}function OO(){OO=U,SK=new bZ,_K=new gj}function Xq(){Xq=U,Y8t=new _Z,W8t=new bS}function c0(){c0=U,ext=new see,txt=new aee}function E0n(e){return Pw(),Gr((Uut(),hxt),e)}function T0n(e){return bo(),Gr((Ytt(),V8t),e)}function C0n(e){return OV(),Gr((Dlt(),K8t),e)}function S0n(e){return P1(),Gr((Mlt(),ixt),e)}function _0n(e){return jy(),Gr((uht(),axt),e)}function A0n(e){return NU(),Gr((Fft(),fxt),e)}function L0n(e){return yx(),Gr((Nht(),dxt),e)}function M0n(e){return ZH(),Gr((out(),gxt),e)}function D0n(e){return dA(),Gr((Hut(),pxt),e)}function I0n(e){return bV(),Gr((Vut(),bxt),e)}function O0n(e){return h2(),Gr((lht(),mxt),e)}function N0n(e){return pN(),Gr((rut(),vxt),e)}function P0n(e){return zE(),Gr((Fht(),Txt),e)}function B0n(e){return Ho(),Gr((g0t(),Cxt),e)}function F0n(e){return vE(),Gr((Kut(),Sxt),e)}function R0n(e){return Zg(),Gr((Wut(),Axt),e)}function j0n(e){return qH(),Gr((nut(),Lxt),e)}function $0n(e){return WN(),Gr((Bht(),Ext),e)}function z0n(e){return Vm(),Gr((Gut(),yxt),e)}function q0n(e){return xU(),Gr((Pht(),xxt),e)}function H0n(e){return cN(),Gr((iut(),kxt),e)}function V0n(e){return lf(),Gr((fht(),Mxt),e)}function U0n(e){return b2(),Gr((Yft(),eEt),e)}function G0n(e){return EA(),Gr((Yut(),tEt),e)}function K0n(e){return Fy(),Gr((Ilt(),nEt),e)}function W0n(e){return OA(),Gr((hht(),rEt),e)}function Y0n(e){return Of(),Gr((p0t(),iEt),e)}function X0n(e){return yd(),Gr((Olt(),sEt),e)}function Q0n(e){return dN(),Gr((sut(),aEt),e)}function J0n(e){return qo(),Gr((Jut(),cEt),e)}function Z0n(e){return MV(),Gr((Xut(),uEt),e)}function e1n(e){return yA(),Gr((Qut(),lEt),e)}function t1n(e){return SE(),Gr((Zut(),hEt),e)}function n1n(e){return pV(),Gr((elt(),fEt),e)}function r1n(e){return NV(),Gr((tlt(),dEt),e)}function i1n(e){return Nw(),Gr((ult(),LEt),e)}function s1n(e){return oA(),Gr((aut(),NEt),e)}function a1n(e){return vd(),Gr((lut(),zEt),e)}function o1n(e){return A1(),Gr((hut(),HEt),e)}function c1n(e){return X0(),Gr((fut(),iTt),e)}function u1n(e){return Aw(),Gr((dut(),hTt),e)}function l1n(e){return wx(),Gr(($lt(),fTt),e)}function h1n(e){return WA(),Gr((Xtt(),dTt),e)}function f1n(e){return xA(),Gr((nlt(),gTt),e)}function d1n(e){return kA(),Gr((jlt(),FTt),e)}function g1n(e){return jH(),Gr((cut(),RTt),e)}function p1n(e){return EV(),Gr((uut(),HTt),e)}function b1n(e){return mU(),Gr((dht(),UTt),e)}function m1n(e){return LN(),Gr((rlt(),KTt),e)}function v1n(e){return tV(),Gr((gut(),GTt),e)}function w1n(e){return lU(),Gr((Rlt(),dCt),e)}function y1n(e){return LV(),Gr((ilt(),gCt),e)}function x1n(e){return YV(),Gr((slt(),pCt),e)}function k1n(e){return aU(),Gr((alt(),mCt),e)}function E1n(e){return HV(),Gr((olt(),yCt),e)}function T1n(e){return KH(),Gr((put(),zCt),e)}function C1n(e){return dE(),Gr((tut(),H8t),e)}function S1n(e){return Zn(),Gr((Rht(),R8t),e)}function _1n(e){return nV(),Gr((clt(),qCt),e)}function A1n(e){return dce(),Gr((but(),HCt),e)}function L1n(e){return VA(),Gr((ght(),UCt),e)}function M1n(e){return rq(),Gr((Ict(),KCt),e)}function D1n(e){return PN(),Gr((blt(),GCt),e)}function I1n(e){return iq(),Gr((Oct(),YCt),e)}function O1n(e){return rN(),Gr((mut(),XCt),e)}function N1n(e){return XN(),Gr((pht(),QCt),e)}function P1n(e){return b_(),Gr((Nct(),dSt),e)}function B1n(e){return CN(),Gr((vut(),gSt),e)}function F1n(e){return t1(),Gr((mht(),ySt),e)}function R1n(e){return p2(),Gr((Pft(),kSt),e)}function j1n(e){return ag(),Gr((jht(),ESt),e)}function $1n(e){return Ym(),Gr(($ht(),LSt),e)}function z1n(e){return Qs(),Gr((bht(),WSt),e)}function q1n(e){return N1(),Gr((mlt(),YSt),e)}function H1n(e){return rp(),Gr((zlt(),XSt),e)}function V1n(e){return wU(),Gr((zht(),QSt),e)}function U1n(e){return np(),Gr((plt(),ZSt),e)}function G1n(e){return Oh(),Gr((qlt(),t_t),e)}function K1n(e){return Hy(),Gr((Qft(),n_t),e)}function W1n(e){return t6(),Gr((vht(),r_t),e)}function Y1n(e){return Fa(),Gr((qht(),i_t),e)}function X1n(e){return jl(),Gr((Hht(),s_t),e)}function Q1n(e){return St(),Gr((wht(),a_t),e)}function J1n(e){return wh(),Gr((Hlt(),h_t),e)}function Z1n(e){return eh(),Gr((Xft(),f_t),e)}function edn(e){return dx(),Gr((vlt(),d_t),e)}function tdn(e,t){return nr(e),e+(nr(t),t)}function ndn(e){return vae(),Gr((wut(),g_t),e)}function rdn(e){return UV(),Gr((Vlt(),p_t),e)}function idn(e){return PV(),Gr((Ult(),v_t),e)}function jk(){jk=U,zDe=(St(),er),IW=ar}function vae(){vae=U,iPe=new Xit,sPe=new Pst}function sdn(e){return!e.e&&(e.e=new bt),e.e}function wae(e,t){this.c=e,this.a=t,this.b=t-e}function xit(e,t,n){this.a=e,this.b=t,this.c=n}function yae(e,t,n){this.a=e,this.b=t,this.c=n}function k4e(e,t,n){this.a=e,this.b=t,this.c=n}function E4e(e,t,n){this.a=e,this.b=t,this.c=n}function kit(e,t,n){this.a=e,this.b=t,this.c=n}function Eit(e,t,n){this.a=e,this.b=t,this.c=n}function Qp(e,t,n){this.e=e,this.a=t,this.c=n}function Tit(e,t,n){Qh(),z5e.call(this,e,t,n)}function xae(e,t,n){Qh(),T5e.call(this,e,t,n)}function T4e(e,t,n){Qh(),T5e.call(this,e,t,n)}function C4e(e,t,n){Qh(),T5e.call(this,e,t,n)}function Cit(e,t,n){Qh(),xae.call(this,e,t,n)}function S4e(e,t,n){Qh(),xae.call(this,e,t,n)}function Sit(e,t,n){Qh(),S4e.call(this,e,t,n)}function _it(e,t,n){Qh(),T4e.call(this,e,t,n)}function Ait(e,t,n){Qh(),C4e.call(this,e,t,n)}function kae(e){aH.call(this,e.d,e.c,e.a,e.b)}function _4e(e){aH.call(this,e.d,e.c,e.a,e.b)}function A4e(e){this.d=e,Mr(this),this.b=ign(e.d)}function adn(e){return HE(),Gr((Bft(),D_t),e)}function NO(e,t){return Xr(e),Xr(t),new NZe(e,t)}function G8(e,t){return Xr(e),Xr(t),new zit(e,t)}function odn(e,t){return Xr(e),Xr(t),new qit(e,t)}function cdn(e,t){return Xr(e),Xr(t),new HZe(e,t)}function Eae(e){return mr(e.b!=0),sf(e,e.a.a)}function udn(e){return mr(e.b!=0),sf(e,e.c.b)}function ldn(e){return!e.c&&(e.c=new Yd),e.c}function $k(e){var t;return t=new bt,Koe(t,e),t}function hdn(e){var t;return t=new Gs,Koe(t,e),t}function Lit(e){var t;return t=new Mwe,ace(t,e),t}function PO(e){var t;return t=new as,ace(t,e),t}function l(e,t){return V_(e==null||sue(e,t)),e}function fdn(e,t,n){Ast.call(this,t,n),this.a=e}function Mit(e,t){this.c=e,this.b=t,this.a=!1}function Dit(){this.a=";,;",this.b="",this.c=""}function Iit(e,t,n){this.b=e,Htt.call(this,t,n)}function L4e(e,t,n){this.c=e,uq.call(this,t,n)}function M4e(e,t,n){Ik.call(this,e,t),this.b=n}function D4e(e,t,n){E9e(n,0,e,t,n.length,!1)}function eg(e,t,n,r,a){e.b=t,e.c=n,e.d=r,e.a=a}function I4e(e,t,n,r,a){e.d=t,e.c=n,e.a=r,e.b=a}function ddn(e,t){t&&(e.b=t,e.a=(db(t),t.a))}function BO(e,t){if(!e)throw ue(new Yn(t))}function K8(e,t){if(!e)throw ue(new rc(t))}function O4e(e,t){if(!e)throw ue(new RJe(t))}function gdn(e,t){return tq(),au(e.d.p,t.d.p)}function pdn(e,t){return ep(),Yi(e.e.b,t.e.b)}function bdn(e,t){return ep(),Yi(e.e.a,t.e.a)}function mdn(e,t){return au(Kit(e.d),Kit(t.d))}function Qq(e,t){return t&&xH(e,t.d)?t:null}function vdn(e,t){return t==(St(),er)?e.c:e.d}function N4e(e){return vb(mgn(xc(e)?Lf(e):e))}function wdn(e){return new lt(e.c+e.b,e.d+e.a)}function Oit(e){return e!=null&&!Vce(e,$M,zM)}function ydn(e,t){return(h1t(e)<<4|h1t(t))&Js}function Nit(e,t,n,r,a){e.c=t,e.d=n,e.b=r,e.a=a}function P4e(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function B4e(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function xdn(e,t){var n;return n=e.c,g7e(e,t),n}function F4e(e,t){return t<0?e.g=-1:e.g=t,e}function Jq(e,t){return Lwn(e),e.a*=t,e.b*=t,e}function Pit(e,t,n){Lht.call(this,t,n),this.d=e}function FO(e,t,n){nye.call(this,e,t),this.c=n}function Zq(e,t,n){nye.call(this,e,t),this.c=n}function R4e(e){b4e(),m5.call(this),this.ci(e)}function Bit(){eE(),qgn.call(this,(sb(),Uf))}function Fit(e){return Ii(),new tg(0,e)}function Rit(){Rit=U,ape=(Cn(),new Da(u0e))}function eH(){eH=U,new Y8e((Kie(),x0e),(Gie(),y0e))}function jit(){jit=U,n_e=We(ro,dt,17,256,0,1)}function $it(){this.b=ze(Ge(It((p0(),e1e))))}function Tae(e){this.b=e,this.a=Mm(this.b.a).Od()}function zit(e,t){this.b=e,this.a=t,GS.call(this)}function qit(e,t){this.a=e,this.b=t,GS.call(this)}function Hit(e,t,n){this.a=e,N5.call(this,t,n)}function Vit(e,t,n){this.a=e,N5.call(this,t,n)}function zk(e,t,n){var r;r=new xy(n),J0(e,t,r)}function j4e(e,t,n){var r;return r=e[t],e[t]=n,r}function tH(e){var t;return t=e.slice(),$oe(t,e)}function nH(e){var t;return t=e.n,e.a.b+t.d+t.a}function Uit(e){var t;return t=e.n,e.e.b+t.d+t.a}function $4e(e){var t;return t=e.n,e.e.a+t.b+t.c}function z4e(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function li(e,t){return _s(e,t,e.c.b,e.c),!0}function kdn(e){return e.a?e.a:Jae(e)}function Edn(e){return tx(),og(e)==gs(Tb(e))}function Tdn(e){return tx(),Tb(e)==gs(og(e))}function bw(e,t){return RA(e,new Ik(t.a,t.b))}function Cdn(e,t){return EH(),due(e,t),new dat(e,t)}function Sdn(e,t){return e.c=t)throw ue(new Fwe)}function wy(e,t){return ON(e,(nr(t),new wo(t)))}function Y8(e,t){return ON(e,(nr(t),new fh(t)))}function Mst(e,t,n){return JIn(e,l(t,12),l(n,12))}function Dst(e){return Cl(),l(e,12).g.c.length!=0}function Ist(e){return Cl(),l(e,12).e.c.length!=0}function lgn(e,t){return lx(),Yi(t.a.o.a,e.a.o.a)}function hgn(e,t){t.Bb&ru&&!e.a.o&&(e.a.o=t)}function fgn(e,t){t.Ug("General 'Rotator",1),SDn(e)}function dgn(e,t,n){t.qf(n,ze(Ge(cr(e.b,n)))*e.a)}function Ost(e,t,n){return h6(),gE(e,t)&&gE(e,n)}function W_(e){return jl(),!e.Hc(mp)&&!e.Hc(Xb)}function ggn(e){return e.e?A6e(e.e):null}function Y_(e){return xc(e)?""+e:Fbt(e)}function a5e(e){var t;for(t=e;t.f;)t=t.f;return t}function pgn(e,t,n){return Ss(t,0,G4e(t[0],n[0])),t}function Jp(e,t,n,r){var a;a=e.i,a.i=t,a.a=n,a.b=r}function nt(e,t,n,r){Ws.call(this,e,t,n),this.b=r}function _a(e,t,n,r,a){Roe.call(this,e,t,n,r,a,-1)}function X_(e,t,n,r,a){sN.call(this,e,t,n,r,a,-1)}function bH(e,t,n,r){FO.call(this,e,t,n),this.b=r}function Nst(e){Dtt.call(this,e,!1),this.a=!1}function Pst(){ltt.call(this,"LOOKAHEAD_LAYOUT",1)}function Bst(e){this.b=e,q8.call(this,e),znt(this)}function Fst(e){this.b=e,CO.call(this,e),qnt(this)}function yy(e,t,n){this.a=e,V8.call(this,t,n,5,6)}function o5e(e,t,n,r){this.b=e,Ws.call(this,t,n,r)}function Rst(e,t){this.b=e,zg.call(this,e.b),this.a=t}function jst(e){this.a=kdt(e.a),this.b=new Nl(e.b)}function c5e(e,t){xw(),Gun.call(this,e,jV(new Ol(t)))}function mH(e,t){return Ii(),new E5e(e,t,0)}function Fae(e,t){return Ii(),new E5e(6,e,t)}function Za(e,t){for(nr(t);e.Ob();)t.Cd(e.Pb())}function Uu(e,t){return Ia(t)?aoe(e,t):!!zo(e.f,t)}function Rae(e,t){return t.Vh()?xb(e.b,l(t,54)):t}function bgn(e,t){return wn(e.substr(0,t.length),t)}function ng(e){return new hr(new Lye(e.a.length,e.a))}function vH(e){return new lt(e.c+e.b/2,e.d+e.a/2)}function mgn(e){return Vu(~e.l&th,~e.m&th,~e.h&lp)}function jae(e){return typeof e===wP||typeof e===Nle}function Pl(e){e.f=new snt(e),e.i=new ant(e),++e.g}function $st(e){if(!e)throw ue(new Lc);return e.d}function X8(e){var t;return t=wA(e),mr(t!=null),t}function vgn(e){var t;return t=N4n(e),mr(t!=null),t}function Hk(e,t){var n;return n=e.a.gc(),E6e(t,n),n-t}function na(e,t){var n;return n=e.a.zc(t,e),n==null}function jO(e,t){return e.a.zc(t,(Vn(),Bb))==null}function u5e(e){return new bn(null,Egn(e,e.length))}function l5e(e,t,n){return ovt(e,l(t,42),l(n,176))}function Q8(e,t,n){return f0(e.a,t),j4e(e.b,t.g,n)}function wgn(e,t,n){qk(n,e.a.c.length),nf(e.a,n,t)}function He(e,t,n,r){R0t(t,n,e.length),ygn(e,t,n,r)}function ygn(e,t,n,r){var a;for(a=t;a0?b.Math.log(e/t):-100}function qst(e,t){return ou(e,t)<0?-1:ou(e,t)>0?1:0}function $O(e,t){Ont(e,De(t,160)?t:l(t,2036).Rl())}function g5e(e,t){if(e==null)throw ue(new D8(t))}function Egn(e,t){return Cwn(t,e.length),new Yit(e,t)}function p5e(e,t){return t?Ka(e,t):!1}function Tgn(){return zz(),he(le(c6t,1),it,549,0,[T0e])}function J_(e){return e.e==0?e:new Im(-e.e,e.d,e.a)}function Cgn(e,t){return Yi(e.c.c+e.c.b,t.c.c+t.c.b)}function zO(e,t){_s(e.d,t,e.b.b,e.b),++e.a,e.c=null}function Hst(e,t){return e.c?Hst(e.c,t):vt(e.b,t),e}function Sgn(e,t,n){var r;return r=Ay(e,t),koe(e,t,n),r}function Vst(e,t,n){var r;for(r=0;r=e.g}function Ss(e,t,n){return mfn(n==null||fAn(e,n)),e[t]=n}function y5e(e,t){return Xn(t,e.length+1),e.substr(t)}function Yae(e,t){for(nr(t);e.c=e?new m3e:Ywn(e-1)}function eo(e){return!e.a&&e.c?e.c.b:e.a}function C5e(e){return De(e,616)?e:new uot(e)}function db(e){e.c?db(e.c):(kb(e),e.d=!0)}function tA(e){e.c?e.c.$e():(e.d=!0,dCn(e))}function lat(e){e.b=!1,e.c=!1,e.d=!1,e.a=!1}function hat(e){var t,n;return t=e.c.i.c,n=e.d.i.c,t==n}function Ugn(e,t){var n;n=e.Ih(t),n>=0?e.ki(n):g9e(e,t)}function fat(e,t){e.c<0||e.b.b0;)e=e<<1|(e<0?1:0);return e}function yat(e,t){var n;return n=new Tu(e),zn(t.c,n),n}function xat(e,t){e.u.Hc((jl(),mp))&&Xkn(e,t),gvn(e,t)}function tu(e,t){return qe(e)===qe(t)||e!=null&&Bi(e,t)}function Jo(e,t){return Lae(e.a,t)?e.b[l(t,22).g]:null}function ipn(){return eq(),he(le(G_e,1),it,489,0,[K0e])}function spn(){return rq(),he(le(yOe,1),it,490,0,[mge])}function apn(){return iq(),he(le(WCt,1),it,558,0,[vge])}function opn(){return b_(),he(le(zOe,1),it,539,0,[qB])}function TH(e){return!e.n&&(e.n=new nt(tc,e,1,7)),e.n}function Qae(e){return!e.c&&(e.c=new nt(Vl,e,9,9)),e.c}function L5e(e){return!e.c&&(e.c=new An(Sr,e,5,8)),e.c}function cpn(e){return!e.b&&(e.b=new An(Sr,e,4,7)),e.b}function qO(e){return e.j.c.length=0,D5e(e.c),$fn(e.a),e}function Wk(e){return e.e==ET&&hn(e,n6n(e.g,e.b)),e.e}function HO(e){return e.f==ET&&Dn(e,K7n(e.g,e.b)),e.f}function Ti(e,t,n,r){return Vft(e,t,n,!1),$V(e,r),e}function kat(e,t){this.b=e,$ae.call(this,e,t),znt(this)}function Eat(e,t){this.b=e,d4e.call(this,e,t),qnt(this)}function nA(e){this.d=e,this.a=this.d.b,this.b=this.d.c}function M5e(e,t){this.b=e,this.c=t,this.a=new P8(this.b)}function ao(e,t){return Xn(t,e.length),e.charCodeAt(t)}function upn(e,t){m8e(e,ze(tp(t,"x")),ze(tp(t,"y")))}function lpn(e,t){m8e(e,ze(tp(t,"x")),ze(tp(t,"y")))}function Ri(e,t){return kb(e),new bn(e,new z6e(t,e.a))}function dc(e,t){return kb(e),new bn(e,new S6e(t,e.a))}function ky(e,t){return kb(e),new Uye(e,new Iut(t,e.a))}function CH(e,t){return kb(e),new Gye(e,new Out(t,e.a))}function hpn(e,t){return new Kat(l(Xr(e),50),l(Xr(t),50))}function fpn(e,t){return Yi(e.d.c+e.d.b/2,t.d.c+t.d.b/2)}function Tat(e,t,n){n.a?Wu(e,t.b-e.f/2):Ku(e,t.a-e.g/2)}function dpn(e,t){return Yi(e.g.c+e.g.b/2,t.g.c+t.g.b/2)}function gpn(e,t){return y3e(),Yi((nr(e),e),(nr(t),t))}function ppn(e){return e!=null&&nO(TY,e.toLowerCase())}function D5e(e){var t;for(t=e.Kc();t.Ob();)t.Pb(),t.Qb()}function V5(e){var t;return t=e.b,!t&&(e.b=t=new vie(e)),t}function Jae(e){var t;return t=Zwn(e),t||null}function Cat(e,t){var n,r;return n=e/t,r=la(n),n>r&&++r,r}function bpn(e,t,n){var r;r=l(e.d.Kb(n),159),r&&r.Nb(t)}function mpn(e,t,n){wLn(e.a,n),X3n(n),$En(e.b,n),$Ln(t,n)}function SH(e,t,n,r){this.a=e,this.c=t,this.b=n,this.d=r}function I5e(e,t,n,r){this.c=e,this.b=t,this.a=n,this.d=r}function Sat(e,t,n,r){this.c=e,this.b=t,this.d=n,this.a=r}function Zh(e,t,n,r){this.c=e,this.d=t,this.b=n,this.a=r}function _at(e,t,n,r){this.a=e,this.d=t,this.c=n,this.b=r}function Zae(e,t,n,r){this.a=e,this.e=t,this.d=n,this.c=r}function Aat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function eoe(e,t,n){this.a=sEe,this.d=e,this.b=t,this.c=n}function Z8(e,t,n,r){Ur.call(this,e,t),this.a=n,this.b=r}function Lat(e,t){this.d=(nr(e),e),this.a=16449,this.c=t}function Mat(e){this.a=new bt,this.e=We(Vr,dt,53,e,0,2)}function vpn(e){e.Ug("No crossing minimization",1),e.Vg()}function Dat(){Mc.call(this,"There is no more element.")}function Iat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Oat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Om(e,t,n,r){this.e=e,this.a=t,this.c=n,this.d=r}function Nat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Pat(e,t,n,r){Qh(),Nut.call(this,t,n,r),this.a=e}function Bat(e,t,n,r){Qh(),Nut.call(this,t,n,r),this.a=e}function toe(e,t,n){var r,a;return r=Uke(e),a=t.ti(n,r),a}function Gg(e){var t,n;return n=(t=new Zv,t),sE(n,e),n}function noe(e){var t,n;return n=(t=new Zv,t),Wxe(n,e),n}function wpn(e,t){var n;return n=cr(e.f,t),_7e(t,n),null}function Fat(e){return!e.b&&(e.b=new nt(js,e,12,3)),e.b}function Rat(e){return V_(e==null||jae(e)&&e.Tm!==xe),e}function _H(e){return e.n&&(e.e!==jwt&&e.je(),e.j=null),e}function Yk(e){if(Jl(e.d),e.d.d!=e.c)throw ue(new Yh)}function O5e(e){return mr(e.b0&&bgt(this)}function jat(e,t){this.a=e,vfn.call(this,e,l(e.d,15).fd(t))}function ypn(e,t){return Yi(kl(e)*bh(e),kl(t)*bh(t))}function xpn(e,t){return Yi(kl(e)*bh(e),kl(t)*bh(t))}function kpn(e){return Vw(e)&&Rt(Bt(at(e,(Nt(),gv))))}function Epn(e,t){return xn(e,l(Q(t,(Nt(),HT)),17),t)}function Tpn(e,t){return l(Q(e,(ft(),Wx)),15).Fc(t),t}function N5e(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function $at(e,t,n,r){this.b=e,this.c=r,Iq.call(this,t,n)}function Cpn(e,t,n){e.i=0,e.e=0,t!=n&&E0t(e,t,n)}function Spn(e,t,n){e.i=0,e.e=0,t!=n&&T0t(e,t,n)}function _pn(e,t,n){return p_(),e5n(l(cr(e.e,t),529),n)}function ex(e){var t;return t=e.f,t||(e.f=new Lk(e,e.c))}function zat(e,t){return e6(e.j,t.s,t.c)+e6(t.e,e.s,e.c)}function qat(e,t){e.e&&!e.e.a&&(_Qe(e.e,t),qat(e.e,t))}function Hat(e,t){e.d&&!e.d.a&&(_Qe(e.d,t),Hat(e.d,t))}function Apn(e,t){return-Yi(kl(e)*bh(e),kl(t)*bh(t))}function Lpn(e){return l(e.ld(),149).Pg()+":"+Ec(e.md())}function Vat(){Pue(this,new dz),this.wb=(hb(),Un),Sk()}function Uat(e){this.b=new bt,ra(this.b,this.b),this.a=e}function P5e(e,t){new as,this.a=new wl,this.b=e,this.c=t}function Cw(){Cw=U,g_e=new Ke,I0e=new Ke,p_e=new Ft}function Cn(){Cn=U,Co=new je,bg=new Se,fK=new Ce}function B5e(){B5e=U,z6t=new No,H6t=new Q4e,q6t=new Ts}function tx(){tx=U,yK=new bt,Q0e=new Pr,X0e=new bt}function AH(e,t){if(e==null)throw ue(new D8(t));return e}function LH(e){return!e.a&&(e.a=new nt(Li,e,10,11)),e.a}function qi(e){return!e.q&&(e.q=new nt(Vf,e,11,10)),e.q}function tt(e){return!e.s&&(e.s=new nt(pl,e,21,17)),e.s}function Mpn(e){return Xr(e),Idt(new hr(dr(e.a.Kc(),new j)))}function Dpn(e,t){return vh(e),vh(t),FJe(l(e,22),l(t,22))}function Nm(e,t,n){var r,a;r=p4e(n),a=new vk(r),J0(e,t,a)}function ioe(e,t,n,r,a,o){sN.call(this,e,t,n,r,a,o?-2:-1)}function Gat(e,t,n,r){nye.call(this,t,n),this.b=e,this.a=r}function Kat(e,t){Jcn.call(this,new Bae(e)),this.a=e,this.b=t}function F5e(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function Ipn(e){c0();var t;t=l(e.g,10),t.n.a=e.d.c+t.d.b}function Xk(){Xk=U;var e,t;t=!j5n(),e=new se,_0e=t?new ne:e}function soe(e){return Cn(),De(e,59)?new tse(e):new $q(e)}function MH(e){return De(e,16)?new U_(l(e,16)):hdn(e.Kc())}function Opn(e){return new Vnt(e,e.e.Rd().gc()*e.c.Rd().gc())}function Npn(e){return new Unt(e,e.e.Rd().gc()*e.c.Rd().gc())}function R5e(e){return e&&e.hashCode?e.hashCode():gw(e)}function aoe(e,t){return t==null?!!zo(e.f,null):Xdn(e.i,t)}function Ppn(e,t){var n;return n=yye(e.a,t),n&&(t.d=null),n}function Wat(e,t,n){return e.f?e.f.ef(t,n):!1}function VO(e,t,n,r){Ss(e.c[t.g],n.g,r),Ss(e.c[n.g],t.g,r)}function ooe(e,t,n,r){Ss(e.c[t.g],t.g,n),Ss(e.b[t.g],t.g,r)}function Bpn(e,t,n){return ze(Ge(n.a))<=e&&ze(Ge(n.b))>=t}function Yat(e,t){this.g=e,this.d=he(le(vg,1),v2,10,0,[t])}function Xat(e){this.c=e,this.b=new Wp(l(Xr(new rl),50))}function Qat(e){this.c=e,this.b=new Wp(l(Xr(new l5),50))}function Jat(e){this.b=e,this.a=new Wp(l(Xr(new ui),50))}function Zat(){this.b=new Gs,this.d=new as,this.e=new Rwe}function j5e(){this.c=new qa,this.d=new qa,this.e=new qa}function Sw(){this.a=new wl,this.b=(Dh(3,Xy),new Ru(3))}function Zp(e,t){this.e=e,this.a=wa,this.b=Zbt(t),this.c=t}function DH(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function eot(e,t,n,r,a,o){this.a=e,Zoe.call(this,t,n,r,a,o)}function tot(e,t,n,r,a,o){this.a=e,Zoe.call(this,t,n,r,a,o)}function gb(e,t,n,r,a,o,f){return new Toe(e.e,t,n,r,a,o,f)}function Fpn(e,t,n){return n>=0&&wn(e.substr(n,t.length),t)}function not(e,t){return De(t,149)&&wn(e.b,l(t,149).Pg())}function Rpn(e,t){return e.a?t.Gh().Kc():l(t.Gh(),71).Ii()}function rot(e,t){var n;return n=e.b.Qc(t),Qct(n,e.b.gc()),n}function UO(e,t){if(e==null)throw ue(new D8(t));return e}function gc(e){return e.u||(Xl(e),e.u=new Brt(e,e)),e.u}function coe(e){this.a=(Cn(),De(e,59)?new tse(e):new $q(e))}function ol(e){var t;return t=l(Kn(e,16),29),t||e.ii()}function IH(e,t){var n;return n=_m(e.Rm),t==null?n:n+": "+t}function ef(e,t,n){return Ga(t,n,e.length),e.substr(t,n-t)}function iot(e,t){Uq.call(this),X6e(this),this.a=e,this.c=t}function jpn(e){e&&IH(e,e.ie())}function $pn(e){Vz(),b.setTimeout(function(){throw e},0)}function zpn(){return eU(),he(le(E_e,1),it,436,0,[$0e,k_e])}function qpn(){return oV(),he(le(C_e,1),it,435,0,[T_e,z0e])}function Hpn(){return cV(),he(le(Z_e,1),it,432,0,[J0e,xK])}function Vpn(){return dE(),he(le(q8t,1),it,517,0,[dB,f1e])}function Upn(){return qH(),he(le(BLe,1),it,429,0,[q1e,PLe])}function Gpn(){return pN(),he(le(yLe,1),it,428,0,[QK,wLe])}function Kpn(){return ZH(),he(le(fLe,1),it,431,0,[hLe,_1e])}function Wpn(){return dN(),he(le(ADe,1),it,430,0,[Ede,Tde])}function Ypn(){return oA(),he(le(OEt,1),it,531,0,[uM,cM])}function Xpn(){return EV(),he(le(TIe,1),it,501,0,[zW,X6])}function Qpn(){return vd(),he(le($Et,1),it,523,0,[x3,C2])}function Jpn(){return A1(),he(le(qEt,1),it,522,0,[wv,G1])}function Zpn(){return X0(),he(le(rTt,1),it,528,0,[T4,Hb])}function e2n(){return cN(),he(le(ELe,1),it,488,0,[kLe,ZK])}function t2n(){return KH(),he(le(dOe,1),it,491,0,[gge,fOe])}function n2n(){return dce(),he(le(wOe,1),it,492,0,[mOe,vOe])}function r2n(){return jH(),he(le(EIe,1),it,433,0,[Gde,kIe])}function i2n(){return tV(),he(le(SIe,1),it,434,0,[CIe,Jde])}function s2n(){return Aw(),he(le(lTt,1),it,465,0,[Vb,K6])}function a2n(){return rN(),he(le(xOe,1),it,438,0,[wge,JW])}function o2n(){return CN(),he(le(HOe,1),it,437,0,[eY,qOe])}function c2n(){return vae(),he(le(pY,1),it,347,0,[iPe,sPe])}function OH(e,t,n,r){return n>=0?e.Uh(t,n,r):e.Ch(null,n,r)}function GO(e){return e.b.b==0?e.a.sf():Eae(e.b)}function u2n(e){if(e.p!=5)throw ue(new vl);return Yr(e.f)}function l2n(e){if(e.p!=5)throw ue(new vl);return Yr(e.k)}function $5e(e){return qe(e.a)===qe((hce(),rpe))&&cMn(e),e.a}function h2n(e,t){e.b=t,e.c>0&&e.b>0&&(e.g=oH(e.c,e.b,e.a))}function f2n(e,t){e.c=t,e.c>0&&e.b>0&&(e.g=oH(e.c,e.b,e.a))}function sot(e,t){ce(this,new lt(e.a,e.b)),ve(this,PO(t))}function _w(){Zcn.call(this,new N8(Ly(12))),Cye(!0),this.a=2}function uoe(e,t,n){Ii(),Jv.call(this,e),this.b=t,this.a=n}function z5e(e,t,n){Qh(),Pz.call(this,t),this.a=e,this.b=n}function aot(e){var t;t=e.c.d.b,e.b=t,e.a=e.c.d,t.a=e.c.d.b=e}function d2n(e){return e.b==0?null:(mr(e.b!=0),sf(e,e.a.a))}function Cu(e,t){return t==null?fc(zo(e.f,null)):y_(e.i,t)}function oot(e,t,n,r,a){return new Fue(e,(rE(),B0e),t,n,r,a)}function NH(e,t){return Wct(t),Fwn(e,We(Vr,gi,28,t,15,1),t)}function PH(e,t){return AH(e,"set1"),AH(t,"set2"),new WZe(e,t)}function g2n(e,t){var n=S0e[e.charCodeAt(0)];return n??e}function cot(e,t){var n,r;return n=t,r=new xt,Pvt(e,n,r),r.d}function loe(e,t,n,r){var a;a=new jrt,t.a[n.g]=a,Q8(e.b,r,a)}function p2n(e,t){var n;return n=Nwn(e.f,t),Ni(Vq(n),e.f.d)}function KO(e){var t;Uwn(e.a),pnt(e.a),t=new e_(e.a),_8e(t)}function b2n(e,t){Hbt(e,!0),Gu(e.e.Rf(),new w4e(e,!0,t))}function m2n(e,t){return tx(),e==gs(og(t))||e==gs(Tb(t))}function v2n(e,t){return ep(),l(Q(t,(Uc(),Fd)),17).a==e}function la(e){return Math.max(Math.min(e,Oi),-2147483648)|0}function uot(e){this.a=l(Xr(e),277),this.b=(Cn(),new Iye(e))}function lot(e,t,n){this.i=new bt,this.b=e,this.g=t,this.a=n}function q5e(e,t,n){this.a=new bt,this.e=e,this.f=t,this.c=n}function BH(e,t,n){this.c=new bt,this.e=e,this.f=t,this.b=n}function hot(e){Uq.call(this),X6e(this),this.a=e,this.c=!0}function w2n(e){function t(){}return t.prototype=e||{},new t}function y2n(e){if(e.Ae())return null;var t=e.n;return aK[t]}function WO(e){return e.Db>>16!=3?null:l(e.Cb,27)}function _1(e){return e.Db>>16!=9?null:l(e.Cb,27)}function fot(e){return e.Db>>16!=6?null:l(e.Cb,74)}function Aw(){Aw=U,Vb=new V3e(Mx,0),K6=new V3e(Dx,1)}function vd(){vd=U,x3=new z3e(Dx,0),C2=new z3e(Mx,1)}function A1(){A1=U,wv=new q3e(yhe,0),G1=new q3e("UP",1)}function dot(){dot=U,u6t=Kr((zz(),he(le(c6t,1),it,549,0,[T0e])))}function got(e){var t;return t=new Wz(Ly(e.length)),$7e(t,e),t}function pot(e,t){return e.b+=t.b,e.c+=t.c,e.d+=t.d,e.a+=t.a,e}function x2n(e,t){return t0t(e,t)?(Qht(e),!0):!1}function Kg(e,t){if(t==null)throw ue(new S8);return z5n(e,t)}function YO(e,t){var n;n=e.q.getHours(),e.q.setDate(t),XA(e,n)}function H5e(e,t,n){var r;r=e.Ih(t),r>=0?e.bi(r,n):z9e(e,t,n)}function bot(e,t){var n;return n=e.Ih(t),n>=0?e.Wh(n):Hue(e,t)}function mot(e,t){var n;for(Xr(t),n=e.a;n;n=n.c)t.Yd(n.g,n.i)}function hoe(e,t,n){var r;r=x0t(e,t,n),e.b=new CV(r.c.length)}function U5(e,t,n){FH(),e&&Ei(epe,e,t),e&&Ei(lF,e,n)}function k2n(e,t){return Xq(),Vn(),l(t.a,17).a0}function V5e(e){var t;return t=e.d,t=e.bj(e.f),qr(e,t),t.Ob()}function vot(e,t){var n;return n=new W4e(t),Hgt(n,e),new Nl(n)}function C2n(e){if(e.p!=0)throw ue(new vl);return I_(e.f,0)}function S2n(e){if(e.p!=0)throw ue(new vl);return I_(e.k,0)}function wot(e){return e.Db>>16!=7?null:l(e.Cb,241)}function Qk(e){return e.Db>>16!=6?null:l(e.Cb,241)}function yot(e){return e.Db>>16!=7?null:l(e.Cb,167)}function gs(e){return e.Db>>16!=11?null:l(e.Cb,27)}function Ey(e){return e.Db>>16!=17?null:l(e.Cb,29)}function xot(e){return e.Db>>16!=3?null:l(e.Cb,155)}function U5e(e){var t;return kb(e),t=new Gs,Ri(e,new k5(t))}function kot(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.ve(t))}function _2n(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),XA(e,n)}function Eot(e,t){Rq(this),this.f=t,this.g=e,_H(this),this.je()}function Tot(e,t){this.a=e,this.c=Ja(this.a),this.b=new DH(t)}function Cot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Nl(n))}function Sot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Nl(n))}function _ot(e){this.a=e,this.b=We(MEt,dt,2043,e.e.length,0,2)}function Aot(){this.a=new dd,this.e=new Gs,this.g=0,this.i=0}function FH(){FH=U,epe=new Pr,lF=new Pr,xln(_6t,new LS)}function Lot(){Lot=U,gEt=El(new Ys,(oo(),vc),(bo(),gB))}function G5e(){G5e=U,pEt=El(new Ys,(oo(),vc),(bo(),gB))}function Mot(){Mot=U,mEt=El(new Ys,(oo(),vc),(bo(),gB))}function Dot(){Dot=U,PEt=di(new Ys,(oo(),vc),(bo(),zL))}function _h(){_h=U,REt=di(new Ys,(oo(),vc),(bo(),zL))}function Iot(){Iot=U,jEt=di(new Ys,(oo(),vc),(bo(),zL))}function doe(){doe=U,VEt=di(new Ys,(oo(),vc),(bo(),zL))}function rA(e,t,n,r,a,o){return new Jg(e.e,t,e.Lj(),n,r,a,o)}function ic(e,t,n){return t==null?zu(e.f,null,n):Rw(e.i,t,n)}function fo(e,t){e.c&&cl(e.c.g,e),e.c=t,e.c&&vt(e.c.g,e)}function Va(e,t){e.c&&cl(e.c.a,e),e.c=t,e.c&&vt(e.c.a,e)}function Ic(e,t){e.i&&cl(e.i.j,e),e.i=t,e.i&&vt(e.i.j,e)}function Ba(e,t){e.d&&cl(e.d.e,e),e.d=t,e.d&&vt(e.d.e,e)}function goe(e,t){e.a&&cl(e.a.k,e),e.a=t,e.a&&vt(e.a.k,e)}function poe(e,t){e.b&&cl(e.b.f,e),e.b=t,e.b&&vt(e.b.f,e)}function Oot(e,t){jgn(e,e.b,e.c),l(e.b.b,68),t&&l(t.b,68).b}function A2n(e,t){return Yi(l(e.c,65).c.e.b,l(t.c,65).c.e.b)}function L2n(e,t){return Yi(l(e.c,65).c.e.a,l(t.c,65).c.e.a)}function M2n(e){return Dce(),Vn(),l(e.a,86).d.e!=0}function RH(e,t){De(e.Cb,184)&&(l(e.Cb,184).tb=null),ju(e,t)}function boe(e,t){De(e.Cb,90)&&qy(Xl(l(e.Cb,90)),4),ju(e,t)}function D2n(e,t){v8e(e,t),De(e.Cb,90)&&qy(Xl(l(e.Cb,90)),2)}function I2n(e,t){var n,r;n=t.c,r=n!=null,r&&J8(e,new xy(t.c))}function Not(e){var t,n;return n=(Sk(),t=new Zv,t),sE(n,e),n}function Pot(e){var t,n;return n=(Sk(),t=new Zv,t),sE(n,e),n}function Bot(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function O2n(e,t,n){return vt(e.a,(EH(),due(t,n),new aw(t,n))),e}function Su(e,t){return Ro(),Uoe(t)?new rH(t,e):new yO(t,e)}function XO(e){return kd(),ou(e,0)>=0?Eb(e):J_(Eb(i2(e)))}function N2n(e){var t;return t=l(tH(e.b),9),new Jh(e.a,t,e.c)}function Fot(e,t){var n;return n=l(Ny(ex(e.a),t),16),n?n.gc():0}function Rot(e,t,n){var r;u1t(t,n,e.c.length),r=n-t,g3e(e.c,t,r)}function e2(e,t,n){u1t(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function nx(e){this.c=new as,this.b=e.b,this.d=e.c,this.a=e.a}function moe(e){this.a=b.Math.cos(e),this.b=b.Math.sin(e)}function Pm(e,t,n,r){this.c=e,this.d=r,goe(this,t),poe(this,n)}function K5e(e,t){Qcn.call(this,new N8(Ly(e))),Dh(t,Owt),this.a=t}function jot(e,t,n){return new Fue(e,(rE(),P0e),null,!1,t,n)}function $ot(e,t,n){return new Fue(e,(rE(),F0e),t,n,null,!1)}function P2n(){return Rl(),he(le(cc,1),it,108,0,[x_e,Cc,s4])}function B2n(){return ul(),he(le(J6t,1),it,472,0,[i1,Rb,v0])}function F2n(){return Fl(),he(le(X6t,1),it,471,0,[Nd,Fb,m0])}function R2n(){return Z0(),he(le(a4,1),it,237,0,[Wc,qu,Yc])}function j2n(){return lA(),he(le(gAe,1),it,391,0,[n1e,t1e,r1e])}function $2n(){return Pw(),he(le(v1e,1),it,372,0,[u3,jb,c3])}function z2n(){return dA(),he(le(gLe,1),it,322,0,[HL,mB,dLe])}function q2n(){return bV(),he(le(bLe,1),it,351,0,[pLe,XK,A1e])}function H2n(){return Vm(),he(le(wxt,1),it,460,0,[D1e,FT,P6])}function V2n(){return vE(),he(le(z1e,1),it,299,0,[j1e,$1e,vB])}function U2n(){return Zg(),he(le(_xt,1),it,311,0,[wB,F6,Ux])}function G2n(){return EA(),he(le(vDe,1),it,390,0,[bde,mDe,_W])}function K2n(){return qo(),he(le(oEt,1),it,463,0,[sM,zl,Hu])}function W2n(){return MV(),he(le(DDe,1),it,387,0,[LDe,Cde,MDe])}function Y2n(){return yA(),he(le(IDe,1),it,349,0,[_de,Sde,MB])}function X2n(){return SE(),he(le(NDe,1),it,350,0,[Ade,ODe,aM])}function Q2n(){return pV(),he(le(FDe,1),it,352,0,[BDe,Lde,PDe])}function J2n(){return NV(),he(le(RDe,1),it,388,0,[Mde,XT,E4])}function Z2n(){return Nw(),he(le(AEt,1),it,464,0,[DB,oM,DW])}function L1(e){return Nc(he(le(Ea,1),dt,8,0,[e.i.n,e.n,e.a]))}function ebn(){return xA(),he(le(tIe,1),it,392,0,[eIe,Ode,OB])}function zot(){zot=U,jTt=El(new Ys,(wx(),hM),(WA(),UDe))}function jH(){jH=U,Gde=new U3e("DFS",0),kIe=new U3e("BFS",1)}function qot(e,t,n){var r;r=new fte,r.b=t,r.a=n,++t.b,vt(e.d,r)}function tbn(e,t,n){var r;r=new xo(n.d),Ni(r,e),m8e(t,r.a,r.b)}function nbn(e,t){Pnt(e,Yr(va(vw(t,24),eG)),Yr(va(t,eG)))}function Ty(e,t){if(e<0||e>t)throw ue(new nc(gEe+e+pEe+t))}function Sn(e,t){if(e<0||e>=t)throw ue(new nc(gEe+e+pEe+t))}function Xn(e,t){if(e<0||e>=t)throw ue(new t3e(gEe+e+pEe+t))}function kn(e,t){this.b=(nr(e),e),this.a=t&Qy?t:t|64|Td}function W5e(e){var t;return kb(e),t=(Cw(),Cw(),I0e),hV(e,t)}function rbn(e,t,n){var r;return r=ZA(e,t,!1),r.b<=t&&r.a<=n}function ibn(){return nV(),he(le(bOe,1),it,439,0,[pge,pOe,gOe])}function sbn(){return HV(),he(le(QIe,1),it,394,0,[XIe,lge,YIe])}function abn(){return YV(),he(le(WIe,1),it,445,0,[RB,UW,ige])}function obn(){return aU(),he(le(bCt,1),it,456,0,[sge,oge,age])}function cbn(){return LN(),he(le(LIe,1),it,393,0,[qW,_Ie,AIe])}function ubn(){return LV(),he(le(KIe,1),it,300,0,[rge,GIe,UIe])}function lbn(){return np(),he(le(XNe,1),it,346,0,[cY,L2,DM])}function hbn(){return PN(),he(le(bge,1),it,444,0,[YW,XW,QW])}function fbn(){return N1(),he(le(RNe,1),it,278,0,[nC,A4,rC])}function dbn(){return dx(),he(le(rPe,1),it,280,0,[nPe,M4,gY])}function Lw(e){return Xr(e),De(e,16)?new Nl(l(e,16)):$k(e.Kc())}function Y5e(e,t){return e&&e.equals?e.equals(t):qe(e)===qe(t)}function va(e,t){return vb(sgn(xc(e)?Lf(e):e,xc(t)?Lf(t):t))}function Y0(e,t){return vb(agn(xc(e)?Lf(e):e,xc(t)?Lf(t):t))}function voe(e,t){return vb(ogn(xc(e)?Lf(e):e,xc(t)?Lf(t):t))}function gbn(e,t){var n;return n=(nr(e),e).g,Hye(!!n),nr(t),n(t)}function Hot(e,t){var n,r;return r=Hk(e,t),n=e.a.fd(r),new GZe(e,n)}function pbn(e){return e.Db>>16!=6?null:l(Gue(e),241)}function bbn(e){if(e.p!=2)throw ue(new vl);return Yr(e.f)&Js}function mbn(e){if(e.p!=2)throw ue(new vl);return Yr(e.k)&Js}function re(e){return mr(e.ar?1:0}function Kot(e,t){var n,r;return n=zoe(t),r=n,l(cr(e.c,r),17).a}function woe(e,t,n){var r;r=e.d[t.p],e.d[t.p]=e.d[n.p],e.d[n.p]=r}function Abn(e,t,n){var r;e.n&&t&&n&&(r=new Wne,vt(e.e,r))}function yoe(e,t){if(na(e.a,t),t.d)throw ue(new Mc(n3t));t.d=e}function J5e(e,t){this.a=new bt,this.d=new bt,this.f=e,this.c=t}function Wot(){this.c=new Dnt,this.a=new Fut,this.b=new KQe,fet()}function Yot(){hx(),this.b=new Pr,this.a=new Pr,this.c=new bt}function Xot(e,t,n){this.d=e,this.j=t,this.e=n,this.o=-1,this.p=3}function Qot(e,t,n){this.d=e,this.k=t,this.f=n,this.o=-1,this.p=5}function Jot(e,t,n,r,a,o){J6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function Zot(e,t,n,r,a,o){Z6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ect(e,t,n,r,a,o){b6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function tct(e,t,n,r,a,o){n7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function nct(e,t,n,r,a,o){m6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function rct(e,t,n,r,a,o){e7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ict(e,t,n,r,a,o){t7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function sct(e,t,n,r,a,o){v6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function act(e,t,n,r){Pz.call(this,n),this.b=e,this.c=t,this.d=r}function oct(e,t){this.f=e,this.a=(eE(),_Y),this.c=_Y,this.b=t}function cct(e,t){this.g=e,this.d=(eE(),AY),this.a=AY,this.b=t}function Z5e(e,t){!e.c&&(e.c=new Ms(e,0)),VU(e.c,(Gi(),HM),t)}function Lbn(e,t){return hTn(e,t,De(t,102)&&(l(t,19).Bb&Mo)!=0)}function Mbn(e,t){return qst(nu(e.q.getTime()),nu(t.q.getTime()))}function uct(e){return Sae(e.e.Rd().gc()*e.c.Rd().gc(),16,new bie(e))}function Dbn(e){return!!e.u&&bu(e.u.a).i!=0&&!(e.n&&uue(e.n))}function Ibn(e){return!!e.a&&Ql(e.a.a).i!=0&&!(e.b&&lue(e.b))}function e6e(e,t){return t==0?!!e.o&&e.o.f!=0:rue(e,t)}function Obn(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Hc(n)}function lct(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Mc(n)}function hct(e,t){var n;return n=1-t,e.a[n]=TV(e.a[n],n),TV(e,t)}function fct(e,t){var n,r;return r=va(e,Vo),n=u0(t,32),Y0(n,r)}function dct(e,t,n){var r;r=(Xr(e),new Nl(e)),P7n(new Cot(r,t,n))}function QO(e,t,n){var r;r=(Xr(e),new Nl(e)),B7n(new Sot(r,t,n))}function Hc(e,t,n,r,a,o){return Vft(e,t,n,o),u8e(e,r),l8e(e,a),e}function gct(e,t,n,r){return e.a+=""+ef(t==null?hl:Ec(t),n,r),e}function Ua(e,t){this.a=e,kr.call(this,e),Ty(t,e.gc()),this.b=t}function pct(e){this.a=We(wa,Rn,1,B7e(b.Math.max(8,e))<<1,5,1)}function JO(e){return l(B1(e,We(vg,v2,10,e.c.length,0,1)),199)}function wd(e){return l(B1(e,We(l1e,Fhe,18,e.c.length,0,1)),483)}function bct(e){return e.a?e.e.length==0?e.a.a:e.a.a+(""+e.e):e.c}function iA(e){for(;e.d>0&&e.a[--e.d]==0;);e.a[e.d++]==0&&(e.e=0)}function mct(e){return mr(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function Nbn(e,t,n){e.a=t,e.c=n,e.b.a.$b(),Sh(e.d),oy(e.e.a.c,0)}function vct(e,t){var n;e.e=new Uwe,n=Vy(t),Hs(n,e.c),Ibt(e,n,0)}function Xs(e,t,n,r){var a;a=new J9,a.a=t,a.b=n,a.c=r,li(e.a,a)}function gt(e,t,n,r){var a;a=new J9,a.a=t,a.b=n,a.c=r,li(e.b,a)}function wct(e,t,n){if(e<0||tn)throw ue(new nc(K9n(e,t,n)))}function ZO(e,t){if(e<0||e>=t)throw ue(new nc(Tkn(e,t)));return e}function Pbn(e){if(!("stack"in e))try{throw e}catch{}return e}function G5(e){return p_(),De(e.g,10)?l(e.g,10):null}function Bbn(e){return V5(e).dc()?!1:(shn(e,new oe),!0)}function Fm(e){var t;return xc(e)?(t=e,t==-0?0:t):Qvn(e)}function yct(e,t){return De(t,44)?pue(e.a,l(t,44)):!1}function xct(e,t){return De(t,44)?pue(e.a,l(t,44)):!1}function kct(e,t){return De(t,44)?pue(e.a,l(t,44)):!1}function t6e(e){var t;return db(e),t=new Pe,A5(e.a,new x5(t)),t}function n6e(){var e,t,n;return t=(n=(e=new Zv,e),n),vt(jPe,t),t}function $H(e){var t;return db(e),t=new gn,A5(e.a,new T8(t)),t}function Fbn(e,t){return e.a<=e.b?(t.Dd(e.a++),!0):!1}function Ect(e){cce.call(this,e,(rE(),N0e),null,!1,null,!1)}function Tct(){Tct=U,M7t=Kr((eq(),he(le(G_e,1),it,489,0,[K0e])))}function Cct(){Cct=U,$De=mat(pt(1),pt(4)),jDe=mat(pt(1),pt(2))}function Rbn(e,t){return new yae(t,z_(Ja(t.e),e,e),(Vn(),!0))}function zH(e){return new Ru((Dh(e,Rle),uV(go(go(5,e),e/10|0))))}function jbn(e){return Sae(e.e.Rd().gc()*e.c.Rd().gc(),273,new pie(e))}function Sct(e){return l(B1(e,We(j8t,N3t,12,e.c.length,0,1)),2042)}function $bn(e){return _h(),!Lo(e)&&!(!Lo(e)&&e.c.i.c==e.d.i.c)}function zbn(e,t){return ux(),l(Q(t,(Uc(),W6)),17).a>=e.gc()}function sA(e,t){EIn(t,e),P4e(e.d),P4e(l(Q(e,(Nt(),yW)),214))}function xoe(e,t){TIn(t,e),B4e(e.d),B4e(l(Q(e,(Nt(),yW)),214))}function qbn(e,t,n){e.d&&cl(e.d.e,e),e.d=t,e.d&&mw(e.d.e,n,e)}function Hbn(e,t,n){return n.f.c.length>0?l5e(e.a,t,n):l5e(e.b,t,n)}function Vbn(e,t,n){var r;r=o6n();try{return Dfn(e,t,n)}finally{Bmn(r)}}function Mw(e,t){var n,r;return n=Kg(e,t),r=null,n&&(r=n.pe()),r}function aA(e,t){var n,r;return n=Kg(e,t),r=null,n&&(r=n.se()),r}function Jk(e,t){var n,r;return n=Ay(e,t),r=null,n&&(r=n.se()),r}function Wg(e,t){var n,r;return n=Kg(e,t),r=null,n&&(r=t9e(n)),r}function Ubn(e,t,n){var r;return r=NE(n),jU(e.g,r,t),jU(e.i,t,n),t}function r6e(e,t,n){this.d=new PYe(this),this.e=e,this.i=t,this.f=n}function _ct(e,t,n,r){this.e=null,this.c=e,this.d=t,this.a=n,this.b=r}function Act(e,t,n,r){Cnt(this),this.c=e,this.e=t,this.f=n,this.b=r}function i6e(e,t,n,r){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1}function Lct(e,t,n,r){return De(n,59)?new srt(e,t,n,r):new i5e(e,t,n,r)}function Zk(e){return De(e,16)?l(e,16).dc():!e.Kc().Ob()}function Mct(e){if(e.e.g!=e.b)throw ue(new Yh);return!!e.c&&e.d>0}function Br(e){return mr(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function s6e(e,t){nr(t),Ss(e.a,e.c,t),e.c=e.c+1&e.a.length-1,Jdt(e)}function pb(e,t){nr(t),e.b=e.b-1&e.a.length-1,Ss(e.a,e.b,t),Jdt(e)}function Dct(e){var t;t=e.Gh(),this.a=De(t,71)?l(t,71).Ii():t.Kc()}function Gbn(e){return new kn(Dwn(l(e.a.md(),16).gc(),e.a.ld()),16)}function Ict(){Ict=U,KCt=Kr((rq(),he(le(yOe,1),it,490,0,[mge])))}function Oct(){Oct=U,YCt=Kr((iq(),he(le(WCt,1),it,558,0,[vge])))}function Nct(){Nct=U,dSt=Kr((b_(),he(le(zOe,1),it,539,0,[qB])))}function Kbn(){return Km(),he(le(vAe,1),it,389,0,[u4,mAe,c1e,u1e])}function Wbn(){return rE(),he(le(dK,1),it,304,0,[N0e,P0e,B0e,F0e])}function Ybn(){return bx(),he(le(C7t,1),it,332,0,[aB,sB,oB,cB])}function Xbn(){return NA(),he(le(A7t,1),it,406,0,[uB,mK,vK,lB])}function Qbn(){return Fw(),he(le(E7t,1),it,417,0,[iB,rB,U0e,G0e])}function Jbn(){return wE(),he(le(_8t,1),it,416,0,[o3,c4,o4,M6])}function Zbn(){return P1(),he(le(rxt,1),it,421,0,[Vx,MT,DT,m1e])}function emn(){return OV(),he(le(G8t,1),it,371,0,[b1e,VK,UK,pB])}function tmn(){return Fy(),he(le(vde,1),it,203,0,[AW,mde,G6,U6])}function nmn(){return yd(),he(le(_De,1),it,284,0,[T2,SDe,xde,kde])}function rmn(e){var t;return e.j==(St(),Dr)&&(t=y2t(e),xl(t,ar))}function imn(e,t){var n;n=t.a,fo(n,t.c.d),Ba(n,t.d.d),Iy(n.a,e.n)}function a6e(e,t){var n;return n=l(O1(e.b,t),67),!n&&(n=new as),n}function ix(e){return p_(),De(e.g,154)?l(e.g,154):null}function smn(e){e.a=null,e.e=null,oy(e.b.c,0),oy(e.f.c,0),e.c=null}function qH(){qH=U,q1e=new R3e(cT,0),PLe=new R3e("TOP_LEFT",1)}function oA(){oA=U,uM=new $3e("UPPER",0),cM=new $3e("LOWER",1)}function amn(e,t){return z8(new lt(t.e.a+t.f.a/2,t.e.b+t.f.b/2),e)}function Pct(e,t){return l(gh(wy(l($i(e.k,t),15).Oc(),I6)),113)}function Bct(e,t){return l(gh(Y8(l($i(e.k,t),15).Oc(),I6)),113)}function omn(){return wx(),he(le(HDe,1),it,405,0,[PW,lM,hM,fM])}function cmn(){return kA(),he(le(xIe,1),it,353,0,[Ude,$W,Vde,Hde])}function umn(){return lU(),he(le(VIe,1),it,354,0,[nge,qIe,HIe,zIe])}function lmn(){return wh(),he(le(BM,1),it,386,0,[iF,Cv,rF,L4])}function hmn(){return Oh(),he(le(e_t,1),it,291,0,[eF,xg,Kb,ZB])}function fmn(){return rp(),he(le(Uge,1),it,223,0,[Vge,JB,iC,s9])}function dmn(){return UV(),he(le(uPe,1),it,320,0,[Wge,aPe,cPe,oPe])}function gmn(){return PV(),he(le(m_t,1),it,415,0,[Yge,hPe,lPe,fPe])}function pmn(e){return FH(),Uu(epe,e)?l(cr(epe,e),341).Qg():null}function tf(e,t,n){return t<0?Hue(e,n):l(n,69).wk().Bk(e,e.hi(),t)}function bmn(e,t,n){var r;return r=NE(n),jU(e.j,r,t),Ei(e.k,t,n),t}function mmn(e,t,n){var r;return r=NE(n),jU(e.d,r,t),Ei(e.e,t,n),t}function Fct(e){var t,n;return t=(ib(),n=new TI,n),e&&LU(t,e),t}function o6e(e){var t;return t=e.aj(e.i),e.i>0&&vu(e.g,0,t,0,e.i),t}function Rct(e,t){var n;for(n=e.j.c.length;n>24}function wmn(e){if(e.p!=1)throw ue(new vl);return Yr(e.k)<<24>>24}function ymn(e){if(e.p!=7)throw ue(new vl);return Yr(e.k)<<16>>16}function xmn(e){if(e.p!=7)throw ue(new vl);return Yr(e.f)<<16>>16}function K5(e,t){return t.e==0||e.e==0?BL:(GE(),Jue(e,t))}function zct(e,t){return qe(t)===qe(e)?"(this Map)":t==null?hl:Ec(t)}function kmn(e,t,n){return Pae(Ge(fc(zo(e.f,t))),Ge(fc(zo(e.f,n))))}function Emn(e,t,n){var r;r=l(cr(e.g,n),60),vt(e.a.c,new ua(t,r))}function qct(e,t,n){e.i=0,e.e=0,t!=n&&(T0t(e,t,n),E0t(e,t,n))}function Tmn(e,t,n,r,a){var o;o=CTn(a,n,r),vt(t,mkn(a,o)),c9n(e,a,t)}function c6e(e,t,n,r,a){this.i=e,this.a=t,this.e=n,this.j=r,this.f=a}function Hct(e,t){j5e.call(this),this.a=e,this.b=t,vt(this.a.b,this)}function Vct(e){this.b=new Pr,this.c=new Pr,this.d=new Pr,this.a=e}function Uct(e,t){var n;return n=new S5,e.Gd(n),n.a+="..",t.Hd(n),n.a}function Gct(e,t){var n;for(n=t;n;)pw(e,n.i,n.j),n=gs(n);return e}function Kct(e,t,n){var r;return r=NE(n),Ei(e.b,r,t),Ei(e.c,t,n),t}function Yg(e){var t;for(t=0;e.Ob();)e.Pb(),t=go(t,1);return uV(t)}function ig(e,t){Ro();var n;return n=l(e,69).vk(),T9n(n,t),n.xl(t)}function Cmn(e,t,n){if(n){var r=n.oe();e.a[t]=r(n)}else delete e.a[t]}function u6e(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+Mb),XA(e,n)}function Smn(e,t){return l(t==null?fc(zo(e.f,null)):y_(e.i,t),288)}function l6e(e,t){return e==(Zn(),Bs)&&t==Bs?4:e==Bs||t==Bs?8:32}function HH(e,t,n){return zU(e,t,n,De(t,102)&&(l(t,19).Bb&Mo)!=0)}function _mn(e,t,n){return XE(e,t,n,De(t,102)&&(l(t,19).Bb&Mo)!=0)}function Amn(e,t,n){return vTn(e,t,n,De(t,102)&&(l(t,19).Bb&Mo)!=0)}function h6e(e){e.b!=e.c&&(e.a=We(wa,Rn,1,8,5,1),e.b=0,e.c=0)}function cA(e){return mr(e.a=0&&e.a[n]===t[n];n--);return n<0}function VH(e){var t;return e?new W4e(e):(t=new dd,ace(t,e),t)}function Pmn(e,t){var n,r;r=!1;do n=d0t(e,t),r=r|n;while(n);return r}function Bmn(e){e&&cwn((Qwe(),KSe)),--oK,e&&cK!=-1&&(_ln(cK),cK=-1)}function UH(e){jxe(),Pnt(this,Yr(va(vw(e,24),eG)),Yr(va(e,eG)))}function Jct(){Jct=U,V6t=Kr((eU(),he(le(E_e,1),it,436,0,[$0e,k_e])))}function Zct(){Zct=U,U6t=Kr((oV(),he(le(C_e,1),it,435,0,[T_e,z0e])))}function eut(){eut=U,K7t=Kr((cV(),he(le(Z_e,1),it,432,0,[J0e,xK])))}function tut(){tut=U,H8t=Kr((dE(),he(le(q8t,1),it,517,0,[dB,f1e])))}function nut(){nut=U,Lxt=Kr((qH(),he(le(BLe,1),it,429,0,[q1e,PLe])))}function rut(){rut=U,vxt=Kr((pN(),he(le(yLe,1),it,428,0,[QK,wLe])))}function iut(){iut=U,kxt=Kr((cN(),he(le(ELe,1),it,488,0,[kLe,ZK])))}function sut(){sut=U,aEt=Kr((dN(),he(le(ADe,1),it,430,0,[Ede,Tde])))}function aut(){aut=U,NEt=Kr((oA(),he(le(OEt,1),it,531,0,[uM,cM])))}function out(){out=U,gxt=Kr((ZH(),he(le(fLe,1),it,431,0,[hLe,_1e])))}function cut(){cut=U,RTt=Kr((jH(),he(le(EIe,1),it,433,0,[Gde,kIe])))}function uut(){uut=U,HTt=Kr((EV(),he(le(TIe,1),it,501,0,[zW,X6])))}function lut(){lut=U,zEt=Kr((vd(),he(le($Et,1),it,523,0,[x3,C2])))}function hut(){hut=U,HEt=Kr((A1(),he(le(qEt,1),it,522,0,[wv,G1])))}function fut(){fut=U,iTt=Kr((X0(),he(le(rTt,1),it,528,0,[T4,Hb])))}function dut(){dut=U,hTt=Kr((Aw(),he(le(lTt,1),it,465,0,[Vb,K6])))}function gut(){gut=U,GTt=Kr((tV(),he(le(SIe,1),it,434,0,[CIe,Jde])))}function put(){put=U,zCt=Kr((KH(),he(le(dOe,1),it,491,0,[gge,fOe])))}function but(){but=U,HCt=Kr((dce(),he(le(wOe,1),it,492,0,[mOe,vOe])))}function mut(){mut=U,XCt=Kr((rN(),he(le(xOe,1),it,438,0,[wge,JW])))}function vut(){vut=U,gSt=Kr((CN(),he(le(HOe,1),it,437,0,[eY,qOe])))}function wut(){wut=U,g_t=Kr((vae(),he(le(pY,1),it,347,0,[iPe,sPe])))}function Fmn(){return Qs(),he(le(LM,1),it,88,0,[Y1,wc,lc,W1,vf])}function Rmn(){return St(),he(le(Do,1),uu,64,0,[Fc,Qn,ar,Dr,er])}function jmn(e,t,n){return l(t==null?zu(e.f,null,n):Rw(e.i,t,n),288)}function $mn(e){return(e.k==(Zn(),Bs)||e.k==Vs)&&ts(e,(ft(),KL))}function Soe(e){return e.c&&e.d?Q5e(e.c)+"->"+Q5e(e.d):"e_"+gw(e)}function to(e,t){var n,r;for(nr(t),r=e.Kc();r.Ob();)n=r.Pb(),t.Cd(n)}function zmn(e,t){var n;n=new M8,Nm(n,"x",t.a),Nm(n,"y",t.b),J8(e,n)}function qmn(e,t){var n;n=new M8,Nm(n,"x",t.a),Nm(n,"y",t.b),J8(e,n)}function yut(e,t){var n;for(n=t;n;)pw(e,-n.i,-n.j),n=gs(n);return e}function d6e(e,t){var n,r;for(n=t,r=0;n>0;)r+=e.a[n],n-=n&-n;return r}function nf(e,t,n){var r;return r=(Sn(t,e.c.length),e.c[t]),e.c[t]=n,r}function g6e(e,t,n){e.a.c.length=0,dMn(e,t,n),e.a.c.length==0||z_n(e,t)}function eN(e){e.i=0,aO(e.b,null),aO(e.c,null),e.a=null,e.e=null,++e.g}function GH(){GH=U,H1=!0,N6t=!1,P6t=!1,F6t=!1,B6t=!1}function _oe(e){GH(),!H1&&(this.c=e,this.e=!0,this.a=new bt)}function xut(e,t){this.c=0,this.b=t,Vtt.call(this,e,17493),this.a=this.c}function kut(e){Twt(),AQe(this),this.a=new as,K7e(this,e),li(this.a,e)}function Eut(){Xse(this),this.b=new lt(ps,ps),this.a=new lt(ia,ia)}function KH(){KH=U,gge=new W3e(VEe,0),fOe=new W3e("TARGET_WIDTH",1)}function W5(e,t){return(kb(e),_k(new bn(e,new z6e(t,e.a)))).Bd(zx)}function Hmn(){return oo(),he(le(pAe,1),it,367,0,[w0,mg,wu,Du,vc])}function Vmn(){return jy(),he(le(sxt,1),it,375,0,[bB,WK,YK,KK,GK])}function Umn(){return h2(),he(le(vLe,1),it,348,0,[L1e,mLe,M1e,BT,PT])}function Gmn(){return OA(),he(le(yDe,1),it,323,0,[wDe,wde,yde,rM,iM])}function Kmn(){return lf(),he(le(YLe,1),it,171,0,[EB,YL,zb,XL,g4])}function Wmn(){return mU(),he(le(VTt,1),it,368,0,[Xde,Kde,Qde,Wde,Yde])}function Ymn(){return VA(),he(le(VCt,1),it,373,0,[Q6,e9,xM,yM,zB])}function Xmn(){return XN(),he(le(COe,1),it,324,0,[kOe,yge,TOe,xge,EOe])}function Qmn(){return t1(),he(le(yg,1),it,170,0,[Bn,fa,Rd,yv,_2])}function Jmn(){return t6(),he(le(OM,1),it,256,0,[Wb,tF,QNe,IM,JNe])}function Zmn(e){return Vz(),function(){return Vbn(e,this,arguments)}}function Lo(e){return!e.c||!e.d?!1:!!e.c.i&&e.c.i==e.d.i}function p6e(e,t){return De(t,143)?wn(e.c,l(t,143).c):!1}function Xl(e){return e.t||(e.t=new vQe(e),_A(new NJe(e),0,e.t)),e.t}function Tut(e){this.b=e,or.call(this,e),this.a=l(Kn(this.b.a,4),129)}function Cut(e){this.b=e,H8.call(this,e),this.a=l(Kn(this.b.a,4),129)}function l0(e,t,n,r,a){Put.call(this,t,r,a),this.c=e,this.b=n}function b6e(e,t,n,r,a){Xot.call(this,t,r,a),this.c=e,this.a=n}function m6e(e,t,n,r,a){Qot.call(this,t,r,a),this.c=e,this.a=n}function v6e(e,t,n,r,a){Put.call(this,t,r,a),this.c=e,this.a=n}function Aoe(e,t){var n;return n=l(O1(e.d,t),23),n||l(O1(e.e,t),23)}function Sut(e,t){var n,r;return n=t.ld(),r=e.Fe(n),!!r&&tu(r.e,t.md())}function _ut(e,t){var n;return n=t.ld(),new aw(n,e.e.pc(n,l(t.md(),16)))}function evn(e,t){var n;return n=e.a.get(t),n??We(wa,Rn,1,0,5,1)}function Aut(e){var t;return t=e.length,wn(sr.substr(sr.length-t,t),e)}function xr(e){if(jr(e))return e.c=e.a,e.a.Pb();throw ue(new Lc)}function w6e(e,t){return t==0||e.e==0?e:t>0?mbt(e,t):z1t(e,-t)}function sx(e,t){return t==0||e.e==0?e:t>0?z1t(e,t):mbt(e,-t)}function y6e(e){hln.call(this,e==null?hl:Ec(e),De(e,82)?l(e,82):null)}function Lut(e){var t;return e.c||(t=e.r,De(t,90)&&(e.c=l(t,29))),e.c}function Loe(e){var t;return t=new Sw,bc(t,e),rt(t,(Nt(),uc),null),t}function Mut(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(Zn(),Vs)&&n.k==Vs}function Moe(e){var t,n,r;return t=e&th,n=e>>22&th,r=e<0?lp:0,Vu(t,n,r)}function tvn(e){var t,n,r,a;for(n=e,r=0,a=n.length;r=0?e.Lh(r,n,!0):Uw(e,t,n)}function rvn(e,t,n){return Yi(z8(BE(e),Ja(t.b)),z8(BE(e),Ja(n.b)))}function ivn(e,t,n){return Yi(z8(BE(e),Ja(t.e)),z8(BE(e),Ja(n.e)))}function svn(e,t){return b.Math.min(bb(t.a,e.d.d.c),bb(t.b,e.d.d.c))}function tN(e,t){e._i(e.i+1),R_(e,e.i,e.Zi(e.i,t)),e.Mi(e.i++,t),e.Ni()}function uA(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.Oi(n,t),e.Ni()}function Dut(e,t,n){var r;r=new wye(e.a),bA(r,e.a.a),zu(r.f,t,n),e.a.a=r}function x6e(e,t,n,r){var a;for(a=0;at)throw ue(new nc(l9e(e,t,"index")));return e}function n2(e,t){var n;return n=(Sn(t,e.c.length),e.c[t]),g3e(e.c,t,1),n}function T6e(e,t){var n,r;return n=(nr(e),e),r=(nr(t),t),n==r?0:nt.p?-1:0}function jut(e){var t;return e.a||(t=e.r,De(t,156)&&(e.a=l(t,156))),e.a}function hvn(e,t,n){var r;return++e.e,--e.f,r=l(e.d[t].gd(n),136),r.md()}function fvn(e){var t,n;return t=e.ld(),n=l(e.md(),16),NO(n.Nc(),new mie(t))}function $ut(e,t){return Uu(e.a,t)?(ax(e.a,t),!0):!1}function ox(e,t,n){return ZO(t,e.e.Rd().gc()),ZO(n,e.c.Rd().gc()),e.a[t][n]}function YH(e,t,n){this.a=e,this.b=t,this.c=n,vt(e.t,this),vt(t.i,this)}function XH(e,t,n,r){this.f=e,this.e=t,this.d=n,this.b=r,this.c=r?r.d:null}function nN(){this.b=new as,this.a=new as,this.b=new as,this.a=new as}function eE(){eE=U;var e,t;_Y=(Sk(),t=new Rz,t),AY=(e=new qie,e)}function dvn(e){var t;return kb(e),t=new Iit(e,e.a.e,e.a.d|4),new Uye(e,t)}function zut(e){var t;for(db(e),t=0;e.a.Bd(new Mn);)t=go(t,1);return t}function QH(e,t){return nr(t),e.c=0,"Initial capacity must not be negative")}function JH(){JH=U,kM=new Ui("org.eclipse.elk.labels.labelManager")}function qut(){qut=U,aLe=new ws("separateLayerConnections",(OV(),b1e))}function X0(){X0=U,T4=new H3e("REGULAR",0),Hb=new H3e("CRITICAL",1)}function rN(){rN=U,wge=new X3e("FIXED",0),JW=new X3e("CENTER_NODE",1)}function ZH(){ZH=U,hLe=new P3e("QUADRATIC",0),_1e=new P3e("SCANLINE",1)}function Hut(){Hut=U,pxt=Kr((dA(),he(le(gLe,1),it,322,0,[HL,mB,dLe])))}function Vut(){Vut=U,bxt=Kr((bV(),he(le(bLe,1),it,351,0,[pLe,XK,A1e])))}function Uut(){Uut=U,hxt=Kr((Pw(),he(le(v1e,1),it,372,0,[u3,jb,c3])))}function Gut(){Gut=U,yxt=Kr((Vm(),he(le(wxt,1),it,460,0,[D1e,FT,P6])))}function Kut(){Kut=U,Sxt=Kr((vE(),he(le(z1e,1),it,299,0,[j1e,$1e,vB])))}function Wut(){Wut=U,Axt=Kr((Zg(),he(le(_xt,1),it,311,0,[wB,F6,Ux])))}function Yut(){Yut=U,tEt=Kr((EA(),he(le(vDe,1),it,390,0,[bde,mDe,_W])))}function Xut(){Xut=U,uEt=Kr((MV(),he(le(DDe,1),it,387,0,[LDe,Cde,MDe])))}function Qut(){Qut=U,lEt=Kr((yA(),he(le(IDe,1),it,349,0,[_de,Sde,MB])))}function Jut(){Jut=U,cEt=Kr((qo(),he(le(oEt,1),it,463,0,[sM,zl,Hu])))}function Zut(){Zut=U,hEt=Kr((SE(),he(le(NDe,1),it,350,0,[Ade,ODe,aM])))}function elt(){elt=U,fEt=Kr((pV(),he(le(FDe,1),it,352,0,[BDe,Lde,PDe])))}function tlt(){tlt=U,dEt=Kr((NV(),he(le(RDe,1),it,388,0,[Mde,XT,E4])))}function nlt(){nlt=U,gTt=Kr((xA(),he(le(tIe,1),it,392,0,[eIe,Ode,OB])))}function rlt(){rlt=U,KTt=Kr((LN(),he(le(LIe,1),it,393,0,[qW,_Ie,AIe])))}function ilt(){ilt=U,gCt=Kr((LV(),he(le(KIe,1),it,300,0,[rge,GIe,UIe])))}function slt(){slt=U,pCt=Kr((YV(),he(le(WIe,1),it,445,0,[RB,UW,ige])))}function alt(){alt=U,mCt=Kr((aU(),he(le(bCt,1),it,456,0,[sge,oge,age])))}function olt(){olt=U,yCt=Kr((HV(),he(le(QIe,1),it,394,0,[XIe,lge,YIe])))}function clt(){clt=U,qCt=Kr((nV(),he(le(bOe,1),it,439,0,[pge,pOe,gOe])))}function ult(){ult=U,LEt=Kr((Nw(),he(le(AEt,1),it,464,0,[DB,oM,DW])))}function llt(){llt=U,Q6t=Kr((Fl(),he(le(X6t,1),it,471,0,[Nd,Fb,m0])))}function hlt(){hlt=U,Y6t=Kr((Z0(),he(le(a4,1),it,237,0,[Wc,qu,Yc])))}function flt(){flt=U,Z6t=Kr((ul(),he(le(J6t,1),it,472,0,[i1,Rb,v0])))}function dlt(){dlt=U,R6t=Kr((Rl(),he(le(cc,1),it,108,0,[x_e,Cc,s4])))}function glt(){glt=U,w8t=Kr((lA(),he(le(gAe,1),it,391,0,[n1e,t1e,r1e])))}function plt(){plt=U,ZSt=Kr((np(),he(le(XNe,1),it,346,0,[cY,L2,DM])))}function blt(){blt=U,GCt=Kr((PN(),he(le(bge,1),it,444,0,[YW,XW,QW])))}function mlt(){mlt=U,YSt=Kr((N1(),he(le(RNe,1),it,278,0,[nC,A4,rC])))}function vlt(){vlt=U,d_t=Kr((dx(),he(le(rPe,1),it,280,0,[nPe,M4,gY])))}function I1(e,t){return!e.o&&(e.o=new Tl((cu(),Tg),M2,e,0)),Wce(e.o,t)}function gvn(e,t){var n;e.C&&(n=l(Jo(e.b,t),127).n,n.d=e.C.d,n.a=e.C.a)}function L6e(e){var t,n,r,a;a=e.d,t=e.a,n=e.b,r=e.c,e.d=n,e.a=r,e.b=a,e.c=t}function pvn(e){return!e.g&&(e.g=new MS),!e.g.b&&(e.g.b=new gQe(e)),e.g.b}function iN(e){return!e.g&&(e.g=new MS),!e.g.c&&(e.g.c=new mQe(e)),e.g.c}function bvn(e){return!e.g&&(e.g=new MS),!e.g.d&&(e.g.d=new pQe(e)),e.g.d}function mvn(e){return!e.g&&(e.g=new MS),!e.g.a&&(e.g.a=new bQe(e)),e.g.a}function vvn(e,t,n,r){return n&&(r=n.Rh(t,vs(n.Dh(),e.c.uk()),null,r)),r}function wvn(e,t,n,r){return n&&(r=n.Th(t,vs(n.Dh(),e.c.uk()),null,r)),r}function Noe(e,t,n,r){var a;return a=We(Vr,gi,28,t+1,15,1),EAn(a,e,t,n,r),a}function We(e,t,n,r,a,o){var f;return f=Hdt(a,r),a!=10&&he(le(e,o),t,n,a,f),f}function yvn(e,t,n){var r,a;for(a=new mE(t,e),r=0;rn||t=0?e.Lh(n,!0,!0):Uw(e,t,!0)}function Fvn(e,t,n){var r;return r=x0t(e,t,n),e.b=new CV(r.c.length),J9e(e,r)}function Rvn(e){if(e.b<=0)throw ue(new Lc);return--e.b,e.a-=e.c.c,pt(e.a)}function jvn(e){var t;if(!e.a)throw ue(new Dat);return t=e.a,e.a=gs(e.a),t}function $vn(e){for(;!e.a;)if(!rit(e.c,new ZS(e)))return!1;return!0}function cx(e){var t;return Xr(e),De(e,204)?(t=l(e,204),t):new w8(e)}function zvn(e){eV(),l(e.of((bi(),_4)),181).Fc((jl(),nF)),e.qf(zge,null)}function eV(){eV=U,mSt=new h$,wSt=new f$,vSt=Lyn((bi(),zge),mSt,Gb,wSt)}function tV(){tV=U,CIe=new K3e("LEAF_NUMBER",0),Jde=new K3e("NODE_SIZE",1)}function joe(e){e.a=We(Vr,gi,28,e.b+1,15,1),e.c=We(Vr,gi,28,e.b,15,1),e.d=0}function qvn(e,t){e.a.Ne(t.d,e.b)>0&&(vt(e.c,new M4e(t.c,t.d,e.d)),e.b=t.d)}function j6e(e,t){if(e.g==null||t>=e.i)throw ue(new Use(t,e.i));return e.g[t]}function klt(e,t,n){if(EE(e,n),n!=null&&!e.fk(n))throw ue(new jie);return n}function $oe(e,t){return gN(t)!=10&&he(vh(t),t.Sm,t.__elementTypeId$,gN(t),e),e}function nE(e,t,n,r){var a;r=(Cw(),r||g_e),a=e.slice(t,n),h9e(a,e,t,n,-t,r)}function rf(e,t,n,r,a){return t<0?Uw(e,n,r):l(n,69).wk().yk(e,e.hi(),t,r,a)}function Hvn(e,t){return Yi(ze(Ge(Q(e,(ft(),f3)))),ze(Ge(Q(t,f3))))}function Elt(){Elt=U,I6t=Kr((rE(),he(le(dK,1),it,304,0,[N0e,P0e,B0e,F0e])))}function rE(){rE=U,N0e=new cq("All",0),P0e=new dnt,B0e=new knt,F0e=new fnt}function Fl(){Fl=U,Nd=new bse(Mx,0),Fb=new bse(cT,1),m0=new bse(Dx,2)}function Tlt(){Tlt=U,qU(),KPe=ps,yAt=ia,WPe=new pa(ps),xAt=new pa(ia)}function Clt(){Clt=U,T7t=Kr((Fw(),he(le(E7t,1),it,417,0,[iB,rB,U0e,G0e])))}function Slt(){Slt=U,L7t=Kr((NA(),he(le(A7t,1),it,406,0,[uB,mK,vK,lB])))}function _lt(){_lt=U,S7t=Kr((bx(),he(le(C7t,1),it,332,0,[aB,sB,oB,cB])))}function Alt(){Alt=U,N8t=Kr((Km(),he(le(vAe,1),it,389,0,[u4,mAe,c1e,u1e])))}function Llt(){Llt=U,A8t=Kr((wE(),he(le(_8t,1),it,416,0,[o3,c4,o4,M6])))}function Mlt(){Mlt=U,ixt=Kr((P1(),he(le(rxt,1),it,421,0,[Vx,MT,DT,m1e])))}function Dlt(){Dlt=U,K8t=Kr((OV(),he(le(G8t,1),it,371,0,[b1e,VK,UK,pB])))}function Ilt(){Ilt=U,nEt=Kr((Fy(),he(le(vde,1),it,203,0,[AW,mde,G6,U6])))}function Olt(){Olt=U,sEt=Kr((yd(),he(le(_De,1),it,284,0,[T2,SDe,xde,kde])))}function cN(){cN=U,kLe=new F3e(Ld,0),ZK=new F3e("IMPROVE_STRAIGHTNESS",1)}function Nlt(e,t){var n,r;return r=t/e.c.Rd().gc()|0,n=t%e.c.Rd().gc(),ox(e,r,n)}function Plt(e){var t;if(e.nl())for(t=e.i-1;t>=0;--t)Oe(e,t);return o6e(e)}function $6e(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[0];)n=t;return n}function Blt(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[1];)n=t;return n}function Vvn(e){return De(e,180)?""+l(e,180).a:e==null?null:Ec(e)}function Uvn(e){return De(e,180)?""+l(e,180).a:e==null?null:Ec(e)}function Flt(e,t){if(t.a)throw ue(new Mc(n3t));na(e.a,t),t.a=e,!e.j&&(e.j=t)}function z6e(e,t){Iq.call(this,t.zd(),t.yd()&-16449),nr(e),this.a=e,this.c=t}function Gvn(e,t){return new yae(t,pw(Ja(t.e),t.f.a+e,t.f.b+e),(Vn(),!1))}function Kvn(e,t){return jk(),vt(e,new ua(t,pt(t.e.c.length+t.g.c.length)))}function Wvn(e,t){return jk(),vt(e,new ua(t,pt(t.e.c.length+t.g.c.length)))}function Rlt(){Rlt=U,dCt=Kr((lU(),he(le(VIe,1),it,354,0,[nge,qIe,HIe,zIe])))}function jlt(){jlt=U,FTt=Kr((kA(),he(le(xIe,1),it,353,0,[Ude,$W,Vde,Hde])))}function $lt(){$lt=U,fTt=Kr((wx(),he(le(HDe,1),it,405,0,[PW,lM,hM,fM])))}function zlt(){zlt=U,XSt=Kr((rp(),he(le(Uge,1),it,223,0,[Vge,JB,iC,s9])))}function qlt(){qlt=U,t_t=Kr((Oh(),he(le(e_t,1),it,291,0,[eF,xg,Kb,ZB])))}function Hlt(){Hlt=U,h_t=Kr((wh(),he(le(BM,1),it,386,0,[iF,Cv,rF,L4])))}function Vlt(){Vlt=U,p_t=Kr((UV(),he(le(uPe,1),it,320,0,[Wge,aPe,cPe,oPe])))}function Ult(){Ult=U,v_t=Kr((PV(),he(le(m_t,1),it,415,0,[Yge,hPe,lPe,fPe])))}function nV(){nV=U,pge=new $se(yyt,0),pOe=new $se(uCe,1),gOe=new $se(Ld,2)}function _y(e,t,n,r,a){return nr(e),nr(t),nr(n),nr(r),nr(a),new f5e(e,t,r)}function Glt(e,t){var n;return n=l(ax(e.e,t),400),n?(z4e(n),n.e):null}function cl(e,t){var n;return n=pc(e,t,0),n==-1?!1:(n2(e,n),!0)}function Klt(e,t,n){var r;return db(e),r=new cn,r.a=t,e.a.Nb(new Aet(r,n)),r.a}function Yvn(e){var t;return db(e),t=We(Na,ec,28,0,15,1),A5(e.a,new E8(t)),t}function q6e(e){var t;if(!nce(e))throw ue(new Lc);return e.e=1,t=e.d,e.d=null,t}function i2(e){var t;return xc(e)&&(t=0-e,!isNaN(t))?t:vb(xE(e))}function pc(e,t,n){for(;n=0?iU(e,n,!0,!0):Uw(e,t,!0)}function V6e(e){var t;return t=jm(Kn(e,32)),t==null&&(Yu(e),t=jm(Kn(e,32))),t}function U6e(e){var t;return e.Oh()||(t=yr(e.Dh())-e.ji(),e.$h().Mk(t)),e.zh()}function Zlt(e,t){V_e=new Ot,_7t=t,RL=e,l(RL.b,68),I6e(RL,V_e,null),gvt(RL)}function lA(){lA=U,n1e=new vse("XY",0),t1e=new vse("X",1),r1e=new vse("Y",2)}function ul(){ul=U,i1=new mse("TOP",0),Rb=new mse(cT,1),v0=new mse(kEe,2)}function Zg(){Zg=U,wB=new Tse(Ld,0),F6=new Tse("TOP",1),Ux=new Tse(kEe,2)}function dN(){dN=U,Ede=new j3e("INPUT_ORDER",0),Tde=new j3e("PORT_DEGREE",1)}function iE(){iE=U,YSe=Vu(th,th,524287),b6t=Vu(0,0,SP),XSe=Moe(1),Moe(2),QSe=Moe(0)}function Uoe(e){var t;return e.d!=e.r&&(t=If(e),e.e=!!t&&t.lk()==b5t,e.d=t),e.e}function Goe(e,t,n){var r;return r=e.g[t],R_(e,t,e.Zi(t,n)),e.Ri(t,n,r),e.Ni(),r}function aV(e,t){var n;return n=e.dd(t),n>=0?(e.gd(n),!0):!1}function Koe(e,t){var n;for(Xr(e),Xr(t),n=!1;t.Ob();)n=n|e.Fc(t.Pb());return n}function O1(e,t){var n;return n=l(cr(e.e,t),400),n?(Nnt(e,n),n.e):null}function eht(e){var t,n;return t=e/60|0,n=e%60,n==0?""+t:""+t+":"+(""+n)}function Ay(e,t){var n=e.a[t],r=(wce(),A0e)[typeof n];return r?r(n):e8e(typeof n)}function Oc(e,t){var n,r;return kb(e),r=new S6e(t,e.a),n=new ait(r),new bn(e,n)}function Woe(e){var t;return t=e.b.c.length==0?null:jt(e.b,0),t!=null&&ice(e,0),t}function Zvn(e,t){var n,r,a;a=t.c.i,n=l(cr(e.f,a),60),r=n.d.c-n.e.c,E7e(t.a,r,0)}function G6e(e,t){var n;for(++e.d,++e.c[t],n=t+1;n=0;)++t[0]}function ewn(e,t){Ku(e,t==null||Kq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function twn(e,t){Wu(e,t==null||Kq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function nwn(e,t){Ow(e,t==null||Kq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function rwn(e,t){Iw(e,t==null||Kq((nr(t),t))||isNaN((nr(t),t))?0:(nr(t),t))}function iwn(e,t,n){return z8(new lt(n.e.a+n.f.a/2,n.e.b+n.f.b/2),e)==(nr(t),t)}function swn(e,t){return De(t,102)&&l(t,19).Bb&Mo?new Gse(t,e):new mE(t,e)}function awn(e,t){return De(t,102)&&l(t,19).Bb&Mo?new Gse(t,e):new mE(t,e)}function gN(e){return e.__elementTypeCategory$==null?10:e.__elementTypeCategory$}function rht(e,t){return t==(pae(),pae(),L6t)?e.toLocaleLowerCase():e.toLowerCase()}function iht(e){if(!e.e)throw ue(new Lc);return e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function K6e(e){if(!e.c)throw ue(new Lc);return e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function sht(e){var t;for(++e.a,t=e.c.a.length;e.ae.a[r]&&(r=n);return r}function aht(e){var t;return t=l(Q(e,(ft(),l3)),313),t?t.a==e:!1}function oht(e){var t;return t=l(Q(e,(ft(),l3)),313),t?t.i==e:!1}function cht(){cht=U,E8t=Kr((oo(),he(le(pAe,1),it,367,0,[w0,mg,wu,Du,vc])))}function uht(){uht=U,axt=Kr((jy(),he(le(sxt,1),it,375,0,[bB,WK,YK,KK,GK])))}function lht(){lht=U,mxt=Kr((h2(),he(le(vLe,1),it,348,0,[L1e,mLe,M1e,BT,PT])))}function hht(){hht=U,rEt=Kr((OA(),he(le(yDe,1),it,323,0,[wDe,wde,yde,rM,iM])))}function fht(){fht=U,Mxt=Kr((lf(),he(le(YLe,1),it,171,0,[EB,YL,zb,XL,g4])))}function dht(){dht=U,UTt=Kr((mU(),he(le(VTt,1),it,368,0,[Xde,Kde,Qde,Wde,Yde])))}function ght(){ght=U,UCt=Kr((VA(),he(le(VCt,1),it,373,0,[Q6,e9,xM,yM,zB])))}function pht(){pht=U,QCt=Kr((XN(),he(le(COe,1),it,324,0,[kOe,yge,TOe,xge,EOe])))}function bht(){bht=U,WSt=Kr((Qs(),he(le(LM,1),it,88,0,[Y1,wc,lc,W1,vf])))}function mht(){mht=U,ySt=Kr((t1(),he(le(yg,1),it,170,0,[Bn,fa,Rd,yv,_2])))}function vht(){vht=U,r_t=Kr((t6(),he(le(OM,1),it,256,0,[Wb,tF,QNe,IM,JNe])))}function wht(){wht=U,a_t=Kr((St(),he(le(Do,1),uu,64,0,[Fc,Qn,ar,Dr,er])))}function oV(){oV=U,T_e=new L3e("BY_SIZE",0),z0e=new L3e("BY_SIZE_AND_SHAPE",1)}function cV(){cV=U,J0e=new I3e("EADES",0),xK=new I3e("FRUCHTERMAN_REINGOLD",1)}function pN(){pN=U,QK=new B3e("READING_DIRECTION",0),wLe=new B3e("ROTATION",1)}function hA(){hA=U,D8t=new nI,I8t=new zJ,L8t=new vm,M8t=new gu,O8t=new qJ}function yht(e){this.b=new bt,this.a=new bt,this.c=new bt,this.d=new bt,this.e=e}function xht(e){this.g=e,this.f=new bt,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function kht(e,t,n){Uq.call(this),X6e(this),this.a=e,this.c=n,this.b=t.d,this.f=t.e}function fwn(e,t,n){var r,a;for(a=new G(n);a.a=0&&t0?t-1:t,tZe(jun(Ght(F4e(new L8,n),e.n),e.j),e.k)}function ac(e){var t,n;n=(t=new Hie,t),qr((!e.q&&(e.q=new nt(Vf,e,11,10)),e.q),n)}function W6e(e){return(e.i&2?"interface ":e.i&1?"":"class ")+(Ug(e),e.o)}function uV(e){return ou(e,Oi)>0?Oi:ou(e,co)<0?co:Yr(e)}function Ly(e){return e<3?(Dh(e,Fwt),e+1):e=-.01&&e.a<=$1&&(e.a=0),e.b>=-.01&&e.b<=$1&&(e.b=0),e}function Y5(e){h6();var t,n;for(n=fCe,t=0;tn&&(n=e[t]);return n}function Sht(e,t){var n;if(n=oP(e.Dh(),t),!n)throw ue(new Yn(Nb+t+zfe));return n}function My(e,t){var n;for(n=e;gs(n);)if(n=gs(n),n==t)return!0;return!1}function Ewn(e,t){var n,r,a;for(r=t.a.ld(),n=l(t.a.md(),16).gc(),a=0;ae||e>t)throw ue(new n3e("fromIndex: 0, toIndex: "+e+lEe+t))}function Dw(e){if(e<0)throw ue(new Yn("Illegal Capacity: "+e));this.g=this.aj(e)}function Y6e(e,t){return C1(),h0(Lb),b.Math.abs(e-t)<=Lb||e==t||isNaN(e)&&isNaN(t)}function Qoe(e,t){var n,r,a,o;for(r=e.d,a=0,o=r.length;a0&&(e.a/=t,e.b/=t),e}function Lh(e){var t;return e.w?e.w:(t=pbn(e),t&&!t.Vh()&&(e.w=t),t)}function sE(e,t){var n,r;r=e.a,n=w4n(e,t,null),r!=t&&!e.e&&(n=ZE(e,t,n)),n&&n.oj()}function Dht(e,t,n){var r,a;r=t;do a=ze(e.p[r.p])+n,e.p[r.p]=a,r=e.a[r.p];while(r!=t)}function Iht(e,t,n){var r=function(){return e.apply(r,arguments)};return t.apply(r,n),r}function Mwn(e){var t;return e==null?null:(t=l(e,195),qxn(t,t.length))}function Oe(e,t){if(e.g==null||t>=e.i)throw ue(new Use(t,e.i));return e.Wi(t,e.g[t])}function Dwn(e,t){Cn();var n,r;for(r=new bt,n=0;n=14&&t<=16))),e}function Gr(e,t){var n;return nr(t),n=e[":"+t],BO(!!n,"Enum constant undefined: "+t),n}function Fr(e,t,n,r,a,o){var f;return f=Kae(e,t),Kht(n,f),f.i=a?8:0,f.f=r,f.e=a,f.g=o,f}function J6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=1,this.c=e,this.a=n}function Z6e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=2,this.c=e,this.a=n}function e7e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=6,this.c=e,this.a=n}function t7e(e,t,n,r,a){this.d=t,this.k=r,this.f=a,this.o=-1,this.p=7,this.c=e,this.a=n}function n7e(e,t,n,r,a){this.d=t,this.j=r,this.e=a,this.o=-1,this.p=4,this.c=e,this.a=n}function Wht(e,t){var n,r,a,o;for(r=t,a=0,o=r.length;a=0))throw ue(new Yn("tolerance ("+e+") must be >= 0"));return e}function Xht(e,t){var n;return De(t,44)?e.c.Mc(t):(n=Wce(e,t),XV(e,t),n)}function Zo(e,t,n){return Gm(e,t),ju(e,n),s2(e,0),Dy(e,1),l2(e,!0),u2(e,!0),e}function mN(e,t){var n;if(n=e.gc(),t<0||t>n)throw ue(new vy(t,n));return new d4e(e,t)}function mV(e,t){e.b=b.Math.max(e.b,t.d),e.e+=t.r+(e.a.c.length==0?0:e.c),vt(e.a,t)}function Qht(e){py(e.c>=0),U5n(e.d,e.c)<0&&(e.a=e.a-1&e.d.a.length-1,e.b=e.d.c),e.c=-1}function vV(e){var t,n;for(n=e.c.Cc().Kc();n.Ob();)t=l(n.Pb(),16),t.$b();e.c.$b(),e.d=0}function zwn(e){var t,n,r,a;for(n=e.a,r=0,a=n.length;r=0}function u7e(e,t){e.r>0&&e.c0&&e.g!=0&&u7e(e.i,t/e.r*e.i.d))}function l7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,1,n,e.c))}function ece(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,4,n,e.c))}function fE(e,t){var n;n=e.k,e.k=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,2,n,e.k))}function tce(e,t){var n;n=e.D,e.D=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,2,n,e.D))}function yV(e,t){var n;n=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,8,n,e.f))}function xV(e,t){var n;n=e.i,e.i=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,7,n,e.i))}function h7e(e,t){var n;n=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,8,n,e.a))}function f7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,0,n,e.b))}function d7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,0,n,e.b))}function g7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,1,n,e.c))}function p7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,1,n,e.d))}function Wwn(e,t,n){var r;e.b=t,e.a=n,r=(e.a&512)==512?new bJe:new Z$,e.c=cSn(r,e.b,e.a)}function uft(e,t){return cp(e.e,t)?(Ro(),Uoe(t)?new rH(t,e):new yO(t,e)):new Ftt(t,e)}function Ywn(e){var t,n;return 0>e?new m3e:(t=e+1,n=new xut(t,e),new Gye(null,n))}function Xwn(e,t){Cn();var n;return n=new N8(1),Ia(e)?ic(n,e,t):zu(n.f,e,t),new tr(n)}function Qwn(e,t){var n,r;return n=e.c,r=t.e[e.p],r>0?l(jt(n.a,r-1),10):null}function Jwn(e,t){var n,r;return n=e.o+e.p,r=t.o+t.p,nt?(t<<=1,t>0?t:rL):t}function nce(e){switch(Sye(e.e!=3),e.e){case 2:return!1;case 0:return!0}return ovn(e)}function hft(e,t){var n;return De(t,8)?(n=l(t,8),e.a==n.a&&e.b==n.b):!1}function e3n(e,t){var n;n=new Ot,l(t.b,68),l(t.b,68),l(t.b,68),Gu(t.a,new E4e(e,n,t))}function fft(e,t){var n,r;for(r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),GN(e,n.ld(),n.md())}function b7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,11,n,e.d))}function kV(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,13,n,e.j))}function m7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,21,n,e.b))}function t3n(e,t){(GH(),H1?null:t.c).length==0&&Art(t,new At),ic(e.a,H1?null:t.c,t)}function n3n(e,t){t.Ug("Hierarchical port constraint processing",1),y6n(e),$In(e),t.Vg()}function Pw(){Pw=U,u3=new wse("START",0),jb=new wse("MIDDLE",1),c3=new wse("END",2)}function EV(){EV=U,zW=new G3e("P1_NODE_PLACEMENT",0),X6=new G3e("P2_EDGE_ROUTING",1)}function mb(){mb=U,Hx=new Ui(PEe),TK=new Ui(_3t),$L=new Ui(A3t),hB=new Ui(L3t)}function Bw(e){var t;return bae(e.f.g,e.d),mr(e.b),e.c=e.a,t=l(e.a.Pb(),44),e.b=M7e(e),t}function v7e(e){var t;return e.b==null?(Yp(),Yp(),dF):(t=e.ul()?e.tl():e.sl(),t)}function dft(e,t){var n;return n=t==null?-1:pc(e.b,t,0),n<0?!1:(ice(e,n),!0)}function f0(e,t){var n;return nr(t),n=t.g,e.b[n]?!1:(Ss(e.b,n,t),++e.c,!0)}function TV(e,t){var n,r;return n=1-t,r=e.a[n],e.a[n]=r.a[t],r.a[t]=e,e.b=!0,r.b=!1,r}function r3n(e,t){var n,r;for(r=t.Kc();r.Ob();)n=l(r.Pb(),272),e.b=!0,na(e.e,n),n.b=e}function i3n(e,t){var n,r;return n=l(Q(e,(Nt(),y4)),8),r=l(Q(t,y4),8),Yi(n.b,r.b)}function rce(e,t,n){var r,a,o;return o=t>>5,a=t&31,r=va(lb(e.n[n][o],Yr(u0(a,1))),3),r}function gft(e,t,n){var r,a,o;for(o=e.a.length-1,a=e.b,r=0;r0?1:0:(!e.c&&(e.c=XO(nu(e.f))),e.c).e}function Eft(e,t){t?e.B==null&&(e.B=e.D,e.D=null):e.B!=null&&(e.D=e.B,e.B=null)}function c3n(e,t){return wE(),e==o3&&t==c4||e==c4&&t==o3||e==M6&&t==o4||e==o4&&t==M6}function u3n(e,t){return wE(),e==o3&&t==o4||e==o3&&t==M6||e==c4&&t==M6||e==c4&&t==o4}function Tft(e,t){return C1(),h0($1),b.Math.abs(0-t)<=$1||t==0||isNaN(0)&&isNaN(t)?0:e/t}function Cft(e,t){return ze(Ge(gh(ON(dc(new bn(null,new kn(e.c.b,16)),new MYe(e)),t))))}function k7e(e,t){return ze(Ge(gh(ON(dc(new bn(null,new kn(e.c.b,16)),new LYe(e)),t))))}function l3n(){return Ho(),he(le(R1e,1),it,259,0,[tW,mf,UL,nW,$T,B6,GL,RT,jT,rW])}function h3n(){return Of(),he(le(CDe,1),it,243,0,[LW,AB,LB,kDe,EDe,xDe,TDe,MW,y3,k4])}function f3n(e,t){var n;t.Ug("General Compactor",1),n=m5n(l(at(e,(_b(),ege)),393)),n.Cg(e)}function d3n(e,t){var n,r;return n=l(at(e,(_b(),HW)),17),r=l(at(t,HW),17),au(n.a,r.a)}function E7e(e,t,n){var r,a;for(a=Rr(e,0);a.b!=a.d.c;)r=l(Br(a),8),r.a+=t,r.b+=n;return e}function gA(e,t,n){var r;for(r=e.b[n&e.f];r;r=r.b)if(n==r.a&&md(t,r.g))return r;return null}function pA(e,t,n){var r;for(r=e.c[n&e.f];r;r=r.d)if(n==r.f&&md(t,r.i))return r;return null}function g3n(e,t,n){var r,a,o;for(r=0,a=0;a>>31;r!=0&&(e[n]=r)}function cce(e,t,n,r,a,o){var f;this.c=e,f=new bt,nxe(e,f,t,e.b,n,r,a,o),this.a=new Ua(f,0)}function Sft(){this.c=new Yz(0),this.b=new Yz(hCe),this.d=new Yz(dyt),this.a=new Yz(Mhe)}function af(e,t,n,r,a,o,f){Ur.call(this,e,t),this.d=n,this.e=r,this.c=a,this.b=o,this.a=M1(f)}function Ns(e,t,n,r,a,o,f,g,w,E,C,L,B){return Dpt(e,t,n,r,a,o,f,g,w,E,C,L,B),zce(e,!1),e}function p3n(e){return e.b.c.i.k==(Zn(),Vs)?l(Q(e.b.c.i,(ft(),zi)),12):e.b.c}function _ft(e){return e.b.d.i.k==(Zn(),Vs)?l(Q(e.b.d.i,(ft(),zi)),12):e.b.d}function b3n(e){var t;return t=$H(e),lw(t.a,0)?(Zz(),Zz(),M6t):(Zz(),new crt(t.b))}function uce(e){var t;return t=t6e(e),lw(t.a,0)?(uy(),uy(),O0e):(uy(),new aae(t.b))}function lce(e){var t;return t=t6e(e),lw(t.a,0)?(uy(),uy(),O0e):(uy(),new aae(t.c))}function Aft(e){switch(e.g){case 2:return St(),er;case 4:return St(),ar;default:return e}}function Lft(e){switch(e.g){case 1:return St(),Dr;case 3:return St(),Qn;default:return e}}function Mft(e){switch(e.g){case 0:return new Dne;case 1:return new Ine;default:return null}}function lx(){lx=U,p1e=new ws("edgelabelcenterednessanalysis.includelabel",(Vn(),Bb))}function T7e(){T7e=U,_Et=xd(Qtt(di(di(new Ys,(oo(),wu),(bo(),BK)),Du,DK),vc),PK)}function Dft(){Dft=U,DEt=xd(Qtt(di(di(new Ys,(oo(),wu),(bo(),BK)),Du,DK),vc),PK)}function hce(){hce=U,qM=new hJe,rpe=he(le(pl,1),S6,179,0,[]),J_t=he(le(Vf,1),MSe,62,0,[])}function dE(){dE=U,dB=new O3e("TO_INTERNAL_LTR",0),f1e=new O3e("TO_INPUT_DIRECTION",1)}function Cl(){Cl=U,TAe=new W2,kAe=new Z3,EAe=new VJ,xAe=new wm,CAe=new UJ,SAe=new GJ}function m3n(e,t){t.Ug(V3t,1),_8e(tln(new e_((g_(),new Zae(e,!1,!1,new cS))))),t.Vg()}function v3n(e,t,n){n.Ug("DFS Treeifying phase",1),P5n(e,t),OCn(e,t),e.a=null,e.b=null,n.Vg()}function vN(e,t){return Vn(),Ia(e)?T6e(e,Zr(t)):dy(e)?Pae(e,Ge(t)):fy(e)?cgn(e,Bt(t)):e.Fd(t)}function bA(e,t){var n,r;for(nr(t),r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),e.zc(n.ld(),n.md())}function w3n(e,t,n){var r;for(r=n.Kc();r.Ob();)if(!HH(e,t,r.Pb()))return!1;return!0}function y3n(e,t,n,r,a){var o;return n&&(o=vs(t.Dh(),e.c),a=n.Rh(t,-1-(o==-1?r:o),null,a)),a}function x3n(e,t,n,r,a){var o;return n&&(o=vs(t.Dh(),e.c),a=n.Th(t,-1-(o==-1?r:o),null,a)),a}function Ift(e){var t;if(e.b==-2){if(e.e==0)t=-1;else for(t=0;e.a[t]==0;t++);e.b=t}return e.b}function k3n(e){if(nr(e),e.length==0)throw ue(new hd("Zero length BigInteger"));A_n(this,e)}function C7e(e){this.i=e.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),e.Qc(this.g))}function Oft(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new bt,Nkn(this),Cn(),Hs(this.a,null)}function S7e(e,t){t.q=e,e.d=b.Math.max(e.d,t.r),e.b+=t.d+(e.a.c.length==0?0:e.c),vt(e.a,t)}function gE(e,t){var n,r,a,o;return a=e.c,n=e.c+e.b,o=e.d,r=e.d+e.a,t.a>a&&t.ao&&t.ba?n=a:Xn(t,n+1),e.a=ef(e.a,0,t)+(""+r)+y5e(e.a,n)}function qft(e,t){e.a=go(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d=go(e.d,t)}function L3n(e,t){return t1||e.Ob())return++e.a,e.g=0,t=e.i,e.Ob(),t;throw ue(new Lc)}function Gft(e){switch(e.a.g){case 1:return new Qet;case 3:return new Qdt;default:return new rie}}function A7e(e,t){switch(t){case 1:return!!e.n&&e.n.i!=0;case 2:return e.k!=null}return e6e(e,t)}function nu(e){return _P>22),a=e.h+t.h+(r>>22),Vu(n&th,r&th,a&lp)}function e0t(e,t){var n,r,a;return n=e.l-t.l,r=e.m-t.m+(n>>22),a=e.h-t.h+(r>>22),Vu(n&th,r&th,a&lp)}function X3n(e){var t,n;for(HDn(e),n=new G(e.d);n.ar)throw ue(new vy(t,r));return e.Si()&&(n=vot(e,n)),e.Ei(t,n)}function yE(e,t,n,r,a){var o,f;for(f=n;f<=a;f++)for(o=t;o<=r;o++)r6(e,o,f)||RU(e,o,f,!0,!1)}function lyn(e){h6();var t,n,r;for(n=We(Ea,dt,8,2,0,1),r=0,t=0;t<2;t++)r+=.5,n[t]=r7n(r,e);return n}function xE(e){var t,n,r;return t=~e.l+1&th,n=~e.m+(t==0?1:0)&th,r=~e.h+(t==0&&n==0?1:0)&lp,Vu(t,n,r)}function B7e(e){var t;if(e<0)return co;if(e==0)return 0;for(t=rL;!(t&e);t>>=1);return t}function vce(e,t,n){return e>=128?!1:e<64?I_(va(u0(1,e),n),0):I_(va(u0(1,e-64),t),0)}function _N(e,t,n){return n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),Ei(e.q,t,n)),e}function rt(e,t,n){return n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),Ei(e.q,t,n)),e}function h0t(e){var t,n;return n=new WH,bc(n,e),rt(n,(mb(),Hx),e),t=new Pr,jAn(e,n,t),dDn(e,n,t),n}function f0t(e){var t,n;return t=e.t-e.k[e.o.p]*e.d+e.j[e.o.p]>e.f,n=e.u+e.e[e.o.p]*e.d>e.f*e.s*e.d,t||n}function d0t(e,t){var n,r,a,o;for(n=!1,r=e.a[t].length,o=0;o=0,"Negative initial capacity"),BO(t>=0,"Non-positive load factor"),Pl(this)}function fyn(e,t,n,r,a){var o,f;if(f=e.length,o=n.length,t<0||r<0||a<0||t+a>f||r+a>o)throw ue(new Awe)}function $7e(e,t){Cn();var n,r,a,o,f;for(f=!1,r=t,a=0,o=r.length;a1||t>=0&&e.b<3)}function xce(e){var t,n,r;t=~e.l+1&th,n=~e.m+(t==0?1:0)&th,r=~e.h+(t==0&&n==0?1:0)&lp,e.l=t,e.m=n,e.h=r}function H7e(e){Cn();var t,n,r;for(r=1,n=e.Kc();n.Ob();)t=n.Pb(),r=31*r+(t!=null?Zi(t):0),r=r|0;return r}function myn(e,t,n,r,a){var o;return o=I9e(e,t),n&&xce(o),a&&(e=l7n(e,t),r?Pb=xE(e):Pb=Vu(e.l,e.m,e.h)),o}function E0t(e,t,n){e.g=jue(e,t,(St(),ar),e.b),e.d=jue(e,n,ar,e.b),!(e.g.c==0||e.d.c==0)&&ept(e)}function T0t(e,t,n){e.g=jue(e,t,(St(),er),e.j),e.d=jue(e,n,er,e.j),!(e.g.c==0||e.d.c==0)&&ept(e)}function V7e(e,t){switch(t){case 7:return!!e.e&&e.e.i!=0;case 8:return!!e.d&&e.d.i!=0}return A8e(e,t)}function vyn(e,t){switch(t.g){case 0:De(e.b,641)||(e.b=new zft);break;case 1:De(e.b,642)||(e.b=new $it)}}function C0t(e){switch(e.g){case 0:return new Nne;default:throw ue(new Yn(RG+(e.f!=null?e.f:""+e.g)))}}function S0t(e){switch(e.g){case 0:return new ml;default:throw ue(new Yn(RG+(e.f!=null?e.f:""+e.g)))}}function wyn(e,t,n){return!_k(Ri(new bn(null,new kn(e.c,16)),new Yl(new ftt(t,n)))).Bd((Am(),zx))}function _0t(e,t){return z8(BE(l(Q(t,(Uc(),k3)),88)),new lt(e.c.e.a-e.b.e.a,e.c.e.b-e.b.e.b))<=0}function yyn(e,t){for(;e.g==null&&!e.c?V5e(e):e.g==null||e.i!=0&&l(e.g[e.i-1],51).Ob();)Tln(t,SU(e))}function Um(e){var t,n;for(n=new G(e.a.b);n.ar?1:0}function Eyn(e){return vt(e.c,(hx(),bSt)),Y6e(e.a,ze(Ge(It((Kce(),CW)))))?new Vne:new PXe(e)}function Tyn(e){for(;!e.d||!e.d.Ob();)if(e.b&&!l_(e.b))e.d=l(X8(e.b),51);else return null;return e.d}function G7e(e){switch(e.g){case 1:return dyt;default:case 2:return 0;case 3:return Mhe;case 4:return hCe}}function Cyn(){Ii();var e;return upe||(e=Uhn(Ab("M",!0)),e=cH(Ab("M",!1),e),upe=e,upe)}function PV(){PV=U,Yge=new Sq("ELK",0),hPe=new Sq("JSON",1),lPe=new Sq("DOT",2),fPe=new Sq("SVG",3)}function yA(){yA=U,_de=new Ase("STACKED",0),Sde=new Ase("REVERSE_STACKED",1),MB=new Ase("SEQUENCED",2)}function xA(){xA=U,eIe=new Nse(Ld,0),Ode=new Nse("MIDDLE_TO_MIDDLE",1),OB=new Nse("AVOID_OVERLAP",2)}function TE(){TE=U,cLe=new DZ,uLe=new lI,J8t=new xj,Q8t=new IZ,X8t=new n8,oLe=(nr(X8t),new ke)}function BV(){BV=U,YNe=new fw(15),JSt=new Ha((bi(),A2),YNe),MM=n9,UNe=DSt,GNe=kv,WNe=i7,KNe=S4}function Q5(e,t){var n,r,a,o,f;for(r=t,a=0,o=r.length;a=e.b.c.length||(W7e(e,2*t+1),n=2*t+2,n0&&(t.Cd(n),n.i&&_4n(n))}function Y7e(e,t,n){var r;for(r=n-1;r>=0&&e[r]===t[r];r--);return r<0?0:dse(va(e[r],Vo),va(t[r],Vo))?-1:1}function M0t(e,t,n){var r,a;this.g=e,this.c=t,this.a=this,this.d=this,a=lft(n),r=We(l6t,TP,227,a,0,1),this.b=r}function Sce(e,t,n,r,a){var o,f;for(f=n;f<=a;f++)for(o=t;o<=r;o++)if(r6(e,o,f))return!0;return!1}function Dyn(e,t){var n,r;for(r=e.Zb().Cc().Kc();r.Ob();)if(n=l(r.Pb(),16),n.Hc(t))return!0;return!1}function D0t(e,t,n){var r,a,o,f;for(nr(n),f=!1,o=e.fd(t),a=n.Kc();a.Ob();)r=a.Pb(),o.Rb(r),f=!0;return f}function _ce(e,t){var n,r;return r=l(Kn(e.a,4),129),n=We(tpe,i0e,424,t,0,1),r!=null&&vu(r,0,n,0,r.length),n}function I0t(e,t){var n;return n=new tle((e.f&256)!=0,e.i,e.a,e.d,(e.f&16)!=0,e.j,e.g,t),e.e!=null||(n.c=e),n}function Iyn(e,t){var n;return e===t?!0:De(t,85)?(n=l(t,85),Jxe(Mm(e),n.vc())):!1}function O0t(e,t,n){var r,a;for(a=n.Kc();a.Ob();)if(r=l(a.Pb(),44),e.Be(t,r.md()))return!0;return!1}function N0t(e,t,n){return e.d[t.p][n.p]||(P6n(e,t,n),e.d[t.p][n.p]=!0,e.d[n.p][t.p]=!0),e.a[t.p][n.p]}function Oyn(e,t){var n;return!e||e==t||!ts(t,(ft(),h3))?!1:(n=l(Q(t,(ft(),h3)),10),n!=e)}function Ace(e){switch(e.i){case 2:return!0;case 1:return!1;case-1:++e.c;default:return e.$l()}}function P0t(e){switch(e.i){case-2:return!0;case-1:return!1;case 1:--e.c;default:return e._l()}}function B0t(e){Eot.call(this,"The given string does not match the expected format for individual spacings.",e)}function Nyn(e,t){var n;t.Ug("Min Size Preprocessing",1),n=o9e(e),Hi(e,(cg(),mM),n.a),Hi(e,GW,n.b),t.Vg()}function Pyn(e){var t,n,r;for(t=0,r=We(Ea,dt,8,e.b,0,1),n=Rr(e,0);n.b!=n.d.c;)r[t++]=l(Br(n),8);return r}function Lce(e,t,n){var r,a,o;for(r=new as,o=Rr(n,0);o.b!=o.d.c;)a=l(Br(o),8),li(r,new xo(a));D0t(e,t,r)}function Byn(e,t){var n;return n=go(e,t),dse(voe(e,t),0)|Lq(voe(e,n),0)?n:go(EP,voe(lb(n,63),1))}function Fyn(e,t){var n,r;return n=l(e.d.Bc(t),16),n?(r=e.e.hc(),r.Gc(n),e.e.d-=n.gc(),n.$b(),r):null}function F0t(e){var t;if(t=e.a.c.length,t>0)return qk(t-1,e.a.c.length),n2(e.a,t-1);throw ue(new PQe)}function R0t(e,t,n){if(e>t)throw ue(new Yn(tG+e+Zwt+t));if(e<0||t>n)throw ue(new n3e(tG+e+dEe+t+lEe+n))}function CE(e,t){e.D==null&&e.B!=null&&(e.D=e.B,e.B=null),tce(e,t==null?null:(nr(t),t)),e.C&&e.hl(null)}function Ryn(e,t){var n;n=It((Kce(),CW))!=null&&t.Sg()!=null?ze(Ge(t.Sg()))/ze(Ge(It(CW))):1,Ei(e.b,t,n)}function X7e(e,t){var n,r;if(r=e.c[t],r!=0)for(e.c[t]=0,e.d-=r,n=t+1;nDG?e-n>DG:n-e>DG}function Y0t(e,t){var n;for(n=0;na&&(Cgt(t.q,a),r=n!=t.q.d)),r}function X0t(e,t){var n,r,a,o,f,g,w,E;return w=t.i,E=t.j,r=e.f,a=r.i,o=r.j,f=w-a,g=E-o,n=b.Math.sqrt(f*f+g*g),n}function n8e(e,t){var n,r;return r=QV(e),r||(n=(Ele(),F2t(t)),r=new TQe(n),qr(r.El(),e)),r}function DN(e,t){var n,r;return n=l(e.c.Bc(t),16),n?(r=e.hc(),r.Gc(n),e.d-=n.gc(),n.$b(),e.mc(r)):e.jc()}function Yyn(e,t){var n,r;for(r=Zl(e.d,1)!=0,n=!0;n;)n=!1,n=t.c.mg(t.e,r),n=n|cP(e,t,r,!1),r=!r;y7e(e)}function Q0t(e,t,n,r){var a,o;e.a=t,o=r?0:1,e.f=(a=new lpt(e.c,e.a,n,o),new qbt(n,e.a,a,e.e,e.b,e.c==(Nw(),oM)))}function RV(e){var t;return mr(e.a!=e.b),t=e.d.a[e.a],Crt(e.b==e.d.c&&t!=null),e.c=e.a,e.a=e.a+1&e.d.a.length-1,t}function J0t(e){var t;if(e.c!=0)return e.c;for(t=0;t=e.c.b:e.a<=e.c.b))throw ue(new Lc);return t=e.a,e.a+=e.c.c,++e.b,pt(t)}function Nce(e){var t;return t=new mye(e.a),bc(t,e),rt(t,(ft(),zi),e),t.o.a=e.g,t.o.b=e.f,t.n.a=e.i,t.n.b=e.j,t}function Pce(e){return(St(),dl).Hc(e.j)?ze(Ge(Q(e,(ft(),zT)))):Nc(he(le(Ea,1),dt,8,0,[e.i.n,e.n,e.a])).b}function Qyn(e){var t;return t=Nq(SEt),l(Q(e,(ft(),Ou)),21).Hc((Ho(),$T))&&di(t,(oo(),wu),(bo(),jK)),t}function Jyn(e){var t,n,r,a;for(a=new Gs,r=new G(e);r.a=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(a*=n,r-=1);return t<0?1/a:a}function r4n(e,t){var n,r,a;for(a=1,n=e,r=t>=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(a*=n,r-=1);return t<0?1/a:a}function xb(e,t){var n,r,a,o;return o=(a=e?QV(e):null,Opt((r=t,a&&a.Gl(),r))),o==t&&(n=QV(e),n&&n.Gl()),o}function Z0t(e,t,n){var r,a;return a=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,0,a,t),n?n.nj(r):n=r),n}function e1t(e,t,n){var r,a;return a=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,3,a,t),n?n.nj(r):n=r),n}function i8e(e,t,n){var r,a;return a=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,1,a,t),n?n.nj(r):n=r),n}function t1t(e){var t,n;if(e!=null)for(n=0;n=r||t-129&&e<128?(jit(),t=e+128,n=n_e[t],!n&&(n=n_e[t]=new Tr(e)),n):new Tr(e)}function _E(e){var t,n;return e>-129&&e<128?(nst(),t=e+128,n=a_e[t],!n&&(n=a_e[t]=new Wn(e)),n):new Wn(e)}function i1t(e,t){var n;e.a.c.length>0&&(n=l(jt(e.a,e.a.c.length-1),579),K7e(n,t))||vt(e.a,new kut(t))}function u4n(e){c0();var t,n;t=e.d.c-e.e.c,n=l(e.g,154),Gu(n.b,new mYe(t)),Gu(n.c,new vYe(t)),to(n.i,new wYe(t))}function s1t(e){var t;return t=new nb,t.a+="VerticalSegment ",Eu(t,e.e),t.a+=" ",fi(t,Tye(new ese,new G(e.k))),t.a}function Bce(e,t){var n,r,a;for(n=0,a=Pc(e,t).Kc();a.Ob();)r=l(a.Pb(),12),n+=Q(r,(ft(),$l))!=null?1:0;return n}function e6(e,t,n){var r,a,o;for(r=0,o=Rr(e,0);o.b!=o.d.c&&(a=ze(Ge(Br(o))),!(a>n));)a>=t&&++r;return r}function a1t(e,t){Xr(e);try{return e._b(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function a8e(e,t){Xr(e);try{return e.Hc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function l4n(e,t){Xr(e);try{return e.Mc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function Ny(e,t){Xr(e);try{return e.xc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return null;throw ue(n)}}function h4n(e,t){Xr(e);try{return e.Bc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return null;throw ue(n)}}function TA(e,t){switch(t.g){case 2:case 1:return Pc(e,t);case 3:case 4:return uf(Pc(e,t))}return Cn(),Cn(),Co}function CA(e){var t;return e.Db&64?d0(e):(t=new _f(d0(e)),t.a+=" (name: ",Qo(t,e.zb),t.a+=")",t.a)}function f4n(e){var t;return t=l(O1(e.c.c,""),233),t||(t=new nx(Ck(Tk(new ry,""),"Other")),f2(e.c.c,"",t)),t}function o8e(e,t,n){var r,a;return a=e.sb,e.sb=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,a,t),n?n.nj(r):n=r),n}function c8e(e,t,n){var r,a;return a=e.r,e.r=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,8,a,e.r),n?n.nj(r):n=r),n}function d4n(e,t,n){var r,a;return r=new Jg(e.e,4,13,(a=t.c,a||(Tn(),J1)),null,d2(e,t),!1),n?n.nj(r):n=r,n}function g4n(e,t,n){var r,a;return r=new Jg(e.e,3,13,null,(a=t.c,a||(Tn(),J1)),d2(e,t),!1),n?n.nj(r):n=r,n}function c2(e,t){var n,r;return n=l(t,691),r=n.el(),!r&&n.fl(r=De(t,90)?new Rtt(e,l(t,29)):new oct(e,l(t,156))),r}function IN(e,t,n){var r;e._i(e.i+1),r=e.Zi(t,n),t!=e.i&&vu(e.g,t,e.g,t+1,e.i-t),Ss(e.g,t,r),++e.i,e.Mi(t,n),e.Ni()}function p4n(e,t){var n;return t.a&&(n=t.a.a.length,e.a?fi(e.a,e.b):e.a=new Ch(e.d),gct(e.a,t.a,t.d.length,n)),e}function b4n(e,t){var n;e.c=t,e.a=x5n(t),e.a<54&&(e.f=(n=t.d>1?fct(t.a[0],t.a[1]):fct(t.a[0],0),Fm(t.e>0?n:i2(n))))}function ON(e,t){var n;return n=new cn,e.a.Bd(n)?(Ok(),new Wie(nr(Klt(e,n.a,t)))):(db(e),Ok(),Ok(),m_e)}function o1t(e,t){var n;e.c.length!=0&&(n=l(B1(e,We(vg,v2,10,e.c.length,0,1)),199),uye(n,new U9),e2t(n,t))}function c1t(e,t){var n;e.c.length!=0&&(n=l(B1(e,We(vg,v2,10,e.c.length,0,1)),199),uye(n,new Kd),e2t(n,t))}function Bi(e,t){return Ia(e)?wn(e,t):dy(e)?nit(e,t):fy(e)?(nr(e),qe(e)===qe(t)):n5e(e)?e.Fb(t):Y4e(e)?ent(e,t):Y5e(e,t)}function of(e,t,n){if(t<0)g9e(e,n);else{if(!n.rk())throw ue(new Yn(Nb+n.xe()+kL));l(n,69).wk().Ek(e,e.hi(),t)}}function u1t(e,t,n){if(e<0||t>n)throw ue(new nc(tG+e+dEe+t+", size: "+n));if(e>t)throw ue(new Yn(tG+e+Zwt+t))}function l1t(e){var t;return e.Db&64?d0(e):(t=new _f(d0(e)),t.a+=" (source: ",Qo(t,e.d),t.a+=")",t.a)}function h1t(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e>=48&&e<=57?e-48:0}function m4n(e){XU();var t,n,r,a;for(n=tue(),r=0,a=n.length;r=0?Eb(e):J_(Eb(i2(e))))}function g1t(e,t,n,r,a,o){this.e=new bt,this.f=(qo(),sM),vt(this.e,e),this.d=t,this.a=n,this.b=r,this.f=a,this.c=o}function y4n(e,t,n){e.n=Lm(rm,[dt,ohe],[376,28],14,[n,la(b.Math.ceil(t/32))],2),e.o=t,e.p=n,e.j=t-1>>1,e.k=n-1>>1}function p1t(e){return e-=e>>1&1431655765,e=(e>>2&858993459)+(e&858993459),e=(e>>4)+e&252645135,e+=e>>8,e+=e>>16,e&63}function b1t(e,t){var n,r;for(r=new or(e);r.e!=r.i.gc();)if(n=l(gr(r),142),qe(t)===qe(n))return!0;return!1}function x4n(e,t,n){var r,a,o;return o=(a=VE(e.b,t),a),o&&(r=l(UU(lN(e,o),""),29),r)?B9e(e,r,t,n):null}function Fce(e,t,n){var r,a,o;return o=(a=VE(e.b,t),a),o&&(r=l(UU(lN(e,o),""),29),r)?F9e(e,r,t,n):null}function k4n(e,t){var n;if(n=X5(e.i,t),n==null)throw ue(new ld("Node did not exist in input."));return _7e(t,n),null}function E4n(e,t){var n;if(n=oP(e,t),De(n,331))return l(n,35);throw ue(new Yn(Nb+t+"' is not a valid attribute"))}function _A(e,t,n){var r;if(r=e.gc(),t>r)throw ue(new vy(t,r));if(e.Si()&&e.Hc(n))throw ue(new Yn(WP));e.Gi(t,n)}function T4n(e,t){t.Ug("Sort end labels",1),Os(Ri(Oc(new bn(null,new kn(e.b,16)),new fj),new J7),new oZ),t.Vg()}function Qs(){Qs=U,Y1=new mO(cL,0),wc=new mO(Dx,1),lc=new mO(Mx,2),W1=new mO(yhe,3),vf=new mO("UP",4)}function PN(){PN=U,YW=new zse("P1_STRUCTURE",0),XW=new zse("P2_PROCESSING_ORDER",1),QW=new zse("P3_EXECUTION",2)}function m1t(){m1t=U,zTt=xd(xd(v_(xd(xd(v_(di(new Ys,(wx(),lM),(WA(),Ide)),hM),XDe),JDe),fM),GDe),ZDe)}function C4n(e){switch(l(Q(e,(ft(),hv)),311).g){case 1:rt(e,hv,(Zg(),Ux));break;case 2:rt(e,hv,(Zg(),F6))}}function S4n(e){switch(e){case 0:return new iJe;case 1:return new nJe;case 2:return new rJe;default:throw ue(new YI)}}function v1t(e){switch(e.g){case 2:return wc;case 1:return lc;case 4:return W1;case 3:return vf;default:return Y1}}function f8e(e,t){switch(e.b.g){case 0:case 1:return t;case 2:case 3:return new Zh(t.d,0,t.a,t.b);default:return null}}function d8e(e){switch(e.g){case 1:return er;case 2:return Qn;case 3:return ar;case 4:return Dr;default:return Fc}}function BN(e){switch(e.g){case 1:return Dr;case 2:return er;case 3:return Qn;case 4:return ar;default:return Fc}}function zV(e){switch(e.g){case 1:return ar;case 2:return Dr;case 3:return er;case 4:return Qn;default:return Fc}}function g8e(e,t,n,r){switch(t){case 1:return!e.n&&(e.n=new nt(tc,e,1,7)),e.n;case 2:return e.k}return axe(e,t,n,r)}function AA(e,t,n){var r,a;return e.Pj()?(a=e.Qj(),r=Vue(e,t,n),e.Jj(e.Ij(7,pt(n),r,t,a)),r):Vue(e,t,n)}function Rce(e,t){var n,r,a;e.d==null?(++e.e,--e.f):(a=t.ld(),n=t.Bi(),r=(n&Oi)%e.d.length,hvn(e,r,z2t(e,r,n,a)))}function AE(e,t){var n;n=(e.Bb&b0)!=0,t?e.Bb|=b0:e.Bb&=-1025,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,10,n,t))}function LE(e,t){var n;n=(e.Bb&Qy)!=0,t?e.Bb|=Qy:e.Bb&=-4097,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,12,n,t))}function ME(e,t){var n;n=(e.Bb&Ll)!=0,t?e.Bb|=Ll:e.Bb&=-8193,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,15,n,t))}function DE(e,t){var n;n=(e.Bb&i4)!=0,t?e.Bb|=i4:e.Bb&=-2049,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,11,n,t))}function _4n(e){var t;e.g&&(t=e.c.kg()?e.f:e.a,X9e(t.a,e.o,!0),X9e(t.a,e.o,!1),rt(e.o,(Nt(),Ds),(Fa(),Tv)))}function A4n(e){var t;if(!e.a)throw ue(new rc("Cannot offset an unassigned cut."));t=e.c-e.b,e.b+=t,Hat(e,t),qat(e,t)}function L4n(e,t){var n;if(n=cr(e.k,t),n==null)throw ue(new ld("Port did not exist in input."));return _7e(t,n),null}function M4n(e){var t,n;for(n=R2t(Lh(e)).Kc();n.Ob();)if(t=Zr(n.Pb()),YA(e,t))return Dmn((wet(),$_t),t);return null}function w1t(e){var t,n;for(n=e.p.a.ec().Kc();n.Ob();)if(t=l(n.Pb(),218),t.f&&e.b[t.c]<-1e-10)return t;return null}function D4n(e){var t,n;for(n=fb(new nb,91),t=!0;e.Ob();)t||(n.a+=Eo),t=!1,Eu(n,e.Pb());return(n.a+="]",n).a}function I4n(e){var t,n,r;for(t=new bt,r=new G(e.b);r.at?1:e==t?e==0?Yi(1/e,1/t):0:isNaN(e)?isNaN(t)?0:1:-1}function N4n(e){var t;return t=e.a[e.c-1&e.a.length-1],t==null?null:(e.c=e.c-1&e.a.length-1,Ss(e.a,e.c,null),t)}function P4n(e){var t,n,r;for(r=0,n=e.length,t=0;t=1?wc:W1):n}function j4n(e){switch(l(Q(e,(Nt(),pp)),223).g){case 1:return new Cee;case 3:return new Mee;default:return new Tee}}function kb(e){if(e.c)kb(e.c);else if(e.d)throw ue(new rc("Stream already terminated, can't be modified or used"))}function Rw(e,t,n){var r;return r=e.a.get(t),e.a.set(t,n===void 0?null:n),r===void 0?(++e.c,++e.b.g):++e.d,r}function $4n(e,t,n){var r,a;for(a=e.a.ec().Kc();a.Ob();)if(r=l(a.Pb(),10),EN(n,l(jt(t,r.p),16)))return r;return null}function b8e(e,t,n){var r;return r=0,t&&(B5(e.a)?r+=t.f.a/2:r+=t.f.b/2),n&&(B5(e.a)?r+=n.f.a/2:r+=n.f.b/2),r}function z4n(e,t,n){var r;r=n,!r&&(r=F4e(new L8,0)),r.Ug(D3t,2),Tdt(e.b,t,r.eh(1)),nMn(e,t,r.eh(1)),sIn(t,r.eh(1)),r.Vg()}function m8e(e,t,n){var r,a;return r=(ib(),a=new AS,a),gV(r,t),dV(r,n),e&&qr((!e.a&&(e.a=new Ws(Hh,e,5)),e.a),r),r}function $ce(e){var t;return e.Db&64?d0(e):(t=new _f(d0(e)),t.a+=" (identifier: ",Qo(t,e.k),t.a+=")",t.a)}function zce(e,t){var n;n=(e.Bb&ru)!=0,t?e.Bb|=ru:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,18,n,t))}function v8e(e,t){var n;n=(e.Bb&ru)!=0,t?e.Bb|=ru:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,18,n,t))}function IE(e,t){var n;n=(e.Bb&Td)!=0,t?e.Bb|=Td:e.Bb&=-16385,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,16,n,t))}function w8e(e,t){var n;n=(e.Bb&Mo)!=0,t?e.Bb|=Mo:e.Bb&=-65537,e.Db&4&&!(e.Db&1)&&Pi(e,new l0(e,1,20,n,t))}function y8e(e){var t;return t=We(xf,Cd,28,2,15,1),e-=Mo,t[0]=(e>>10)+AP&Js,t[1]=(e&1023)+56320&Js,Df(t,0,t.length)}function q4n(e){var t;return t=$y(e),t>34028234663852886e22?ps:t<-34028234663852886e22?ia:t}function go(e,t){var n;return xc(e)&&xc(t)&&(n=e+t,_P"+Bm(t.c):"e_"+Zi(t),e.b&&e.c?Bm(e.b)+"->"+Bm(e.c):"e_"+Zi(e))}function U4n(e,t){return wn(t.b&&t.c?Bm(t.b)+"->"+Bm(t.c):"e_"+Zi(t),e.b&&e.c?Bm(e.b)+"->"+Bm(e.c):"e_"+Zi(e))}function jw(e,t){return C1(),h0(Lb),b.Math.abs(e-t)<=Lb||e==t||isNaN(e)&&isNaN(t)?0:et?1:hw(isNaN(e),isNaN(t))}function rp(){rp=U,Vge=new kq(cL,0),JB=new kq("POLYLINE",1),iC=new kq("ORTHOGONAL",2),s9=new kq("SPLINES",3)}function HV(){HV=U,XIe=new jse("ASPECT_RATIO_DRIVEN",0),lge=new jse("MAX_SCALE_DRIVEN",1),YIe=new jse("AREA_DRIVEN",2)}function G4n(e,t,n){var r;try{pyn(e,t,n)}catch(a){throw a=ms(a),De(a,606)?(r=a,ue(new y6e(r))):ue(a)}return t}function K4n(e){var t,n,r;for(n=0,r=e.length;nt&&r.Ne(e[o-1],e[o])>0;--o)f=e[o],Ss(e,o,e[o-1]),Ss(e,o-1,f)}function sn(e,t){var n,r,a,o,f;if(n=t.f,f2(e.c.d,n,t),t.g!=null)for(a=t.g,o=0,f=a.length;ot){mct(n);break}}zO(n,t)}function Q4n(e,t){var n,r,a;r=G5(t),a=ze(Ge(By(r,(Nt(),y0)))),n=b.Math.max(0,a/2-.5),FA(t,n,1),vt(e,new Bet(t,n))}function J4n(e,t,n){var r;n.Ug("Straight Line Edge Routing",1),n.dh(t,xCe),r=l(at(t,(H5(),Y6)),27),svt(e,r),n.dh(t,NG)}function x8e(e,t){e.n.c.length==0&&vt(e.n,new BH(e.s,e.t,e.i)),vt(e.b,t),txe(l(jt(e.n,e.n.c.length-1),209),t),zmt(e,t)}function LA(e){var t;this.a=(t=l(e.e&&e.e(),9),new Jh(t,l(o0(t,t.length),9),0)),this.b=We(wa,Rn,1,this.a.a.length,5,1)}function Ec(e){var t;return Array.isArray(e)&&e.Tm===xe?_m(vh(e))+"@"+(t=Zi(e)>>>0,t.toString(16)):e.toString()}function Z4n(e,t){return e.h==SP&&e.m==0&&e.l==0?(t&&(Pb=Vu(0,0,0)),nnt((iE(),XSe))):(t&&(Pb=Vu(e.l,e.m,e.h)),Vu(0,0,0))}function e5n(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function E1t(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function k8e(e,t,n,r){switch(t){case 3:return e.f;case 4:return e.g;case 5:return e.i;case 6:return e.j}return g8e(e,t,n,r)}function VV(e,t){if(t==e.d)return e.e;if(t==e.e)return e.d;throw ue(new Yn("Node "+t+" not part of edge "+e))}function t5n(e,t){var n;if(n=oP(e.Dh(),t),De(n,102))return l(n,19);throw ue(new Yn(Nb+t+"' is not a valid reference"))}function cf(e,t,n,r){if(t<0)z9e(e,n,r);else{if(!n.rk())throw ue(new Yn(Nb+n.xe()+kL));l(n,69).wk().Ck(e,e.hi(),t,r)}}function Jl(e){var t;if(e.b){if(Jl(e.b),e.b.d!=e.c)throw ue(new Yh)}else e.d.dc()&&(t=l(e.f.c.xc(e.e),16),t&&(e.d=t))}function n5n(e){by();var t,n,r,a;for(t=e.o.b,r=l(l($i(e.r,(St(),Dr)),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a=n.e,a.b+=t}function r5n(e){var t,n,r;for(this.a=new dd,r=new G(e);r.a=a)return t.c+n;return t.c+t.b.gc()}function s5n(e,t){Fk();var n,r,a,o;for(r=Plt(e),a=t,nE(r,0,r.length,a),n=0;n0&&(r+=a,++n);return n>1&&(r+=e.d*(n-1)),r}function o5n(e){var t,n,r,a,o;return o=$xe(e),n=ZI(e.c),r=!n,r&&(a=new zp,J0(o,"knownLayouters",a),t=new hQe(a),to(e.c,t)),o}function C8e(e){var t,n,r;for(r=new Gp,r.a+="[",t=0,n=e.gc();t0&&(Xn(t-1,e.length),e.charCodeAt(t-1)==58)&&!Vce(e,$M,zM))}function S8e(e,t){var n;return qe(e)===qe(t)?!0:De(t,92)?(n=l(t,92),e.e==n.e&&e.d==n.d&&Nmn(e,n.a)):!1}function gx(e){switch(St(),e.g){case 4:return Qn;case 1:return ar;case 3:return Dr;case 2:return er;default:return Fc}}function h5n(e){var t,n;if(e.b)return e.b;for(n=H1?null:e.d;n;){if(t=H1?null:n.b,t)return t;n=H1?null:n.d}return Dk(),y_e}function _8e(e){var t,n,r;for(r=ze(Ge(e.a.of((bi(),sY)))),n=new G(e.a.Sf());n.a>5,t=e&31,r=We(Vr,gi,28,n+1,15,1),r[n]=1<3;)a*=10,--o;e=(e+(a>>1))/a|0}return r.i=e,!0}function vs(e,t){var n,r,a;if(n=(e.i==null&&Ed(e),e.i),r=t.Lj(),r!=-1){for(a=n.length;r=0;--r)for(t=n[r],a=0;a>1,this.k=t-1>>1}function S5n(e){eV(),l(e.of((bi(),Gb)),181).Hc((eh(),fY))&&(l(e.of(_4),181).Fc((jl(),a9)),l(e.of(Gb),181).Mc(fY))}function M1t(e){var t,n;t=e.d==(yx(),IT),n=Mxe(e),t&&!n||!t&&n?rt(e.a,(Nt(),Pd),(ag(),VB)):rt(e.a,(Nt(),Pd),(ag(),HB))}function Kce(){Kce=U,nq(),CW=(Nt(),w3),Zkt=M1(he(le(Sge,1),cCe,149,0,[SB,y0,H6,v3,x4,ude,GT,KT,lde,tM,q6,vv,V6]))}function _5n(e,t){var n;return n=l(kc(e,Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15),n.Qc(Qit(n.gc()))}function D1t(e,t){var n,r;if(r=new ba(e.a.ad(t,!0)),r.a.gc()<=1)throw ue(new S8);return n=r.a.ec().Kc(),n.Pb(),l(n.Pb(),40)}function A5n(e,t,n){var r,a;return r=ze(e.p[t.i.p])+ze(e.d[t.i.p])+t.n.b+t.a.b,a=ze(e.p[n.i.p])+ze(e.d[n.i.p])+n.n.b+n.a.b,a-r}function N8e(e,t){var n;return e.i>0&&(t.lengthe.i&&Ss(t,e.i,null),t}function GV(e){var t;return e.Db&64?CA(e):(t=new _f(CA(e)),t.a+=" (instanceClassName: ",Qo(t,e.D),t.a+=")",t.a)}function KV(e){var t,n,r,a;for(a=0,n=0,r=e.length;n0?(e._j(),r=t==null?0:Zi(t),a=(r&Oi)%e.d.length,n=z2t(e,a,r,t),n!=-1):!1}function I1t(e,t){var n,r;e.a=go(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d+=t,n=t-e.f,r=e.e+n,e.f=r-e.e-n,e.e=r}function P8e(e,t){switch(t){case 3:Iw(e,0);return;case 4:Ow(e,0);return;case 5:Ku(e,0);return;case 6:Wu(e,0);return}s8e(e,t)}function $w(e,t){switch(t.g){case 1:return G8(e.j,(Cl(),kAe));case 2:return G8(e.j,(Cl(),TAe));default:return Cn(),Cn(),Co}}function B8e(e){xw();var t;switch(t=e.Pc(),t.length){case 0:return k0e;case 1:return new _ae(Xr(t[0]));default:return new coe(K4n(t))}}function O1t(e,t){e.Xj();try{e.d.bd(e.e++,t),e.f=e.d.j,e.g=-1}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}}function Yce(){Yce=U,spe=new NS,DPe=new z0,IPe=new AI,OPe=new LI,NPe=new f8,PPe=new nre,BPe=new rre,FPe=new ire,RPe=new sre}function WV(e,t){sye();var n,r;return n=MO((qz(),qz(),NL)),r=null,t==n&&(r=l(Cu(WSe,e),624)),r||(r=new Jst(e),t==n&&ic(WSe,e,r)),r}function N1t(e){Fy();var t;return(e.q?e.q:(Cn(),Cn(),bg))._b((Nt(),b3))?t=l(Q(e,b3),203):t=l(Q(eo(e),eM),203),t}function By(e,t){var n,r;return r=null,ts(e,(Nt(),EW))&&(n=l(Q(e,EW),96),n.pf(t)&&(r=n.of(t))),r==null&&(r=Q(eo(e),t)),r}function P1t(e,t){var n,r,a;return De(t,44)?(n=l(t,44),r=n.ld(),a=Ny(e.Rc(),r),md(a,n.md())&&(a!=null||e.Rc()._b(r))):!1}function e1(e,t){var n,r,a;return e.f>0&&(e._j(),r=t==null?0:Zi(t),a=(r&Oi)%e.d.length,n=x9e(e,a,r,t),n)?n.md():null}function $u(e,t,n){var r,a,o;return e.Pj()?(r=e.i,o=e.Qj(),IN(e,r,t),a=e.Ij(3,null,t,r,o),n?n.nj(a):n=a):IN(e,e.i,t),n}function M5n(e,t,n){var r,a;return r=new Jg(e.e,4,10,(a=t.c,De(a,90)?l(a,29):(Tn(),Gf)),null,d2(e,t),!1),n?n.nj(r):n=r,n}function D5n(e,t,n){var r,a;return r=new Jg(e.e,3,10,null,(a=t.c,De(a,90)?l(a,29):(Tn(),Gf)),d2(e,t),!1),n?n.nj(r):n=r,n}function B1t(e){by();var t;return t=new xo(l(e.e.of((bi(),i7)),8)),e.B.Hc((eh(),aC))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function Eb(e){kd();var t,n;return n=Yr(e),t=Yr(lb(e,32)),t!=0?new Vot(n,t):n>10||n<0?new Xg(1,n):k6t[n]}function RN(e,t){var n;return xc(e)&&xc(t)&&(n=e%t,_P=0?o=o.a[1]:(a=o,o=o.a[0])}return a}function $N(e,t,n){var r,a,o;for(a=null,o=e.b;o;){if(r=e.a.Ne(t,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(a=o,o=o.a[1])}return a}function F5n(e,t,n,r){var a,o,f;return a=!1,$Mn(e.f,n,r)&&(s6n(e.f,e.a[t][n],e.a[t][r]),o=e.a[t],f=o[r],o[r]=o[n],o[n]=f,a=!0),a}function $1t(e,t,n){var r,a,o,f;for(a=l(cr(e.b,n),183),r=0,f=new G(t.j);f.a>5,t&=31,a=e.d+n+(t==0?0:1),r=We(Vr,gi,28,a,15,1),Pxn(r,e.a,n,t),o=new Im(e.e,a,r),iA(o),o}function R5n(e,t){var n,r,a;for(r=new hr(dr(zs(e).a.Kc(),new j));jr(r);)if(n=l(xr(r),18),a=n.d.i,a.c==t)return!1;return!0}function j8e(e,t,n){var r,a,o,f,g;return f=e.k,g=t.k,r=n[f.g][g.g],a=Ge(By(e,r)),o=Ge(By(t,r)),b.Math.max((nr(a),a),(nr(o),o))}function j5n(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function $5n(e,t){return C1(),C1(),h0(Lb),(b.Math.abs(e-t)<=Lb||e==t||isNaN(e)&&isNaN(t)?0:et?1:hw(isNaN(e),isNaN(t)))>0}function $8e(e,t){return C1(),C1(),h0(Lb),(b.Math.abs(e-t)<=Lb||e==t||isNaN(e)&&isNaN(t)?0:et?1:hw(isNaN(e),isNaN(t)))<0}function q1t(e,t){return C1(),C1(),h0(Lb),(b.Math.abs(e-t)<=Lb||e==t||isNaN(e)&&isNaN(t)?0:et?1:hw(isNaN(e),isNaN(t)))<=0}function Qce(e,t){for(var n=0;!t[n]||t[n]=="";)n++;for(var r=t[n++];n0&&this.b>0&&(this.g=oH(this.c,this.b,this.a))}function z5n(e,t){var n=e.a,r;t=String(t),n.hasOwnProperty(t)&&(r=n[t]);var a=(wce(),A0e)[typeof r],o=a?a(r):e8e(typeof r);return o}function NE(e){var t,n,r;if(r=null,t=Id in e.a,n=!t,n)throw ue(new ld("Every element must have an id."));return r=xx(Kg(e,Id)),r}function zw(e){var t,n;for(n=gpt(e),t=null;e.c==2;)Mi(e),t||(t=(Ii(),Ii(),new B_(2)),Qm(t,n),n=t),n.Jm(gpt(e));return n}function XV(e,t){var n,r,a;return e._j(),r=t==null?0:Zi(t),a=(r&Oi)%e.d.length,n=x9e(e,a,r,t),n?(Xht(e,n),n.md()):null}function Y1t(e,t){return e.e>t.e?1:e.et.d?e.e:e.d=48&&e<48+b.Math.min(10,10)?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function q5n(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw ue(new Yn("Input edge is not connected to the input port."))}function H5n(e){if(JV(wT,e))return Vn(),ST;if(JV(Rfe,e))return Vn(),Bb;throw ue(new Yn("Expecting true or false"))}function H8e(e){switch(typeof e){case Ole:return a2(e);case Jke:return j8(e);case Cx:return Mrt(e);default:return e==null?0:gw(e)}}function xd(e,t){if(e.a<0)throw ue(new rc("Did not call before(...) or after(...) before calling add(...)."));return Fye(e,e.a,t),e}function V8e(e){return FH(),De(e,162)?l(cr(lF,_6t),295).Rg(e):Uu(lF,vh(e))?l(cr(lF,vh(e)),295).Rg(e):null}function Yu(e){var t,n;return e.Db&32||(n=(t=l(Kn(e,16),29),yr(t||e.ii())-yr(e.ii())),n!=0&&px(e,32,We(wa,Rn,1,n,5,1))),e}function px(e,t,n){var r;e.Db&t?n==null?SEn(e,t):(r=vue(e,t),r==-1?e.Eb=n:Ss(jm(e.Eb),r,n)):n!=null&&YCn(e,t,n)}function V5n(e,t,n,r){var a,o;t.c.length!=0&&(a=jTn(n,r),o=$kn(t),Os(hV(new bn(null,new kn(o,1)),new a8),new _at(e,n,a,r)))}function U5n(e,t){var n,r,a,o;return r=e.a.length-1,n=t-e.b&r,o=e.c-t&r,a=e.c-e.b&r,Crt(n=o?(Hyn(e,t),-1):(qyn(e,t),1)}function QV(e){var t,n,r;if(r=e.Jh(),!r)for(t=0,n=e.Ph();n;n=n.Ph()){if(++t>che)return n.Qh();if(r=n.Jh(),r||n==e)break}return r}function Q1t(e,t){var n;return qe(t)===qe(e)?!0:!De(t,21)||(n=l(t,21),n.gc()!=e.gc())?!1:e.Ic(n)}function G5n(e,t){return e.et.e?1:e.ft.f?1:Zi(e)-Zi(t)}function JV(e,t){return nr(e),t==null?!1:wn(e,t)?!0:e.length==t.length&&wn(e.toLowerCase(),t.toLowerCase())}function sp(e){var t,n;return ou(e,-129)>0&&ou(e,128)<0?(tst(),t=Yr(e)+128,n=r_e[t],!n&&(n=r_e[t]=new Or(e)),n):new Or(e)}function Km(){Km=U,u4=new gq(Ld,0),mAe=new gq("INSIDE_PORT_SIDE_GROUPS",1),c1e=new gq("GROUP_MODEL_ORDER",2),u1e=new gq(zEe,3)}function K5n(e){var t;return e.b||$un(e,(t=jfn(e.e,e.a),!t||!wn(Rfe,e1((!t.b&&(t.b=new ph((Tn(),Io),Qc,t)),t.b),"qualified")))),e.c}function W5n(e,t){var n,r;for(n=(Xn(t,e.length),e.charCodeAt(t)),r=t+1;r2e3&&(f6t=e,cK=b.setTimeout(Uun,10))),oK++==0?(own((Qwe(),KSe)),!0):!1}function c6n(e,t,n){var r;(N6t?(h5n(e),!0):P6t||F6t?(Dk(),!0):B6t&&(Dk(),!1))&&(r=new git(t),r.b=n,b9n(e,r))}function Zce(e,t){var n;n=!e.A.Hc((wh(),Cv))||e.q==(Fa(),Nu),e.u.Hc((jl(),mp))?n?QDn(e,t):Gvt(e,t):e.u.Hc(Xb)&&(n?mDn(e,t):owt(e,t))}function rdt(e){var t;qe(at(e,(bi(),n7)))===qe((np(),cY))&&(gs(e)?(t=l(at(gs(e),n7),346),Hi(e,n7,t)):Hi(e,n7,DM))}function u6n(e){var t,n;return ts(e.d.i,(Nt(),HT))?(t=l(Q(e.c.i,HT),17),n=l(Q(e.d.i,HT),17),au(t.a,n.a)>0):!1}function idt(e,t,n){return new Zh(b.Math.min(e.a,t.a)-n/2,b.Math.min(e.b,t.b)-n/2,b.Math.abs(e.a-t.a)+n,b.Math.abs(e.b-t.b)+n)}function sdt(e){var t;this.d=new bt,this.j=new qa,this.g=new qa,t=e.g.b,this.f=l(Q(eo(t),(Nt(),jh)),88),this.e=ze(Ge(nU(t,x4)))}function adt(e){this.d=new bt,this.e=new t2,this.c=We(Vr,gi,28,(St(),he(le(Do,1),uu,64,0,[Fc,Qn,ar,Dr,er])).length,15,1),this.b=e}function K8e(e,t,n){var r;switch(r=n[e.g][t],e.g){case 1:case 3:return new lt(0,r);case 2:case 4:return new lt(r,0);default:return null}}function odt(e,t,n){var r,a;a=l(GO(t.f),205);try{a.rf(e,n),fat(t.f,a)}catch(o){throw o=ms(o),De(o,103)?(r=o,ue(r)):ue(o)}}function cdt(e,t,n){var r,a,o,f,g,w;return r=null,g=Rke(hE(),t),o=null,g&&(a=null,w=Bke(g,n),f=null,w!=null&&(f=e.qf(g,w)),a=f,o=a),r=o,r}function eue(e,t,n,r){var a;if(a=e.length,t>=a)return a;for(t=t>0?t:0;tr&&Ss(t,r,null),t}function udt(e,t){var n,r;for(r=e.a.length,t.lengthr&&Ss(t,r,null),t}function PE(e,t){var n,r;if(++e.j,t!=null&&(n=(r=e.a.Cb,De(r,99)?l(r,99).th():null),gEn(t,n))){px(e.a,4,n);return}px(e.a,4,l(t,129))}function l6n(e){var t;if(e==null)return null;if(t=pTn(Au(e,!0)),t==null)throw ue(new Zie("Invalid hexBinary value: '"+e+"'"));return t}function ZV(e,t,n){var r;t.a.length>0&&(vt(e.b,new Mit(t.a,n)),r=t.a.length,0r&&(t.a+=Int(We(xf,Cd,28,-r,15,1))))}function ldt(e,t,n){var r,a,o;if(!n[t.d])for(n[t.d]=!0,a=new G(Z5(t));a.a=e.b>>1)for(r=e.c,n=e.b;n>t;--n)r=r.b;else for(r=e.a.a,n=0;n=0?e.Wh(a):Hue(e,r)):n<0?Hue(e,r):l(r,69).wk().Bk(e,e.hi(),n)}function gdt(e){var t,n,r;for(r=(!e.o&&(e.o=new Tl((cu(),Tg),M2,e,0)),e.o),n=r.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),44),t.md();return iN(r)}function It(e){var t;if(De(e.a,4)){if(t=V8e(e.a),t==null)throw ue(new rc(Byt+e.b+"'. "+Pyt+(Ug(hF),hF.k)+ZCe));return t}else return e.a}function v6n(e,t){var n,r;if(e.j.length!=t.j.length)return!1;for(n=0,r=e.j.length;n=64&&t<128&&(a=Y0(a,u0(1,t-64)));return a}function nU(e,t){var n,r;return r=null,ts(e,(bi(),r9))&&(n=l(Q(e,r9),96),n.pf(t)&&(r=n.of(t))),r==null&&eo(e)&&(r=Q(eo(e),t)),r}function w6n(e,t){var n;return n=l(Q(e,(Nt(),uc)),75),eae(t,P8t)?n?Sh(n):(n=new wl,rt(e,uc,n)):n&&rt(e,uc,null),n}function IA(){IA=U,Q_e=(bi(),ANe),Y0e=cNe,N7t=Z6,X_e=A2,R7t=(gU(),L_e),F7t=__e,j7t=D_e,B7t=S_e,P7t=(Mce(),K_e),W0e=D7t,Y_e=I7t,wK=O7t}function rU(e){switch(y3e(),this.c=new bt,this.d=e,e.g){case 0:case 2:this.a=A5e(bAe),this.b=ps;break;case 3:case 1:this.a=bAe,this.b=ia}}function y6n(e){var t;U8(l(Q(e,(Nt(),Ds)),101))&&(t=e.b,n2t((Sn(0,t.c.length),l(t.c[0],30))),n2t(l(jt(t,t.c.length-1),30)))}function x6n(e,t){t.Ug("Self-Loop post-processing",1),Os(Ri(Ri(Oc(new bn(null,new kn(e.b,16)),new jZ),new $Z),new zZ),new Tj),t.Vg()}function pdt(e,t,n){var r,a;if(e.c)Ku(e.c,e.c.i+t),Wu(e.c,e.c.j+n);else for(a=new G(e.b);a.a=0&&(n.d=e.t);break;case 3:e.t>=0&&(n.a=e.t)}e.C&&(n.b=e.C.b,n.c=e.C.c)}function OA(){OA=U,wDe=new hO(uCe,0),wde=new hO(zhe,1),yde=new hO("LINEAR_SEGMENTS",2),rM=new hO("BRANDES_KOEPF",3),iM=new hO(lyt,4)}function NA(){NA=U,uB=new fq(rG,0),mK=new fq(xhe,1),vK=new fq(khe,2),lB=new fq(Ehe,3),uB.a=!1,mK.a=!0,vK.a=!1,lB.a=!0}function bx(){bx=U,aB=new hq(rG,0),sB=new hq(xhe,1),oB=new hq(khe,2),cB=new hq(Ehe,3),aB.a=!1,sB.a=!0,oB.a=!1,cB.a=!0}function mx(e,t,n,r){var a;return n>=0?e.Sh(t,n,r):(e.Ph()&&(r=(a=e.Fh(),a>=0?e.Ah(r):e.Ph().Th(e,-1-a,null,r))),e.Ch(t,n,r))}function W8e(e,t){switch(t){case 7:!e.e&&(e.e=new An(js,e,7,4)),$r(e.e);return;case 8:!e.d&&(e.d=new An(js,e,8,5)),$r(e.d);return}P8e(e,t)}function Hi(e,t,n){return n==null?(!e.o&&(e.o=new Tl((cu(),Tg),M2,e,0)),XV(e.o,t)):(!e.o&&(e.o=new Tl((cu(),Tg),M2,e,0)),GN(e.o,t,n)),e}function wdt(e,t){Cn();var n,r,a,o;for(n=e,o=t,De(e,21)&&!De(t,21)&&(n=t,o=e),a=n.Kc();a.Ob();)if(r=a.Pb(),o.Hc(r))return!1;return!0}function S6n(e,t,n,r){if(t.an.b)return!0}return!1}function sue(e,t){return Ia(e)?!!s6t[t]:e.Sm?!!e.Sm[t]:dy(e)?!!i6t[t]:fy(e)?!!r6t[t]:!1}function _6n(e){var t;t=e.a;do t=l(xr(new hr(dr(ka(t).a.Kc(),new j))),18).c.i,t.k==(Zn(),Aa)&&e.b.Fc(t);while(t.k==(Zn(),Aa));e.b=uf(e.b)}function ydt(e,t){var n,r,a;for(a=e,r=new hr(dr(ka(t).a.Kc(),new j));jr(r);)n=l(xr(r),18),n.c.i.c&&(a=b.Math.max(a,n.c.i.c.p));return a}function A6n(e,t){var n,r,a;for(a=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a+=n.d.d+n.b.Mf().b+n.d.a,r.Ob()&&(a+=e.w);return a}function L6n(e,t){var n,r,a;for(a=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),a+=n.d.b+n.b.Mf().a+n.d.c,r.Ob()&&(a+=e.w);return a}function xdt(e){var t,n,r,a;if(r=0,a=Vy(e),a.c.length==0)return 1;for(n=new G(a);n.a=0?e.Lh(f,n,!0):Uw(e,o,n)):l(o,69).wk().yk(e,e.hi(),a,n,r)}function O6n(e,t,n,r){var a,o;o=t.pf((bi(),r7))?l(t.of(r7),21):e.j,a=m4n(o),a!=(XU(),V0e)&&(n&&!z8e(a)||Zxe(bTn(e,a,r),t))}function N6n(e){switch(e.g){case 1:return Fw(),iB;case 3:return Fw(),rB;case 2:return Fw(),G0e;case 4:return Fw(),U0e;default:return null}}function P6n(e,t,n){if(e.e)switch(e.b){case 1:Cpn(e.c,t,n);break;case 0:Spn(e.c,t,n)}else qct(e.c,t,n);e.a[t.p][n.p]=e.c.i,e.a[n.p][t.p]=e.c.e}function kdt(e){var t,n;if(e==null)return null;for(n=We(vg,dt,199,e.length,0,2),t=0;t=0)return a;if(e.ol()){for(r=0;r=a)throw ue(new vy(t,a));if(e.Si()&&(r=e.dd(n),r>=0&&r!=t))throw ue(new Yn(WP));return e.Xi(t,n)}function Y8e(e,t){if(this.a=l(Xr(e),253),this.b=l(Xr(t),253),e.Ed(t)>0||e==(Gie(),y0e)||t==(Kie(),x0e))throw ue(new Yn("Invalid range: "+Uct(e,t)))}function Edt(e){var t,n;for(this.b=new bt,this.c=e,this.a=!1,n=new G(e.a);n.a0),(t&-t)==t)return la(t*Zl(e,31)*4656612873077393e-25);do n=Zl(e,31),r=n%t;while(n-r+(t-1)<0);return la(r)}function z6n(e,t,n){switch(n.g){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function zN(e,t,n,r){var a,o;for(a=t;a1&&(o=F6n(e,t)),o}function Sdt(e){var t;return t=ze(Ge(at(e,(bi(),QB))))*b.Math.sqrt((!e.a&&(e.a=new nt(Li,e,10,11)),e.a).i),new lt(t,t/ze(Ge(at(e,aY))))}function oue(e){var t;return e.f&&e.f.Vh()&&(t=l(e.f,54),e.f=l(xb(e,t),84),e.f!=t&&e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,9,8,t,e.f))),e.f}function cue(e){var t;return e.i&&e.i.Vh()&&(t=l(e.i,54),e.i=l(xb(e,t),84),e.i!=t&&e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,9,7,t,e.i))),e.i}function jo(e){var t;return e.b&&e.b.Db&64&&(t=e.b,e.b=l(xb(e,t),19),e.b!=t&&e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,9,21,t,e.b))),e.b}function cU(e,t){var n,r,a;e.d==null?(++e.e,++e.f):(r=t.Bi(),lCn(e,e.f+1),a=(r&Oi)%e.d.length,n=e.d[a],!n&&(n=e.d[a]=e.dk()),n.Fc(t),++e.f)}function J8e(e,t,n){var r;return t.tk()?!1:t.Ik()!=-2?(r=t.ik(),r==null?n==null:Bi(r,n)):t.qk()==e.e.Dh()&&n==null}function uU(){var e;Dh(16,Fwt),e=lft(16),this.b=We(E0e,TP,303,e,0,1),this.c=We(E0e,TP,303,e,0,1),this.a=null,this.e=null,this.i=0,this.f=e-1,this.g=0}function ap(e){i4e.call(this),this.k=(Zn(),Bs),this.j=(Dh(6,Xy),new Ru(6)),this.b=(Dh(2,Xy),new Ru(2)),this.d=new zie,this.f=new jwe,this.a=e}function H6n(e){var t,n;e.c.length<=1||(t=Mbt(e,(St(),Dr)),mpt(e,l(t.a,17).a,l(t.b,17).a),n=Mbt(e,er),mpt(e,l(n.a,17).a,l(n.b,17).a))}function V6n(e,t,n){var r,a;for(a=e.a.b,r=a.c.length;r102?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e-97+10}function due(e,t){if(e==null)throw ue(new D8("null key in entry: null="+t));if(t==null)throw ue(new D8("null value in entry: "+e+"=null"))}function K6n(e,t){for(var n,r;e.Ob();)if(!t.Ob()||(n=e.Pb(),r=t.Pb(),!(qe(n)===qe(r)||n!=null&&Bi(n,r))))return!1;return!t.Ob()}function Ldt(e,t){var n;return n=he(le(Na,1),ec,28,15,[Ice(e.a[0],t),Ice(e.a[1],t),Ice(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function Mdt(e,t){var n;return n=he(le(Na,1),ec,28,15,[FV(e.a[0],t),FV(e.a[1],t),FV(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function exe(e,t,n){U8(l(Q(t,(Nt(),Ds)),101))||(g6e(e,t,g2(t,n)),g6e(e,t,g2(t,(St(),Dr))),g6e(e,t,g2(t,Qn)),Cn(),Hs(t.j,new NYe(e)))}function Ddt(e){var t,n;for(e.c||fMn(e),n=new wl,t=new G(e.a),re(t);t.a0&&(Xn(0,t.length),t.charCodeAt(0)==43)?(Xn(1,t.length+1),t.substr(1)):t))}function o7n(e){var t;return e==null?null:new cb((t=Au(e,!0),t.length>0&&(Xn(0,t.length),t.charCodeAt(0)==43)?(Xn(1,t.length+1),t.substr(1)):t))}function nxe(e,t,n,r,a,o,f,g){var w,E;r&&(w=r.a[0],w&&nxe(e,t,n,w,a,o,f,g),kue(e,n,r.d,a,o,f,g)&&t.Fc(r),E=r.a[1],E&&nxe(e,t,n,E,a,o,f,g))}function r6(e,t,n){try{return lw(rce(e,t,n),1)}catch(r){throw r=ms(r),De(r,333)?ue(new nc(The+e.o+"*"+e.p+Che+t+Eo+n+She)):ue(r)}}function Bdt(e,t,n){try{return lw(rce(e,t,n),0)}catch(r){throw r=ms(r),De(r,333)?ue(new nc(The+e.o+"*"+e.p+Che+t+Eo+n+She)):ue(r)}}function Fdt(e,t,n){try{return lw(rce(e,t,n),2)}catch(r){throw r=ms(r),De(r,333)?ue(new nc(The+e.o+"*"+e.p+Che+t+Eo+n+She)):ue(r)}}function Rdt(e,t){if(e.g==-1)throw ue(new vl);e.Xj();try{e.d.hd(e.g,t),e.f=e.d.j}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}}function c7n(e){var t,n,r,a,o;for(r=new G(e.b);r.ao&&Ss(t,o,null),t}function u7n(e,t){var n,r;if(r=e.gc(),t==null){for(n=0;n0&&(w+=a),E[C]=f,f+=g*(w+r)}function $dt(e){var t,n,r;for(r=e.f,e.n=We(Na,ec,28,r,15,1),e.d=We(Na,ec,28,r,15,1),t=0;t0?e.c:0),++a;e.b=r,e.d=o}function Udt(e,t){var n;return n=he(le(Na,1),ec,28,15,[Q8e(e,(Z0(),Wc),t),Q8e(e,qu,t),Q8e(e,Yc,t)]),e.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function m7n(e,t,n){var r;try{RU(e,t+e.j,n+e.k,!1,!0)}catch(a){throw a=ms(a),De(a,77)?(r=a,ue(new nc(r.g+sG+t+Eo+n+")."))):ue(a)}}function v7n(e,t,n){var r;try{RU(e,t+e.j,n+e.k,!0,!1)}catch(a){throw a=ms(a),De(a,77)?(r=a,ue(new nc(r.g+sG+t+Eo+n+")."))):ue(a)}}function Gdt(e){var t;ts(e,(Nt(),p3))&&(t=l(Q(e,p3),21),t.Hc((Hy(),k0))?(t.Mc(k0),t.Fc(E0)):t.Hc(E0)&&(t.Mc(E0),t.Fc(k0)))}function Kdt(e){var t;ts(e,(Nt(),p3))&&(t=l(Q(e,p3),21),t.Hc((Hy(),C0))?(t.Mc(C0),t.Fc(zf)):t.Hc(zf)&&(t.Mc(zf),t.Fc(C0)))}function wue(e,t,n,r){var a,o,f,g;return e.a==null&&y9n(e,t),f=t.b.j.c.length,o=n.d.p,g=r.d.p,a=g-1,a<0&&(a=f-1),o<=a?e.a[a]-e.a[o]:e.a[f-1]-e.a[o]+e.a[a]}function w7n(e){var t,n;if(!e.b)for(e.b=zH(l(e.f,27).kh().i),n=new or(l(e.f,27).kh());n.e!=n.i.gc();)t=l(gr(n),135),vt(e.b,new Xie(t));return e.b}function y7n(e){var t,n;if(!e.e)for(e.e=zH(Qae(l(e.f,27)).i),n=new or(Qae(l(e.f,27)));n.e!=n.i.gc();)t=l(gr(n),123),vt(e.e,new RXe(t));return e.e}function Wdt(e){var t,n;if(!e.a)for(e.a=zH(LH(l(e.f,27)).i),n=new or(LH(l(e.f,27)));n.e!=n.i.gc();)t=l(gr(n),27),vt(e.a,new iae(e,t));return e.a}function Hw(e){var t;if(!e.C&&(e.D!=null||e.B!=null))if(t=oDn(e),t)e.hl(t);else try{e.hl(null)}catch(n){if(n=ms(n),!De(n,63))throw ue(n)}return e.C}function x7n(e){switch(e.q.g){case 5:vgt(e,(St(),Qn)),vgt(e,Dr);break;case 4:yvt(e,(St(),Qn)),yvt(e,Dr);break;default:Ept(e,(St(),Qn)),Ept(e,Dr)}}function k7n(e){switch(e.q.g){case 5:wgt(e,(St(),ar)),wgt(e,er);break;case 4:xvt(e,(St(),ar)),xvt(e,er);break;default:Tpt(e,(St(),ar)),Tpt(e,er)}}function i6(e,t){var n,r,a;for(a=new qa,r=e.Kc();r.Ob();)n=l(r.Pb(),36),KE(n,a.a,0),a.a+=n.f.a+t,a.b=b.Math.max(a.b,n.f.b);return a.b>0&&(a.b+=t),a}function fU(e,t){var n,r,a;for(a=new qa,r=e.Kc();r.Ob();)n=l(r.Pb(),36),KE(n,0,a.b),a.b+=n.f.b+t,a.a=b.Math.max(a.a,n.f.a);return a.a>0&&(a.a+=t),a}function Ydt(e){var t,n,r;for(r=Oi,n=new G(e.a);n.a>16==6?e.Cb.Th(e,5,o1,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function E7n(e){Xk();var t=e.e;if(t&&t.stack){var n=t.stack,r=t+` +`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(` +`)}return[]}function T7n(e){var t;return t=(Zht(),m6t),t[e>>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function Jdt(e){var t,n,r;e.b==e.c&&(r=e.a.length,n=B7e(b.Math.max(8,r))<<1,e.b!=0?(t=o0(e.a,n),gft(e,t,r),e.a=t,e.b=0):oy(e.a,n),e.c=r)}function C7n(e,t){var n;return n=e.b,n.pf((bi(),ih))?n.ag()==(St(),er)?-n.Mf().a-ze(Ge(n.of(ih))):t+ze(Ge(n.of(ih))):n.ag()==(St(),er)?-n.Mf().a:t}function HN(e){var t;return e.b.c.length!=0&&l(jt(e.b,0),72).a?l(jt(e.b,0),72).a:(t=Jae(e),t??""+(e.c?pc(e.c.a,e,0):-1))}function dU(e){var t;return e.f.c.length!=0&&l(jt(e.f,0),72).a?l(jt(e.f,0),72).a:(t=Jae(e),t??""+(e.i?pc(e.i.j,e,0):-1))}function S7n(e,t){var n,r;if(t<0||t>=e.gc())return null;for(n=t;n0?e.c:0),a=b.Math.max(a,t.d),++r;e.e=o,e.b=a}function A7n(e){var t,n;if(!e.b)for(e.b=zH(l(e.f,123).kh().i),n=new or(l(e.f,123).kh());n.e!=n.i.gc();)t=l(gr(n),135),vt(e.b,new Xie(t));return e.b}function L7n(e,t){var n,r,a;if(t.dc())return Fk(),Fk(),fF;for(n=new Prt(e,t.gc()),a=new or(e);a.e!=a.i.gc();)r=gr(a),t.Hc(r)&&qr(n,r);return n}function axe(e,t,n,r){return t==0?r?(!e.o&&(e.o=new Tl((cu(),Tg),M2,e,0)),e.o):(!e.o&&(e.o=new Tl((cu(),Tg),M2,e,0)),iN(e.o)):iU(e,t,n,r)}function xue(e){var t,n;if(e.rb)for(t=0,n=e.rb.i;t>22),a+=r>>22,a<0)?!1:(e.l=n&th,e.m=r&th,e.h=a&lp,!0)}function kue(e,t,n,r,a,o,f){var g,w;return!(t.Te()&&(w=e.a.Ne(n,r),w<0||!a&&w==0)||t.Ue()&&(g=e.a.Ne(n,o),g>0||!f&&g==0))}function O7n(e,t){TE();var n;if(n=e.j.g-t.j.g,n!=0)return 0;switch(e.j.g){case 2:return qce(t,uLe)-qce(e,uLe);case 4:return qce(e,cLe)-qce(t,cLe)}return 0}function N7n(e){switch(e.g){case 0:return I1e;case 1:return O1e;case 2:return N1e;case 3:return P1e;case 4:return JK;case 5:return B1e;default:return null}}function oc(e,t,n){var r,a;return r=(a=new Vie,Gm(a,t),ju(a,n),qr((!e.c&&(e.c=new nt(T3,e,12,10)),e.c),a),a),s2(r,0),Dy(r,1),l2(r,!0),u2(r,!0),r}function vx(e,t){var n,r;if(t>=e.i)throw ue(new Use(t,e.i));return++e.j,n=e.g[t],r=e.i-t-1,r>0&&vu(e.g,t+1,e.g,t,r),Ss(e.g,--e.i,null),e.Qi(t,n),e.Ni(),n}function Zdt(e,t){var n,r;return e.Db>>16==17?e.Cb.Th(e,21,Hf,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function P7n(e){var t,n,r,a;for(Cn(),Hs(e.c,e.a),a=new G(e.c);a.an.a.c.length))throw ue(new Yn("index must be >= 0 and <= layer node count"));e.c&&cl(e.c.a,e),e.c=n,n&&mw(n.a,t,e)}function igt(e,t){var n,r,a;for(r=new hr(dr(ip(e).a.Kc(),new j));jr(r);)return n=l(xr(r),18),a=l(t.Kb(n),10),new JS(Xr(a.n.b+a.o.b/2));return o_(),o_(),w0e}function sgt(e,t){this.c=new Pr,this.a=e,this.b=t,this.d=l(Q(e,(ft(),$6)),312),qe(Q(e,(Nt(),KMe)))===qe((cN(),ZK))?this.e=new JQe:this.e=new QQe}function BA(e,t){var n,r;return r=null,e.pf((bi(),r9))&&(n=l(e.of(r9),96),n.pf(t)&&(r=n.of(t))),r==null&&e.Tf()&&(r=e.Tf().of(t)),r==null&&(r=It(t)),r}function Eue(e,t){var n,r;n=e.fd(t);try{return r=n.Pb(),n.Qb(),r}catch(a){throw a=ms(a),De(a,112)?ue(new nc("Can't remove element "+t)):ue(a)}}function H7n(e,t){var n,r,a;if(r=new Jz,a=new j7e(r.q.getFullYear()-Mb,r.q.getMonth(),r.q.getDate()),n=eLn(e,t,a),n==0||n0?t:0),++n;return new lt(r,a)}function hxe(e,t){var n,r;return e.Db>>16==6?e.Cb.Th(e,6,js,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(cu(),bY)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function fxe(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,1,oF,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(cu(),gPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function dxe(e,t){var n,r;return e.Db>>16==9?e.Cb.Th(e,9,Li,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(cu(),bPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function cgt(e,t){var n,r;return e.Db>>16==5?e.Cb.Th(e,9,CY,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(Tn(),I2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function ugt(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,6,o1,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(Tn(),N2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function gxe(e,t){var n,r;return e.Db>>16==3?e.Cb.Th(e,0,uF,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(Tn(),D2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function lgt(){this.a=new C$,this.g=new uU,this.j=new uU,this.b=new Pr,this.d=new uU,this.i=new uU,this.k=new Pr,this.c=new Pr,this.e=new Pr,this.f=new Pr}function G7n(e,t,n){var r,a,o;for(n<0&&(n=0),o=e.i,a=n;ache)return FE(e,r);if(r==e)return!0}}return!1}function W7n(e){switch(qq(),e.q.g){case 5:Gpt(e,(St(),Qn)),Gpt(e,Dr);break;case 4:K2t(e,(St(),Qn)),K2t(e,Dr);break;default:Xvt(e,(St(),Qn)),Xvt(e,Dr)}}function Y7n(e){switch(qq(),e.q.g){case 5:h2t(e,(St(),ar)),h2t(e,er);break;case 4:bdt(e,(St(),ar)),bdt(e,er);break;default:Qvt(e,(St(),ar)),Qvt(e,er)}}function X7n(e){var t,n;t=l(Q(e,(p0(),n8t)),17),t?(n=t.a,n==0?rt(e,(mb(),TK),new Gce):rt(e,(mb(),TK),new UH(n))):rt(e,(mb(),TK),new UH(1))}function Q7n(e,t){var n;switch(n=e.i,t.g){case 1:return-(e.n.b+e.o.b);case 2:return e.n.a-n.o.a;case 3:return e.n.b-n.o.b;case 4:return-(e.n.a+e.o.a)}return 0}function J7n(e,t){switch(e.g){case 0:return t==(lf(),zb)?VK:UK;case 1:return t==(lf(),zb)?VK:pB;case 2:return t==(lf(),zb)?pB:UK;default:return pB}}function UN(e,t){var n,r,a;for(cl(e.a,t),e.e-=t.r+(e.a.c.length==0?0:e.c),a=kCe,r=new G(e.a);r.a>16==3?e.Cb.Th(e,12,Li,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(cu(),dPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function bxe(e,t){var n,r;return e.Db>>16==11?e.Cb.Th(e,10,Li,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(cu(),pPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function hgt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,11,Hf,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(Tn(),O2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function fgt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,12,Vf,t):(r=jo(l(Ln((n=l(Kn(e,16),29),n||(Tn(),P4)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function If(e){var t;return!(e.Bb&1)&&e.r&&e.r.Vh()&&(t=l(e.r,54),e.r=l(xb(e,t),142),e.r!=t&&e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,9,8,t,e.r))),e.r}function Tue(e,t,n){var r;return r=he(le(Na,1),ec,28,15,[qxe(e,(Z0(),Wc),t,n),qxe(e,qu,t,n),qxe(e,Yc,t,n)]),e.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function Z7n(e,t){var n,r,a;if(a=E6n(e,t),a.c.length!=0)for(Hs(a,new pS),n=a.c.length,r=0;r>19,E=t.h>>19,w!=E?E-w:(a=e.h,g=t.h,a!=g?a-g:(r=e.m,f=t.m,r!=f?r-f:(n=e.l,o=t.l,n-o)))}function gU(){gU=U,I_e=(BU(),q0e),D_e=new pn(bEe,I_e),M_e=(oV(),z0e),L_e=new pn(mEe,M_e),A_e=(eU(),$0e),__e=new pn(vEe,A_e),S_e=new pn(wEe,(Vn(),!0))}function FA(e,t,n){var r,a;r=t*n,De(e.g,154)?(a=ix(e),a.f.d?a.f.a||(e.d.a+=r+$1):(e.d.d-=r+$1,e.d.a+=r+$1)):De(e.g,10)&&(e.d.d-=r,e.d.a+=2*r)}function dgt(e,t,n){var r,a,o,f,g;for(a=e[n.g],g=new G(t.d);g.a0?e.b:0),++n;t.b=r,t.e=a}function ggt(e){var t,n,r;if(r=e.b,ret(e.i,r.length)){for(n=r.length*2,e.b=We(E0e,TP,303,n,0,1),e.c=We(E0e,TP,303,n,0,1),e.f=n-1,e.i=0,t=e.a;t;t=t.c)eP(e,t,t);++e.g}}function a8n(e,t,n,r){var a,o,f,g;for(a=0;af&&(g=f/r),a>o&&(w=o/a),gd(e,b.Math.min(g,w)),e}function c8n(){qU();var e,t;try{if(t=l(_xe((sb(),Uf),xT),2113),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,b5e((Jr(),e));else throw ue(n)}return new ik}function u8n(){qU();var e,t;try{if(t=l(_xe((sb(),Uf),Bf),2040),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,b5e((Jr(),e));else throw ue(n)}return new d8}function l8n(){Tlt();var e,t;try{if(t=l(_xe((sb(),Uf),cv),2122),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,b5e((Jr(),e));else throw ue(n)}return new uk}function h8n(e,t,n){var r,a;return a=e.e,e.e=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,a,t),n?n.nj(r):n=r),a!=t&&(t?n=ZE(e,_U(e,t),n):n=ZE(e,e.a,n)),n}function pgt(){Jz.call(this),this.e=-1,this.a=!1,this.p=co,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=co}function f8n(e,t){var n,r,a;if(r=e.b.d.d,e.a||(r+=e.b.d.a),a=t.b.d.d,t.a||(a+=t.b.d.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function d8n(e,t){var n,r,a;if(r=e.b.b.d,e.a||(r+=e.b.b.a),a=t.b.b.d,t.a||(a+=t.b.b.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function g8n(e,t){var n,r,a;if(r=e.b.g.d,e.a||(r+=e.b.g.a),a=t.b.g.d,t.a||(a+=t.b.g.a),n=Yi(r,a),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function vxe(){vxe=U,y8t=El(di(di(di(new Ys,(oo(),Du),(bo(),WAe)),Du,YAe),vc,XAe),vc,FAe),k8t=di(di(new Ys,Du,MAe),Du,RAe),x8t=El(new Ys,vc,$Ae)}function p8n(e){var t,n,r,a,o;for(t=l(Q(e,(ft(),KL)),85),o=e.n,r=t.Cc().Kc();r.Ob();)n=l(r.Pb(),314),a=n.i,a.c+=o.a,a.d+=o.b,n.c?Nbt(n):Pbt(n);rt(e,KL,null)}function b8n(e,t,n){var r,a;switch(a=e.b,r=a.d,t.g){case 1:return-r.d-n;case 2:return a.o.a+r.c+n;case 3:return a.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function m8n(e,t,n){var r,a;for(n.Ug("Interactive node placement",1),e.a=l(Q(t,(ft(),$6)),312),a=new G(t.b);a.a0&&(f=(o&Oi)%e.d.length,a=x9e(e,f,o,t),a)?(g=a.nd(n),g):(r=e.ck(o,t,n),e.c.Fc(r),null)}function xxe(e,t){var n,r,a,o;switch(c2(e,t).Kl()){case 3:case 2:{for(n=d6(t),a=0,o=n.i;a=0;r--)if(wn(e[r].d,t)||wn(e[r].d,n)){e.length>=r+1&&e.splice(0,r+1);break}return e}function KN(e,t){var n;return xc(e)&&xc(t)&&(n=e/t,_P0&&(e.b+=2,e.a+=r):(e.b+=1,e.a+=b.Math.min(r,a))}function kgt(e){var t;t=l(Q(l(hf(e.b,0),40),(Uc(),pIe)),107),rt(e,(Qi(),QT),new lt(0,0)),dmt(new nN,e,t.b+t.c-ze(Ge(Q(e,Fde))),t.d+t.a-ze(Ge(Q(e,Rde))))}function Egt(e,t){var n,r;if(r=!1,Ia(t)&&(r=!0,J8(e,new xy(Zr(t)))),r||De(t,242)&&(r=!0,J8(e,(n=p4e(l(t,242)),new vk(n)))),!r)throw ue(new Jie(vSe))}function N8n(e,t,n,r){var a,o,f;return a=new Jg(e.e,1,10,(f=t.c,De(f,90)?l(f,29):(Tn(),Gf)),(o=n.c,De(o,90)?l(o,29):(Tn(),Gf)),d2(e,t),!1),r?r.nj(a):r=a,r}function Txe(e){var t,n;switch(l(Q(eo(e),(Nt(),$Me)),429).g){case 0:return t=e.n,n=e.o,new lt(t.a+n.a/2,t.b+n.b/2);case 1:return new xo(e.n);default:return null}}function WN(){WN=U,eW=new C_(Ld,0),CLe=new C_("LEFTUP",1),_Le=new C_("RIGHTUP",2),TLe=new C_("LEFTDOWN",3),SLe=new C_("RIGHTDOWN",4),F1e=new C_("BALANCED",5)}function P8n(e,t,n){var r,a,o;if(r=Yi(e.a[t.p],e.a[n.p]),r==0){if(a=l(Q(t,(ft(),Wx)),15),o=l(Q(n,Wx),15),a.Hc(n))return-1;if(o.Hc(t))return 1}return r}function B8n(e){switch(e.g){case 1:return new wne;case 2:return new yne;case 3:return new vne;case 0:return null;default:throw ue(new Yn(Tfe+(e.f!=null?e.f:""+e.g)))}}function Cxe(e,t,n){switch(t){case 1:!e.n&&(e.n=new nt(tc,e,1,7)),$r(e.n),!e.n&&(e.n=new nt(tc,e,1,7)),Ls(e.n,l(n,16));return;case 2:fE(e,Zr(n));return}U7e(e,t,n)}function Sxe(e,t,n){switch(t){case 3:Iw(e,ze(Ge(n)));return;case 4:Ow(e,ze(Ge(n)));return;case 5:Ku(e,ze(Ge(n)));return;case 6:Wu(e,ze(Ge(n)));return}Cxe(e,t,n)}function pU(e,t,n){var r,a,o;o=(r=new Vie,r),a=F1(o,t,null),a&&a.oj(),ju(o,n),qr((!e.c&&(e.c=new nt(T3,e,12,10)),e.c),o),s2(o,0),Dy(o,1),l2(o,!0),u2(o,!0)}function _xe(e,t){var n,r,a;return n=y_(e.i,t),De(n,241)?(a=l(n,241),a.zi()==null,a.wi()):De(n,507)?(r=l(n,2037),a=r.b,a):null}function F8n(e,t,n,r){var a,o;return Xr(t),Xr(n),o=l(H_(e.d,t),17),Xlt(!!o,"Row %s not in %s",t,e.e),a=l(H_(e.b,n),17),Xlt(!!a,"Column %s not in %s",n,e.c),o0t(e,o.a,a.a,r)}function Tgt(e,t,n,r,a,o,f){var g,w,E,C,L;if(C=a[o],E=o==f-1,g=E?r:0,L=Hdt(g,C),r!=10&&he(le(e,f-o),t[o],n[o],g,L),!E)for(++o,w=0;w1||g==-1?(o=l(w,15),a.Wb(y5n(e,o))):a.Wb(ule(e,l(w,58)))))}function V8n(e,t,n,r){IZe();var a=v0e;function o(){for(var f=0;f0)return!1;return!0}function K8n(e){var t,n,r,a,o;for(r=new qm(new Cr(e.b).a);r.b;)n=Bw(r),t=l(n.ld(),10),o=l(l(n.md(),42).a,10),a=l(l(n.md(),42).b,8),Ni(K0(t.n),Ni(Ja(o.n),a))}function W8n(e){switch(l(Q(e.b,(Nt(),OMe)),387).g){case 1:Os(dc(Oc(new bn(null,new kn(e.d,16)),new dI),new g5),new yee);break;case 2:HSn(e);break;case 0:xkn(e)}}function Y8n(e,t,n){var r,a,o;for(r=n,!r&&(r=new L8),r.Ug("Layout",e.a.c.length),o=new G(e.a);o.ayfe)return n;a>-1e-6&&++n}return n}function Lxe(e,t){var n;t!=e.b?(n=null,e.b&&(n=OH(e.b,e,-4,n)),t&&(n=mx(t,e,-4,n)),n=e1t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,3,t,t))}function _gt(e,t){var n;t!=e.f?(n=null,e.f&&(n=OH(e.f,e,-1,n)),t&&(n=mx(t,e,-1,n)),n=Z0t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,0,t,t))}function Z8n(e,t,n,r){var a,o,f,g;return dh(e.e)&&(a=t.Lk(),g=t.md(),o=n.md(),f=gb(e,1,a,g,o,a.Jk()?XE(e,a,o,De(a,102)&&(l(a,19).Bb&Mo)!=0):-1,!0),r?r.nj(f):r=f),r}function Agt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new Gp,t=n.Kc();t.Ob();)Qo(r,(Gi(),Zr(t.Pb()))),r.a+=" ";return Kse(r,r.a.length-1)}function Lgt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new Gp,t=n.Kc();t.Ob();)Qo(r,(Gi(),Zr(t.Pb()))),r.a+=" ";return Kse(r,r.a.length-1)}function exn(e,t,n){var r,a;return r=e.c[t.c.p][t.p],a=e.c[n.c.p][n.p],r.a!=null&&a.a!=null?Pae(r.a,a.a):r.a!=null?-1:a.a!=null?1:0}function txn(e,t,n){return n.Ug("Tree layout",1),qO(e.b),W0(e.b,(wx(),PW),PW),W0(e.b,lM,lM),W0(e.b,hM,hM),W0(e.b,fM,fM),e.a=bP(e.b,t),Y8n(e,t,n.eh(1)),n.Vg(),t}function nxn(e,t){var n,r,a,o,f,g;if(t)for(o=t.a.length,n=new Dm(o),g=(n.b-n.a)*n.c<0?(ab(),nm):new ub(n);g.Ob();)f=l(g.Pb(),17),a=Jk(t,f.a),r=new WXe(e),lpn(r.a,a)}function rxn(e,t){var n,r,a,o,f,g;if(t)for(o=t.a.length,n=new Dm(o),g=(n.b-n.a)*n.c<0?(ab(),nm):new ub(n);g.Ob();)f=l(g.Pb(),17),a=Jk(t,f.a),r=new jXe(e),upn(r.a,a)}function ixn(e){var t;if(e!=null&&e.length>0&&ao(e,e.length-1)==33)try{return t=F2t(ef(e,0,e.length-1)),t.e==null}catch(n){if(n=ms(n),!De(n,33))throw ue(n)}return!1}function sxn(e,t,n){var r,a,o;switch(r=eo(t),a=qV(r),o=new mu,Ic(o,t),n.g){case 1:ha(o,BN(gx(a)));break;case 2:ha(o,gx(a))}return rt(o,(Nt(),v4),Ge(Q(e,v4))),o}function Mxe(e){var t,n;return t=l(xr(new hr(dr(ka(e.a).a.Kc(),new j))),18),n=l(xr(new hr(dr(zs(e.a).a.Kc(),new j))),18),Rt(Bt(Q(t,(ft(),U1))))||Rt(Bt(Q(n,U1)))}function jy(){jy=U,bB=new cO("ONE_SIDE",0),WK=new cO("TWO_SIDES_CORNER",1),YK=new cO("TWO_SIDES_OPPOSING",2),KK=new cO("THREE_SIDES",3),GK=new cO("FOUR_SIDES",4)}function Mgt(e,t){var n,r,a,o;for(o=new bt,a=0,r=t.Kc();r.Ob();){for(n=pt(l(r.Pb(),17).a+a);n.a=e.f)break;zn(o.c,n)}return o}function axn(e,t){var n,r,a,o,f;for(o=new G(t.a);o.a0&&egt(this,this.c-1,(St(),ar)),this.c0&&e[0].length>0&&(this.c=Rt(Bt(Q(eo(e[0][0]),(ft(),qLe))))),this.a=We(TEt,dt,2117,e.length,0,2),this.b=We(CEt,dt,2118,e.length,0,2),this.d=new W0t}function hxn(e){return e.c.length==0?!1:(Sn(0,e.c.length),l(e.c[0],18)).c.i.k==(Zn(),Aa)?!0:W5(dc(new bn(null,new kn(e,16)),new Yee),new Xee)}function Ogt(e,t){var n,r,a,o,f,g,w;for(g=Vy(t),o=t.f,w=t.g,f=b.Math.sqrt(o*o+w*w),a=0,r=new G(g);r.a=0?(n=KN(e,ZU),r=RN(e,ZU)):(t=lb(e,1),n=KN(t,5e8),r=RN(t,5e8),r=go(u0(r,1),va(e,1))),Y0(u0(r,32),va(n,Vo))}function Bgt(e,t,n){var r,a;switch(r=(mr(t.b!=0),l(sf(t,t.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=e.f;break;case 3:r.a=0;break;default:r.a=e.g}return a=Rr(t,0),zO(a,r),t}function Fgt(e,t,n,r){var a,o,f,g,w;switch(w=e.b,o=t.d,f=o.j,g=K8e(f,w.d[f.g],n),a=Ni(Ja(o.n),o.a),o.j.g){case 1:case 3:g.a+=a.a;break;case 2:case 4:g.b+=a.b}_s(r,g,r.c.b,r.c)}function Exn(e,t,n){var r,a,o,f;for(f=pc(e.e,t,0),o=new Bwe,o.b=n,r=new Ua(e.e,f);r.b1;t>>=1)t&1&&(r=K5(r,n)),n.d==1?n=K5(n,n):n=new Z1t(wmt(n.a,n.d,We(Vr,gi,28,n.d<<1,15,1)));return r=K5(r,n),r}function jxe(){jxe=U;var e,t,n,r;for(v_e=We(Na,ec,28,25,15,1),w_e=We(Na,ec,28,33,15,1),r=152587890625e-16,t=32;t>=0;t--)w_e[t]=r,r*=.5;for(n=1,e=24;e>=0;e--)v_e[e]=n,n*=.5}function Lxn(e){var t,n;if(Rt(Bt(at(e,(Nt(),m4))))){for(n=new hr(dr(op(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),74),Vw(t)&&Rt(Bt(at(t,gv))))return!0}return!1}function Rgt(e,t){var n,r,a;na(e.f,t)&&(t.b=e,r=t.c,pc(e.j,r,0)!=-1||vt(e.j,r),a=t.d,pc(e.j,a,0)!=-1||vt(e.j,a),n=t.a.b,n.c.length!=0&&(!e.i&&(e.i=new sdt(e)),N3n(e.i,n)))}function Mxn(e){var t,n,r,a,o;return n=e.c.d,r=n.j,a=e.d.d,o=a.j,r==o?n.p=0&&wn(e.substr(t,3),"GMT")||t>=0&&wn(e.substr(t,3),"UTC"))&&(n[0]=t+3),vke(e,n,r)}function Ixn(e,t){var n,r,a,o,f;for(o=e.g.a,f=e.g.b,r=new G(e.d);r.an;o--)e[o]|=t[o-n-1]>>>f,e[o-1]=t[o-n-1]<0&&vu(e.g,t,e.g,t+r,g),f=n.Kc(),e.i+=r,a=0;a>4&15,o=e[r]&15,f[a++]=mPe[n],f[a++]=mPe[o];return Df(f,0,f.length)}function ll(e){var t,n;return e>=Mo?(t=AP+(e-Mo>>10&1023)&Js,n=56320+(e-Mo&1023)&Js,String.fromCharCode(t)+(""+String.fromCharCode(n))):String.fromCharCode(e&Js)}function Hxn(e,t){by();var n,r,a,o;return a=l(l($i(e.r,t),21),87),a.gc()>=2?(r=l(a.Kc().Pb(),117),n=e.u.Hc((jl(),PM)),o=e.u.Hc(a9),!r.a&&!n&&(a.gc()==2||o)):!1}function zgt(e,t,n,r,a){var o,f,g;for(o=Sbt(e,t,n,r,a),g=!1;!o;)CU(e,a,!0),g=!0,o=Sbt(e,t,n,r,a);g&&CU(e,a,!1),f=mce(a),f.c.length!=0&&(e.d&&e.d.Gg(f),zgt(e,a,n,r,f))}function wU(){wU=U,Gge=new L_(Ld,0),zNe=new L_("DIRECTED",1),HNe=new L_("UNDIRECTED",2),jNe=new L_("ASSOCIATION",3),qNe=new L_("GENERALIZATION",4),$Ne=new L_("DEPENDENCY",5)}function Vxn(e,t){var n;if(!_1(e))throw ue(new rc(r4t));switch(n=_1(e),t.g){case 1:return-(e.j+e.f);case 2:return e.i-n.g;case 3:return e.j-n.f;case 4:return-(e.i+e.g)}return 0}function Uxn(e,t,n){var r,a,o;return r=t.Lk(),o=t.md(),a=r.Jk()?gb(e,4,r,o,null,XE(e,r,o,De(r,102)&&(l(r,19).Bb&Mo)!=0),!0):gb(e,r.tk()?2:1,r,o,r.ik(),-1,!0),n?n.nj(a):n=a,n}function $E(e,t){var n,r;for(nr(t),r=e.b.c.length,vt(e.b,t);r>0;){if(n=r,r=(r-1)/2|0,e.a.Ne(jt(e.b,r),t)<=0)return nf(e.b,n,t),!0;nf(e.b,n,jt(e.b,r))}return nf(e.b,r,t),!0}function qxe(e,t,n,r){var a,o;if(a=0,n)a=FV(e.a[n.g][t.g],r);else for(o=0;o=g)}function qgt(e){switch(e.g){case 0:return new _ne;case 1:return new Ane;default:throw ue(new Yn("No implementation is available for the width approximator "+(e.f!=null?e.f:""+e.g)))}}function Hxe(e,t,n,r){var a;if(a=!1,Ia(r)&&(a=!0,zk(t,n,Zr(r))),a||fy(r)&&(a=!0,Hxe(e,t,n,r)),a||De(r,242)&&(a=!0,Nm(t,n,l(r,242))),!a)throw ue(new Jie(vSe))}function Kxn(e,t){var n,r,a;if(n=t.qi(e.a),n&&(a=e1((!n.b&&(n.b=new ph((Tn(),Io),Qc,n)),n.b),Pf),a!=null)){for(r=1;r<(Sl(),zPe).length;++r)if(wn(zPe[r],a))return r}return 0}function Wxn(e,t){var n,r,a;if(n=t.qi(e.a),n&&(a=e1((!n.b&&(n.b=new ph((Tn(),Io),Qc,n)),n.b),Pf),a!=null)){for(r=1;r<(Sl(),qPe).length;++r)if(wn(qPe[r],a))return r}return 0}function Hgt(e,t){var n,r,a,o;if(nr(t),o=e.a.gc(),o0?1:0;o.a[a]!=n;)o=o.a[a],a=e.a.Ne(n.d,o.d)>0?1:0;o.a[a]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function Qxn(e){var t,n,r,a;for(t=new bt,n=We(sh,gg,28,e.a.c.length,16,1),h5e(n,n.length),a=new G(e.a);a.a0&&pmt((Sn(0,n.c.length),l(n.c[0],30)),e),n.c.length>1&&pmt(l(jt(n,n.c.length-1),30),e),t.Vg()}function Zxn(e){jl();var t,n;return t=ns(mp,he(le(uY,1),it,279,0,[Xb])),!(yN(PH(t,e))>1||(n=ns(PM,he(le(uY,1),it,279,0,[NM,a9])),yN(PH(n,e))>1))}function Uxe(e,t){var n;n=Cu((sb(),Uf),e),De(n,507)?ic(Uf,e,new Ptt(this,t)):ic(Uf,e,this),Pue(this,t),t==(Sk(),LPe)?(this.wb=l(this,2038),l(t,2040)):this.wb=(hb(),Un)}function e9n(e){var t,n,r;if(e==null)return null;for(t=null,n=0;n=m2?"error":r>=900?"warn":r>=800?"info":"log"),nat(n,e.a),e.b&&K9e(t,n,e.b,"Exception: ",!0))}function Q(e,t){var n,r;return r=(!e.q&&(e.q=new Pr),cr(e.q,t)),r??(n=t.Sg(),De(n,4)&&(n==null?(!e.q&&(e.q=new Pr),ax(e.q,t)):(!e.q&&(e.q=new Pr),Ei(e.q,t,n))),n)}function oo(){oo=U,w0=new oO("P1_CYCLE_BREAKING",0),mg=new oO("P2_LAYERING",1),wu=new oO("P3_NODE_ORDERING",2),Du=new oO("P4_NODE_PLACEMENT",3),vc=new oO("P5_EDGE_ROUTING",4)}function t9n(e,t){hA();var n;if(e.c==t.c){if(e.b==t.b||c3n(e.b,t.b)){if(n=Oln(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return au(e.b.g,t.b.g)}else return Yi(e.c,t.c)}function Wgt(e,t){var n,r,a;if(Kxe(e,t))return!0;for(r=new G(t);r.a=a||t<0)throw ue(new nc(Jfe+t+av+a));if(n>=a||n<0)throw ue(new nc(Zfe+n+av+a));return t!=n?r=(o=e.Cj(n),e.qj(t,o),o):r=e.xj(n),r}function Qgt(e){var t,n,r;if(r=e,e)for(t=0,n=e.Eh();n;n=n.Eh()){if(++t>che)return Qgt(n);if(r=n,n==e)throw ue(new rc("There is a cycle in the containment hierarchy of "+e))}return r}function Cb(e){var t,n,r;for(r=new Hm(Eo,"[","]"),n=e.Kc();n.Ob();)t=n.Pb(),Qg(r,qe(t)===qe(e)?"(this Collection)":t==null?hl:Ec(t));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function Kxe(e,t){var n,r;if(r=!1,t.gc()<2)return!1;for(n=0;n1&&(e.j.b+=e.e)):(e.j.a+=n.a,e.j.b=b.Math.max(e.j.b,n.b),e.d.c.length>1&&(e.j.a+=e.e))}function Sb(){Sb=U,cxt=he(le(Do,1),uu,64,0,[(St(),Qn),ar,Dr]),oxt=he(le(Do,1),uu,64,0,[ar,Dr,er]),uxt=he(le(Do,1),uu,64,0,[Dr,er,Qn]),lxt=he(le(Do,1),uu,64,0,[er,Qn,ar])}function r9n(e,t,n,r){var a,o,f,g,w,E,C;if(f=e.c.d,g=e.d.d,f.j!=g.j)for(C=e.b,a=f.j,w=null;a!=g.j;)w=t==0?zV(a):d8e(a),o=K8e(a,C.d[a.g],n),E=K8e(w,C.d[w.g],n),li(r,Ni(o,E)),a=w}function i9n(e,t,n,r){var a,o,f,g,w;return f=tgt(e.a,t,n),g=l(f.a,17).a,o=l(f.b,17).a,r&&(w=l(Q(t,(ft(),$l)),10),a=l(Q(n,$l),10),w&&a&&(qct(e.b,w,a),g+=e.b.i,o+=e.b.e)),g>o}function Zgt(e){var t,n,r,a,o,f,g,w,E;for(this.a=kdt(e),this.b=new bt,n=e,r=0,a=n.length;rlae(e.d).c?(e.i+=e.g.c,Xce(e.d)):lae(e.d).c>lae(e.g).c?(e.e+=e.d.c,Xce(e.g)):(e.i+=lst(e.g),e.e+=lst(e.d),Xce(e.g),Xce(e.d))}function c9n(e,t,n){var r,a,o,f;for(o=t.q,f=t.r,new Pm((X0(),Hb),t,o,1),new Pm(Hb,o,f,1),a=new G(n);a.ag&&(w=g/r),a>o&&(E=o/a),f=b.Math.min(w,E),e.a+=f*(t.a-e.a),e.b+=f*(t.b-e.b)}function f9n(e,t,n,r,a){var o,f;for(f=!1,o=l(jt(n.b,0),27);zAn(e,t,o,r,a)&&(f=!0,q8n(n,o),n.b.c.length!=0);)o=l(jt(n.b,0),27);return n.b.c.length==0&&UN(n.j,n),f&&hU(t.q),f}function d9n(e,t){h6();var n,r,a,o;if(t.b<2)return!1;for(o=Rr(t,0),n=l(Br(o),8),r=n;o.b!=o.d.c;){if(a=l(Br(o),8),Que(e,r,a))return!0;r=a}return!!Que(e,r,n)}function Yxe(e,t,n,r){var a,o;return n==0?(!e.o&&(e.o=new Tl((cu(),Tg),M2,e,0)),Gq(e.o,t,r)):(o=l(Ln((a=l(Kn(e,16),29),a||e.ii()),n),69),o.wk().Ak(e,Yu(e),n-yr(e.ii()),t,r))}function Pue(e,t){var n;t!=e.sb?(n=null,e.sb&&(n=l(e.sb,54).Th(e,1,RM,n)),t&&(n=l(t,54).Rh(e,1,RM,n)),n=o8e(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,4,t,t))}function g9n(e,t){var n,r,a,o;if(t)a=tp(t,"x"),n=new UXe(e),aE(n.a,(nr(a),a)),o=tp(t,"y"),r=new GXe(e),cE(r.a,(nr(o),o));else throw ue(new ld("All edge sections need an end point."))}function p9n(e,t){var n,r,a,o;if(t)a=tp(t,"x"),n=new qXe(e),oE(n.a,(nr(a),a)),o=tp(t,"y"),r=new HXe(e),uE(r.a,(nr(o),o));else throw ue(new ld("All edge sections need a start point."))}function b9n(e,t){var n,r,a,o,f,g,w;for(r=L0t(e),o=0,g=r.length;o>22-t,a=e.h<>22-t):t<44?(n=0,r=e.l<>44-t):(n=0,r=0,a=e.l<e)throw ue(new Yn("k must be smaller than n"));return t==0||t==e?1:e==0?0:kxe(e)/(kxe(t)*kxe(e-t))}function Xxe(e,t){var n,r,a,o;for(n=new fye(e);n.g==null&&!n.c?V5e(n):n.g==null||n.i!=0&&l(n.g[n.i-1],51).Ob();)if(o=l(SU(n),58),De(o,167))for(r=l(o,167),a=0;a>4],t[n*2+1]=MY[o&15];return Df(t,0,t.length)}function I9n(e){EH();var t,n,r;switch(r=e.c.length,r){case 0:return a6t;case 1:return t=l($pt(new G(e)),44),Cdn(t.ld(),t.md());default:return n=l(B1(e,We(uv,QU,44,e.c.length,0,1)),173),new Ywe(n)}}function O9n(e){var t,n,r,a,o,f;for(t=new z5,n=new z5,pb(t,e),pb(n,e);n.b!=n.c;)for(a=l(X8(n),36),f=new G(a.a);f.a0&&lP(e,n,t),a):xEn(e,t,n)}function _b(){_b=U,hCt=(bi(),n9),fCt=Ev,oCt=kv,cCt=i7,uCt=Gb,aCt=r7,PIe=YB,lCt=_4,Zde=(lke(),YTt),ege=XTt,FIe=eCt,tge=rCt,RIe=tCt,jIe=nCt,BIe=QTt,HW=JTt,VW=ZTt,FB=iCt,$Ie=sCt,NIe=WTt}function opt(e,t){var n,r,a,o,f;if(e.e<=t||rbn(e,e.g,t))return e.g;for(o=e.r,r=e.g,f=e.r,a=(o-r)/2+r;r+11&&(e.e.b+=e.a)):(e.e.a+=n.a,e.e.b=b.Math.max(e.e.b,n.b),e.d.c.length>1&&(e.e.a+=e.a))}function R9n(e){var t,n,r,a;switch(a=e.i,t=a.b,r=a.j,n=a.g,a.a.g){case 0:n.a=(e.g.b.o.a-r.a)/2;break;case 1:n.a=t.d.n.a+t.d.a.a;break;case 2:n.a=t.d.n.a+t.d.a.a-r.a;break;case 3:n.b=t.d.n.b+t.d.a.b}}function j9n(e,t,n){var r,a,o;for(a=new hr(dr(ip(n).a.Kc(),new j));jr(a);)r=l(xr(a),18),!Lo(r)&&!(!Lo(r)&&r.c.i.c==r.d.i.c)&&(o=Q2t(e,r,n,new ZQe),o.c.length>1&&zn(t.c,o))}function upt(e,t,n,r,a){if(rr&&(e.a=r),e.ba&&(e.b=a),e}function $9n(e){if(De(e,143))return mCn(l(e,143));if(De(e,233))return o5n(l(e,233));if(De(e,23))return v9n(l(e,23));throw ue(new Yn(wSe+Cb(new Ol(he(le(wa,1),Rn,1,5,[e])))))}function z9n(e,t,n,r,a){var o,f,g;for(o=!0,f=0;f>>a|n[f+r+1]<>>a,++f}return o}function e9e(e,t,n,r){var a,o,f;if(t.k==(Zn(),Aa)){for(o=new hr(dr(ka(t).a.Kc(),new j));jr(o);)if(a=l(xr(o),18),f=a.c.i.k,f==Aa&&e.c.a[a.c.i.c.p]==r&&e.c.a[t.c.p]==n)return!0}return!1}function q9n(e,t){var n,r,a,o;return t&=63,n=e.h&lp,t<22?(o=n>>>t,a=e.m>>t|n<<22-t,r=e.l>>t|e.m<<22-t):t<44?(o=0,a=n>>>t-22,r=e.m>>t-22|e.h<<44-t):(o=0,a=0,r=n>>>t-44),Vu(r&th,a&th,o&lp)}function lpt(e,t,n,r){var a;this.b=r,this.e=e==(Nw(),oM),a=t[n],this.d=Lm(sh,[dt,gg],[183,28],16,[a.length,a.length],2),this.a=Lm(Vr,[dt,gi],[53,28],15,[a.length,a.length],2),this.c=new Pxe(t,n)}function H9n(e){var t,n,r;for(e.k=new K5e((St(),he(le(Do,1),uu,64,0,[Fc,Qn,ar,Dr,er])).length,e.j.c.length),r=new G(e.j);r.a=n)return qE(e,t,r.p),!0;return!1}function o6(e,t,n,r){var a,o,f,g,w,E;for(f=n.length,o=0,a=-1,E=rht((Xn(t,e.length+1),e.substr(t)),(pae(),b_e)),g=0;go&&bgn(E,rht(n[g],b_e))&&(a=g,o=w);return a>=0&&(r[0]=t+o),a}function fpt(e){var t;return e.Db&64?Bue(e):(t=new Ch(cSe),!e.a||fi(fi((t.a+=' "',t),e.a),'"'),fi(sw(fi(sw(fi(sw(fi(sw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function dpt(e,t,n){var r,a,o,f,g;for(g=Xu(e.e.Dh(),t),a=l(e.g,124),r=0,f=0;fn?l9e(e,n,"start index"):t<0||t>n?l9e(t,n,"end index"):KA("end index (%s) must not be less than start index (%s)",he(le(wa,1),Rn,1,5,[pt(t),pt(e)]))}function ppt(e,t){var n,r,a,o;for(r=0,a=e.length;r0&&bpt(e,o,n));t.p=0}function Xt(e){var t;this.c=new as,this.f=e.e,this.e=e.d,this.i=e.g,this.d=e.c,this.b=e.b,this.k=e.j,this.a=e.a,e.i?this.j=e.i:this.j=(t=l(U0(yg),9),new Jh(t,l(o0(t,t.length),9),0)),this.g=e.f}function Y9n(e){var t,n,r,a;for(t=fb(fi(new Ch("Predicates."),"and"),40),n=!0,a=new kr(e);a.b0?g[f-1]:We(vg,v2,10,0,0,1),a=g[f],E=f=0?e.ki(a):g9e(e,r);else throw ue(new Yn(Nb+r.xe()+kL));else throw ue(new Yn(g4t+t+p4t));else of(e,n,r)}function t9e(e){var t,n;if(n=null,t=!1,De(e,211)&&(t=!0,n=l(e,211).a),t||De(e,263)&&(t=!0,n=""+l(e,263).a),t||De(e,493)&&(t=!0,n=""+l(e,493).a),!t)throw ue(new Jie(vSe));return n}function n9e(e,t,n){var r,a,o,f,g,w;for(w=Xu(e.e.Dh(),t),r=0,g=e.i,a=l(e.g,124),f=0;f=e.d.b.c.length&&(t=new Tu(e.d),t.p=r.p-1,vt(e.d.b,t),n=new Tu(e.d),n.p=r.p,vt(e.d.b,n)),Va(r,l(jt(e.d.b,r.p),30))}function s9e(e,t,n){var r,a,o;if(!e.b[t.g]){for(e.b[t.g]=!0,r=n,!r&&(r=new nN),li(r.b,t),o=e.a[t.g].Kc();o.Ob();)a=l(o.Pb(),65),a.b!=t&&s9e(e,a.b,r),a.c!=t&&s9e(e,a.c,r),li(r.a,a);return r}return null}function Z9n(e){switch(e.g){case 0:case 1:case 2:return St(),Qn;case 3:case 4:case 5:return St(),Dr;case 6:case 7:case 8:return St(),er;case 9:case 10:case 11:return St(),ar;default:return St(),Fc}}function ekn(e,t){var n;return e.c.length==0?!1:(n=N1t((Sn(0,e.c.length),l(e.c[0],18)).c.i),_h(),n==(Fy(),G6)||n==U6?!0:W5(dc(new bn(null,new kn(e,16)),new Qee),new JYe(t)))}function $ue(e,t){if(De(t,207))return Wln(e,l(t,27));if(De(t,193))return Yln(e,l(t,123));if(De(t,452))return Kln(e,l(t,166));throw ue(new Yn(wSe+Cb(new Ol(he(le(wa,1),Rn,1,5,[t])))))}function kpt(e,t,n){var r,a;if(this.f=e,r=l(cr(e.b,t),260),a=r?r.a:0,E6e(n,a),n>=(a/2|0))for(this.e=r?r.c:null,this.d=a;n++0;)K6e(this);this.b=t,this.a=null}function tkn(e,t){var n,r;t.a?PCn(e,t):(n=l(use(e.b,t.b),60),n&&n==e.a[t.b.f]&&n.a&&n.a!=t.b.a&&n.c.Fc(t.b),r=l(cse(e.b,t.b),60),r&&e.a[r.f]==t.b&&r.a&&r.a!=t.b.a&&t.b.c.Fc(r),nae(e.b,t.b))}function Ept(e,t){var n,r;if(n=l(Jo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.b=0,n.n.c=0;return}n.n.b=e.C.b,n.n.c=e.C.c,e.A.Hc((wh(),Cv))&&Ybt(e,t),r=L6n(e,t),Zue(e,t)==(t6(),Wb)&&(r+=2*e.w),n.a.a=r}function Tpt(e,t){var n,r;if(n=l(Jo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.d=0,n.n.a=0;return}n.n.d=e.C.d,n.n.a=e.C.a,e.A.Hc((wh(),Cv))&&Xbt(e,t),r=A6n(e,t),Zue(e,t)==(t6(),Wb)&&(r+=2*e.w),n.a.b=r}function nkn(e,t){var n,r,a,o;for(o=new bt,r=new G(t);r.ar&&(Xn(t-1,e.length),e.charCodeAt(t-1)<=32);)--t;return r>0||tn.a&&(r.Hc((Ym(),EM))?a=(t.a-n.a)/2:r.Hc(TM)&&(a=t.a-n.a)),t.b>n.b&&(r.Hc((Ym(),SM))?o=(t.b-n.b)/2:r.Hc(CM)&&(o=t.b-n.b)),Vxe(e,a,o)}function Dpt(e,t,n,r,a,o,f,g,w,E,C,L,B){De(e.Cb,90)&&qy(Xl(l(e.Cb,90)),4),ju(e,n),e.f=f,LE(e,g),DE(e,w),AE(e,E),ME(e,C),l2(e,L),IE(e,B),u2(e,!0),s2(e,a),e.Zk(o),Gm(e,t),r!=null&&(e.i=null,kV(e,r))}function l9e(e,t,n){if(e<0)return KA(Awt,he(le(wa,1),Rn,1,5,[n,pt(e)]));if(t<0)throw ue(new Yn(Lwt+t));return KA("%s (%s) must not be greater than size (%s)",he(le(wa,1),Rn,1,5,[n,pt(e),pt(t)]))}function h9e(e,t,n,r,a,o){var f,g,w,E;if(f=r-n,f<7){X4n(t,n,r,o);return}if(w=n+a,g=r+a,E=w+(g-w>>1),h9e(t,e,w,E,-a,o),h9e(t,e,E,g,-a,o),o.Ne(e[E-1],e[E])<=0){for(;n=0?e.bi(o,n):z9e(e,a,n);else throw ue(new Yn(Nb+a.xe()+kL));else throw ue(new Yn(g4t+t+p4t));else cf(e,r,a,n)}function Ipt(e){var t,n;if(e.f){for(;e.n>0;){if(t=l(e.k.Xb(e.n-1),76),n=t.Lk(),De(n,102)&&l(n,19).Bb&ru&&(!e.e||n.pk()!=oC||n.Lj()!=0)&&t.md()!=null)return!0;--e.n}return!1}else return e.n>0}function Opt(e){var t,n,r,a;if(n=l(e,54)._h(),n)try{if(r=null,t=VE((sb(),Uf),vmt(c5n(n))),t&&(a=t.ai(),a&&(r=a.Fl(uun(n.e)))),r&&r!=e)return Opt(r)}catch(o){if(o=ms(o),!De(o,63))throw ue(o)}return e}function vkn(e,t,n){var r,a,o;n.Ug("Remove overlaps",1),n.dh(t,xCe),r=l(at(t,(H5(),Y6)),27),e.f=r,e.a=aue(l(at(t,(_b(),FB)),300)),a=Ge(at(t,(bi(),Ev))),_e(e,(nr(a),a)),o=Vy(r),$vt(e,t,o,n),n.dh(t,NG)}function wkn(e){var t,n,r;if(Rt(Bt(at(e,(bi(),KB))))){for(r=new bt,n=new hr(dr(op(e).a.Kc(),new j));jr(n);)t=l(xr(n),74),Vw(t)&&Rt(Bt(at(t,Nge)))&&zn(r.c,t);return r}else return Cn(),Cn(),Co}function Npt(e){if(!e)return IJe(),p6t;var t=e.valueOf?e.valueOf():e;if(t!==e){var n=A0e[typeof t];return n?n(t):e8e(typeof t)}else return e instanceof Array||e instanceof b.Array?new _z(e):new wk(e)}function Ppt(e,t,n){var r,a,o;switch(o=e.o,r=l(Jo(e.p,n),252),a=r.i,a.b=nP(r),a.a=tP(r),a.b=b.Math.max(a.b,o.a),a.b>o.a&&!t&&(a.b=o.a),a.c=-(a.b-o.a)/2,n.g){case 1:a.d=-a.a;break;case 3:a.d=o.b}fle(r),dle(r)}function Bpt(e,t,n){var r,a,o;switch(o=e.o,r=l(Jo(e.p,n),252),a=r.i,a.b=nP(r),a.a=tP(r),a.a=b.Math.max(a.a,o.b),a.a>o.b&&!t&&(a.a=o.b),a.d=-(a.a-o.b)/2,n.g){case 4:a.c=-a.b;break;case 2:a.c=o.a}fle(r),dle(r)}function ykn(e,t){var n,r,a,o,f;if(!t.dc()){if(a=l(t.Xb(0),131),t.gc()==1){dbt(e,a,a,1,0,t);return}for(n=1;n0)try{a=Nh(t,co,Oi)}catch(o){throw o=ms(o),De(o,130)?(r=o,ue(new rV(r))):ue(o)}return n=(!e.a&&(e.a=new Bie(e)),e.a),a=0?l(Oe(n,a),58):null}function Tkn(e,t){if(e<0)return KA(Awt,he(le(wa,1),Rn,1,5,["index",pt(e)]));if(t<0)throw ue(new Yn(Lwt+t));return KA("%s (%s) must be less than size (%s)",he(le(wa,1),Rn,1,5,["index",pt(e),pt(t)]))}function Ckn(e){var t,n,r,a,o;if(e==null)return hl;for(o=new Hm(Eo,"[","]"),n=e,r=0,a=n.length;r=0?e.Lh(n,!0,!0):Uw(e,a,!0),160)),l(r,220).Zl(t);else throw ue(new Yn(Nb+t.xe()+kL))}function p9e(e){var t,n;return e>-0x800000000000&&e<0x800000000000?e==0?0:(t=e<0,t&&(e=-e),n=la(b.Math.floor(b.Math.log(e)/.6931471805599453)),(!t||e!=b.Math.pow(2,n))&&++n,n):Zft(nu(e))}function $kn(e){var t,n,r,a,o,f,g;for(o=new dd,n=new G(e);n.a2&&g.e.b+g.j.b<=2&&(a=g,r=f),o.a.zc(a,o),a.q=r);return o}function zkn(e,t,n){n.Ug("Eades radial",1),n.dh(t,NG),e.d=l(at(t,(H5(),Y6)),27),e.c=ze(Ge(at(t,(_b(),VW)))),e.e=aue(l(at(t,FB),300)),e.a=b5n(l(at(t,$Ie),434)),e.b=B8n(l(at(t,BIe),354)),v8n(e),n.dh(t,NG)}function qkn(e,t){if(t.Ug("Target Width Setter",1),I1(e,(R1(),dge)))Hi(e,(cg(),C4),Ge(at(e,dge)));else throw ue(new Up("A target width has to be set if the TargetWidthWidthApproximator should be used."));t.Vg()}function zpt(e,t){var n,r,a;return r=new ap(e),bc(r,t),rt(r,(ft(),oW),t),rt(r,(Nt(),Ds),(Fa(),Nu)),rt(r,Pd,(ag(),nY)),x(r,(Zn(),Vs)),n=new mu,Ic(n,r),ha(n,(St(),er)),a=new mu,Ic(a,r),ha(a,ar),r}function qpt(e){switch(e.g){case 0:return new Yie((Nw(),DB));case 1:return new Jre;case 2:return new Zre;default:throw ue(new Yn("No implementation is available for the crossing minimizer "+(e.f!=null?e.f:""+e.g)))}}function Hpt(e,t){var n,r,a,o,f;for(e.c[t.p]=!0,vt(e.a,t),f=new G(t.j);f.a=o)f.$b();else for(a=f.Kc(),r=0;r0?e3e():f<0&&Kpt(e,t,-f),!0):!1}function tP(e){var t,n,r,a,o,f,g;if(g=0,e.b==0){for(f=Ldt(e,!0),t=0,r=f,a=0,o=r.length;a0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}else g=VJe(uce(ky(Ri(u5e(e.a),new Ra),new du)));return g>0?g+e.n.d+e.n.a:0}function nP(e){var t,n,r,a,o,f,g;if(g=0,e.b==0)g=VJe(uce(ky(Ri(u5e(e.a),new yc),new Jc)));else{for(f=Mdt(e,!0),t=0,r=f,a=0,o=r.length;a0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}return g>0?g+e.n.b+e.n.c:0}function Ykn(e){var t,n;if(e.c.length!=2)throw ue(new rc("Order only allowed for two paths."));t=(Sn(0,e.c.length),l(e.c[0],18)),n=(Sn(1,e.c.length),l(e.c[1],18)),t.d.i!=n.c.i&&(e.c.length=0,zn(e.c,n),zn(e.c,t))}function Wpt(e,t,n){var r;for(F5(n,t.g,t.f),Xh(n,t.i,t.j),r=0;r<(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i;r++)Wpt(e,l(Oe((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),r),27),l(Oe((!n.a&&(n.a=new nt(Li,n,10,11)),n.a),r),27))}function Xkn(e,t){var n,r,a,o;for(o=l(Jo(e.b,t),127),n=o.a,a=l(l($i(e.r,t),21),87).Kc();a.Ob();)r=l(a.Pb(),117),r.c&&(n.a=b.Math.max(n.a,$4e(r.c)));if(n.a>0)switch(t.g){case 2:o.n.c=e.s;break;case 4:o.n.b=e.s}}function Qkn(e,t){var n,r,a;return n=l(Q(t,(p0(),qx)),17).a-l(Q(e,qx),17).a,n==0?(r=ma(Ja(l(Q(e,(mb(),hB)),8)),l(Q(e,$L),8)),a=ma(Ja(l(Q(t,hB),8)),l(Q(t,$L),8)),Yi(r.a*r.b,a.a*a.b)):n}function Jkn(e,t){var n,r,a;return n=l(Q(t,(Uc(),jW)),17).a-l(Q(e,jW),17).a,n==0?(r=ma(Ja(l(Q(e,(Qi(),NB)),8)),l(Q(e,QT),8)),a=ma(Ja(l(Q(t,NB),8)),l(Q(t,QT),8)),Yi(r.a*r.b,a.a*a.b)):n}function Ypt(e){var t,n;return n=new nb,n.a+="e_",t=U3n(e),t!=null&&(n.a+=""+t),e.c&&e.d&&(fi((n.a+=" ",n),dU(e.c)),fi(Eu((n.a+="[",n),e.c.i),"]"),fi((n.a+=Bhe,n),dU(e.d)),fi(Eu((n.a+="[",n),e.d.i),"]")),n.a}function Xpt(e){switch(e.g){case 0:return new oie;case 1:return new dk;case 2:return new aie;case 3:return new sie;default:throw ue(new Yn("No implementation is available for the layout phase "+(e.f!=null?e.f:""+e.g)))}}function v9e(e,t,n,r,a){var o;switch(o=0,a.g){case 1:o=b.Math.max(0,t.b+e.b-(n.b+r));break;case 3:o=b.Math.max(0,-e.b-r);break;case 2:o=b.Math.max(0,-e.a-r);break;case 4:o=b.Math.max(0,t.a+e.a-(n.a+r))}return o}function Zkn(e,t,n){var r,a,o,f,g;if(n)for(a=n.a.length,r=new Dm(a),g=(r.b-r.a)*r.c<0?(ab(),nm):new ub(r);g.Ob();)f=l(g.Pb(),17),o=Jk(n,f.a),fSe in o.a||Xfe in o.a?d_n(e,o,t):IIn(e,o,t),Dhn(l(cr(e.b,NE(o)),74))}function w9e(e){var t,n;switch(e.b){case-1:return!0;case 0:return n=e.t,n>1||n==-1?(e.b=-1,!0):(t=If(e),t&&(Ro(),t.lk()==b5t)?(e.b=-1,!0):(e.b=1,!1));default:case 1:return!1}}function y9e(e,t){var n,r,a,o;if(Mi(e),e.c!=0||e.a!=123)throw ue(new ni(ai((Jr(),R4t))));if(o=t==112,r=e.d,n=Nk(e.i,125,r),n<0)throw ue(new ni(ai((Jr(),j4t))));return a=ef(e.i,r,n),e.d=n+1,ylt(a,o,(e.e&512)==512)}function Qpt(e){var t,n,r,a,o,f,g;if(r=e.a.c.length,r>0)for(f=e.c.d,g=e.d.d,a=gd(ma(new lt(g.a,g.b),f),1/(r+1)),o=new lt(f.a,f.b),n=new G(e.a);n.a=0&&r=0?e.Lh(n,!0,!0):Uw(e,a,!0),160)),l(r,220).Wl(t);throw ue(new Yn(Nb+t.xe()+zfe))}function rEn(){k3e();var e;return eAt?l(VE((sb(),Uf),Bf),2038):(xi(uv,new OI),JMn(),e=l(De(Cu((sb(),Uf),Bf),560)?Cu(Uf,Bf):new gat,560),eAt=!0,ZIn(e),aOn(e),Ei((x3e(),APe),e,new w1),ic(Uf,Bf,e),e)}function iEn(e,t){var n,r,a,o;e.j=-1,dh(e.e)?(n=e.i,o=e.i!=0,tN(e,t),r=new Jg(e.e,3,e.c,null,t,n,o),a=t.zl(e.e,e.c,null),a=Dgt(e,t,a),a?(a.nj(r),a.oj()):Pi(e.e,r)):(tN(e,t),a=t.zl(e.e,e.c,null),a&&a.oj())}function EU(e,t){var n,r,a;if(a=0,r=t[0],r>=e.length)return-1;for(n=(Xn(r,e.length),e.charCodeAt(r));n>=48&&n<=57&&(a=a*10+(n-48),++r,!(r>=e.length));)n=(Xn(r,e.length),e.charCodeAt(r));return r>t[0]?t[0]=r:a=-1,a}function sEn(e){var t,n,r,a,o;return a=l(e.a,17).a,o=l(e.b,17).a,n=a,r=o,t=b.Math.max(b.Math.abs(a),b.Math.abs(o)),a<=0&&a==o?(n=0,r=o-1):a==-t&&o!=t?(n=o,r=a,o>=0&&++n):(n=-o,r=a),new ua(pt(n),pt(r))}function aEn(e,t,n,r){var a,o,f,g,w,E;for(a=0;a=0&&E>=0&&w=e.i)throw ue(new nc(Jfe+t+av+e.i));if(n>=e.i)throw ue(new nc(Zfe+n+av+e.i));return r=e.g[n],t!=n&&(t>16),t=r>>16&16,n=16-t,e=e>>t,r=e-256,t=r>>16&8,n+=t,e<<=t,r=e-Qy,t=r>>16&4,n+=t,e<<=t,r=e-Td,t=r>>16&2,n+=t,e<<=t,r=e>>14,t=r&~(r>>1),n+2-t)}function cEn(e){tx();var t,n,r,a;for(yK=new bt,Q0e=new Pr,X0e=new bt,t=(!e.a&&(e.a=new nt(Li,e,10,11)),e.a),JDn(t),a=new or(t);a.e!=a.i.gc();)r=l(gr(a),27),pc(yK,r,0)==-1&&(n=new bt,vt(X0e,n),tdt(r,n));return X0e}function uEn(e,t,n){var r,a,o,f;e.a=n.b.d,De(t,326)?(a=l6(l(t,74),!1,!1),o=QN(a),r=new t_(e),to(o,r),dP(o,a),t.of((bi(),E3))!=null&&to(l(t.of(E3),75),r)):(f=l(t,422),f.rh(f.nh()+e.a.a),f.sh(f.oh()+e.a.b))}function lEn(e,t){var n,r,a;for(a=new bt,r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),n.c.g==e.g&&qe(Q(n.b,(Uc(),Fd)))!==qe(Q(n.c,Fd))&&!W5(new bn(null,new kn(a,16)),new lXe(n))&&zn(a.c,n);return Hs(a,new Dte),a}function Zpt(e,t,n){var r,a,o,f;return De(t,153)&&De(n,153)?(o=l(t,153),f=l(n,153),e.a[o.a][f.a]+e.a[f.a][o.a]):De(t,250)&&De(n,250)&&(r=l(t,250),a=l(n,250),r.a==a.a)?l(Q(a.a,(p0(),qx)),17).a:0}function e2t(e,t){var n,r,a,o,f,g,w,E;for(E=ze(Ge(Q(t,(Nt(),tM)))),w=e[0].n.a+e[0].o.a+e[0].d.c+E,g=1;g=0?n:(g=eA(ma(new lt(f.c+f.b/2,f.d+f.a/2),new lt(o.c+o.b/2,o.d+o.a/2))),-(Smt(o,f)-1)*g)}function fEn(e,t,n){var r;Os(new bn(null,(!n.a&&(n.a=new nt(os,n,6,6)),new kn(n.a,16))),new ptt(e,t)),Os(new bn(null,(!n.n&&(n.n=new nt(tc,n,1,7)),new kn(n.n,16))),new btt(e,t)),r=l(at(n,(bi(),E3)),75),r&&E7e(r,e,t)}function Uw(e,t,n){var r,a,o;if(o=g6((Sl(),io),e.Dh(),t),o)return Ro(),l(o,69).xk()||(o=rx(sc(io,o))),a=(r=e.Ih(o),l(r>=0?e.Lh(r,!0,!0):Uw(e,o,!0),160)),l(a,220).Sl(t,n);throw ue(new Yn(Nb+t.xe()+zfe))}function x9e(e,t,n,r){var a,o,f,g,w;if(a=e.d[t],a){if(o=a.g,w=a.i,r!=null){for(g=0;g=n&&(r=t,E=(w.c+w.a)/2,f=E-n,w.c<=E-n&&(a=new wae(w.c,f),mw(e,r++,a)),g=E+n,g<=w.a&&(o=new wae(g,w.a),Ty(r,e.c.length),x_(e.c,r,o)))}function r2t(e,t,n){var r,a,o,f,g,w;if(!t.dc()){for(a=new as,w=t.Kc();w.Ob();)for(g=l(w.Pb(),40),Ei(e.a,pt(g.g),pt(n)),f=(r=Rr(new qg(g).a.d,0),new C5(r));QI(f.a);)o=l(Br(f.a),65).c,_s(a,o,a.c.b,a.c);r2t(e,a,n+1)}}function k9e(e){var t;if(!e.c&&e.g==null)e.d=e.bj(e.f),qr(e,e.d),t=e.d;else{if(e.g==null)return!0;if(e.i==0)return!1;t=l(e.g[e.i-1],51)}return t==e.b&&null.Vm>=null.Um()?(SU(e),k9e(e)):t.Ob()}function i2t(e){if(this.a=e,e.c.i.k==(Zn(),Vs))this.c=e.c,this.d=l(Q(e.c.i,(ft(),Xc)),64);else if(e.d.i.k==Vs)this.c=e.d,this.d=l(Q(e.d.i,(ft(),Xc)),64);else throw ue(new Yn("Edge "+e+" is not an external edge."))}function s2t(e,t){var n,r,a;a=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,3,a,e.b)),t?t!=e&&(ju(e,t.zb),Joe(e,t.d),n=(r=t.c,r??t.zb),ece(e,n==null||wn(n,t.zb)?null:n)):(ju(e,null),Joe(e,0),ece(e,null))}function a2t(e,t){var n;this.e=(xw(),Xr(e),xw(),B8e(e)),this.c=(Xr(t),B8e(t)),Cye(this.e.Rd().dc()==this.c.Rd().dc()),this.d=x1t(this.e),this.b=x1t(this.c),n=Lm(wa,[dt,Rn],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,zwn(this)}function o2t(e){!S0e&&(S0e=lIn());var t=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return g2n(n)});return'"'+t+'"'}function E9e(e,t,n,r,a,o){var f,g,w,E,C;if(a!=0)for(qe(e)===qe(n)&&(e=e.slice(t,t+a),t=0),w=n,g=t,E=t+a;g=f)throw ue(new vy(t,f));return a=n[t],f==1?r=null:(r=We(tpe,i0e,424,f-1,0,1),vu(n,0,r,0,t),o=f-t-1,o>0&&vu(n,t+1,r,t,o)),PE(e,r),Mpt(e,t,a),a}function u2t(e){var t,n;if(e.f){for(;e.n0?o=gx(n):o=BN(gx(n))),Hi(t,VT,o)}function wEn(e,t){var n;t.Ug("Partition preprocessing",1),n=l(kc(Ri(Oc(Ri(new bn(null,new kn(e.a,16)),new LZ),new MZ),new yj),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15),Os(n.Oc(),new t8),t.Vg()}function yEn(e,t){var n,r,a,o,f;for(f=e.j,t.a!=t.b&&Hs(f,new kS),a=f.c.length/2|0,r=0;r0&&lP(e,n,t),o):r.a!=null?(lP(e,t,n),-1):a.a!=null?(lP(e,n,t),1):0}function kEn(e,t){var n,r,a,o,f;for(a=t.b.b,e.a=We(bf,Jy,15,a,0,1),e.b=We(sh,gg,28,a,16,1),f=Rr(t.b,0);f.b!=f.d.c;)o=l(Br(f),40),e.a[o.g]=new as;for(r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),e.a[n.b.g].Fc(n),e.a[n.c.g].Fc(n)}function d2t(e,t){var n,r,a,o;e.Pj()?(n=e.Ej(),o=e.Qj(),++e.j,e.qj(n,e.Zi(n,t)),r=e.Ij(3,null,t,n,o),e.Mj()?(a=e.Nj(t,null),a?(a.nj(r),a.oj()):e.Jj(r)):e.Jj(r)):(rat(e,t),e.Mj()&&(a=e.Nj(t,null),a&&a.oj()))}function T9e(e,t,n){var r,a,o;e.Pj()?(o=e.Qj(),IN(e,t,n),r=e.Ij(3,null,n,t,o),e.Mj()?(a=e.Nj(n,null),e.Tj()&&(a=e.Uj(n,a)),a?(a.nj(r),a.oj()):e.Jj(r)):e.Jj(r)):(IN(e,t,n),e.Mj()&&(a=e.Nj(n,null),a&&a.oj()))}function TU(e,t){var n,r,a,o,f;for(f=Xu(e.e.Dh(),t),a=new Q2,n=l(e.g,124),o=e.i;--o>=0;)r=n[o],f.am(r.Lk())&&qr(a,r);!cwt(e,a)&&dh(e.e)&&xk(e,t.Jk()?gb(e,6,t,(Cn(),Co),null,-1,!1):gb(e,t.tk()?2:1,t,null,null,-1,!1))}function EEn(e,t){var n,r,a,o,f;return e.a==(zE(),VL)?!0:(o=t.a.c,n=t.a.c+t.a.b,!(t.j&&(r=t.A,f=r.c.c.a-r.o.a/2,a=o-(r.n.a+r.o.a),a>f)||t.q&&(r=t.C,f=r.c.c.a-r.o.a/2,a=r.n.a-n,a>f)))}function g2t(e){doe();var t,n,r,a,o,f,g;for(n=new t2,a=new G(e.e.b);a.a1?e.e*=ze(e.a):e.f/=ze(e.a),Uyn(e),Q5n(e),WSn(e),rt(e.b,(IA(),wK),e.g)}function v2t(e,t,n){var r,a,o,f,g,w;for(r=0,w=n,t||(r=n*(e.c.length-1),w*=-1),o=new G(e);o.a=0?e.Ah(null):e.Ph().Th(e,-1-t,null,null)),e.Bh(l(a,54),n),r&&r.oj(),e.vh()&&e.wh()&&n>-1&&Pi(e,new _a(e,9,n,o,a)),a):o}function _9e(e,t){var n,r,a,o,f;for(o=e.b.Ce(t),r=(n=e.a.get(o),n??We(wa,Rn,1,0,5,1)),f=0;f>5,a>=e.d)return e.e<0;if(n=e.a[a],t=1<<(t&31),e.e<0){if(r=Ift(e),a>16)),15).dd(o),g0&&(!(Vg(e.a.c)&&t.n.d)&&!(B5(e.a.c)&&t.n.b)&&(t.g.d+=b.Math.max(0,r/2-.5)),!(Vg(e.a.c)&&t.n.a)&&!(B5(e.a.c)&&t.n.c)&&(t.g.a-=r-1))}function _2t(e){var t,n,r,a,o;if(a=new bt,o=kmt(e,a),t=l(Q(e,(ft(),$l)),10),t)for(r=new G(t.j);r.a>t,o=e.m>>t|n<<22-t,a=e.l>>t|e.m<<22-t):t<44?(f=r?lp:0,o=n>>t-22,a=e.m>>t-22|n<<44-t):(f=r?lp:0,o=r?th:0,a=n>>t-44),Vu(a&th,o&th,f&lp)}function Kue(e){var t,n,r,a,o,f;for(this.c=new bt,this.d=e,r=ps,a=ps,t=ia,n=ia,f=Rr(e,0);f.b!=f.d.c;)o=l(Br(f),8),r=b.Math.min(r,o.a),a=b.Math.min(a,o.b),t=b.Math.max(t,o.a),n=b.Math.max(n,o.b);this.a=new Zh(r,a,t-r,n-a)}function L2t(e,t){var n,r,a,o,f,g;for(o=new G(e.b);o.a0&&De(t,44)&&(e.a._j(),E=l(t,44),w=E.ld(),o=w==null?0:Zi(w),f=Jye(e.a,o),n=e.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g=2)for(n=a.Kc(),t=Ge(n.Pb());n.Ob();)o=t,t=Ge(n.Pb()),r=b.Math.min(r,(nr(t),t-(nr(o),o)));return r}function UEn(e,t){var n,r,a;for(a=new bt,r=Rr(t.a,0);r.b!=r.d.c;)n=l(Br(r),65),n.b.g==e.g&&!wn(n.b.c,IG)&&qe(Q(n.b,(Uc(),Fd)))!==qe(Q(n.c,Fd))&&!W5(new bn(null,new kn(a,16)),new hXe(n))&&zn(a.c,n);return Hs(a,new Pte),a}function GEn(e,t){var n,r,a;if(qe(t)===qe(Xr(e)))return!0;if(!De(t,15)||(r=l(t,15),a=e.gc(),a!=r.gc()))return!1;if(De(r,59)){for(n=0;n0&&(a=n),f=new G(e.f.e);f.a0?(t-=1,n-=1):r>=0&&a<0?(t+=1,n+=1):r>0&&a>=0?(t-=1,n+=1):(t+=1,n-=1),new ua(pt(t),pt(n))}function aTn(e,t){return e.ct.c?1:e.bt.b?1:e.a!=t.a?Zi(e.a)-Zi(t.a):e.d==(oA(),uM)&&t.d==cM?-1:e.d==cM&&t.d==uM?1:0}function B2t(e,t){var n,r,a,o,f;return o=t.a,o.c.i==t.b?f=o.d:f=o.c,o.c.i==t.b?r=o.c:r=o.d,a=A5n(e.a,f,r),a>0&&a0):a<0&&-a0):!1}function oTn(e,t,n,r){var a,o,f,g,w,E,C,L;for(a=(t-e.d)/e.c.c.length,o=0,e.a+=n,e.d=t,L=new G(e.c);L.a>24;return f}function uTn(e){if(e.ze()){var t=e.c;t.Ae()?e.o="["+t.n:t.ze()?e.o="["+t.xe():e.o="[L"+t.xe()+";",e.b=t.we()+"[]",e.k=t.ye()+"[]";return}var n=e.j,r=e.d;r=r.split("/"),e.o=Qce(".",[n,Qce("$",r)]),e.b=Qce(".",[n,Qce(".",r)]),e.k=r[r.length-1]}function lTn(e,t){var n,r,a,o,f;for(f=null,o=new G(e.e.a);o.a=0;t-=2)for(n=0;n<=t;n+=2)(e.b[n]>e.b[n+2]||e.b[n]===e.b[n+2]&&e.b[n+1]>e.b[n+3])&&(r=e.b[n+2],e.b[n+2]=e.b[n],e.b[n]=r,r=e.b[n+3],e.b[n+3]=e.b[n+1],e.b[n+1]=r);e.c=!0}}function dTn(e,t){var n,r,a,o,f,g,w,E,C;for(E=-1,C=0,f=e,g=0,w=f.length;g0&&++C;++E}return C}function d0(e){var t,n;return n=new Ch(_m(e.Rm)),n.a+="@",fi(n,(t=Zi(e)>>>0,t.toString(16))),e.Vh()?(n.a+=" (eProxyURI: ",Eu(n,e._h()),e.Kh()&&(n.a+=" eClass: ",Eu(n,e.Kh())),n.a+=")"):e.Kh()&&(n.a+=" (eClass: ",Eu(n,e.Kh()),n.a+=")"),n.a}function HA(e){var t,n,r,a;if(e.e)throw ue(new rc((Ug(j0e),bhe+j0e.k+mhe)));for(e.d==(Qs(),Y1)&&GU(e,lc),n=new G(e.a.a);n.a>24}return n}function bTn(e,t,n){var r,a,o;if(a=l(Jo(e.i,t),314),!a)if(a=new kht(e.d,t,n),Q8(e.i,t,a),z8e(t))yhn(e.a,t.c,t.b,a);else switch(o=Z9n(t),r=l(Jo(e.p,o),252),o.g){case 1:case 3:a.j=!0,Qie(r,t.b,a);break;case 4:case 2:a.k=!0,Qie(r,t.c,a)}return a}function mTn(e,t){var n,r,a,o,f,g,w,E,C;for(w=Zd(e.c-e.b&e.a.length-1),E=null,C=null,o=new nA(e);o.a!=o.b;)a=l(RV(o),10),n=(g=l(Q(a,(ft(),s1)),12),g?g.i:null),r=(f=l(Q(a,jf),12),f?f.i:null),(E!=n||C!=r)&&(w2t(w,t),E=n,C=r),zn(w.c,a);w2t(w,t)}function vTn(e,t,n,r){var a,o,f,g,w,E;if(g=new Q2,w=Xu(e.e.Dh(),t),a=l(e.g,124),Ro(),l(t,69).xk())for(f=0;f=0)return a;for(o=1,g=new G(t.j);g.a=0)return a;for(o=1,g=new G(t.j);g.a0&&t.Ne((Sn(a-1,e.c.length),l(e.c[a-1],10)),o)>0;)nf(e,a,(Sn(a-1,e.c.length),l(e.c[a-1],10))),--a;Sn(a,e.c.length),e.c[a]=o}n.a=new Pr,n.b=new Pr}function wTn(e,t,n){var r,a,o,f,g,w,E,C;for(C=(r=l(t.e&&t.e(),9),new Jh(r,l(o0(r,r.length),9),0)),w=Ky(n,"[\\[\\]\\s,]+"),o=w,f=0,g=o.length;f=0?(t||(t=new h_,r>0&&Qo(t,(Ga(0,r,e.length),e.substr(0,r)))),t.a+="\\",Uk(t,n&Js)):t&&Uk(t,n&Js);return t?t.a:e}function xTn(e){var t,n,r;for(n=new G(e.a.a.b);n.a0&&(!(Vg(e.a.c)&&t.n.d)&&!(B5(e.a.c)&&t.n.b)&&(t.g.d-=b.Math.max(0,r/2-.5)),!(Vg(e.a.c)&&t.n.a)&&!(B5(e.a.c)&&t.n.c)&&(t.g.a+=b.Math.max(0,r-1)))}function U2t(e,t,n){var r,a;if((e.c-e.b&e.a.length-1)==2)t==(St(),Qn)||t==ar?(lV(l(wA(e),15),(Oh(),xg)),lV(l(wA(e),15),Kb)):(lV(l(wA(e),15),(Oh(),Kb)),lV(l(wA(e),15),xg));else for(a=new nA(e);a.a!=a.b;)r=l(RV(a),15),lV(r,n)}function kTn(e,t){var n,r,a,o,f,g,w;for(a=$k(new xwe(e)),g=new Ua(a,a.c.length),o=$k(new xwe(t)),w=new Ua(o,o.c.length),f=null;g.b>0&&w.b>0&&(n=(mr(g.b>0),l(g.a.Xb(g.c=--g.b),27)),r=(mr(w.b>0),l(w.a.Xb(w.c=--w.b),27)),n==r);)f=n;return f}function G2t(e,t,n){var r,a,o,f;Kot(e,t)>Kot(e,n)?(r=Pc(n,(St(),ar)),e.d=r.dc()?0:Cae(l(r.Xb(0),12)),f=Pc(t,er),e.b=f.dc()?0:Cae(l(f.Xb(0),12))):(a=Pc(n,(St(),er)),e.d=a.dc()?0:Cae(l(a.Xb(0),12)),o=Pc(t,ar),e.b=o.dc()?0:Cae(l(o.Xb(0),12)))}function K2t(e,t){var n,r,a,o;for(n=e.o.a,o=l(l($i(e.r,t),21),87).Kc();o.Ob();)a=l(o.Pb(),117),a.e.a=n*ze(Ge(a.b.of(bK))),a.e.b=(r=a.b,r.pf((bi(),ih))?r.ag()==(St(),Qn)?-r.Mf().b-ze(Ge(r.of(ih))):ze(Ge(r.of(ih))):r.ag()==(St(),Qn)?-r.Mf().b:0)}function ETn(e,t){var n,r,a,o;for(t.Ug("Self-Loop pre-processing",1),r=new G(e.a);r.ae.c));f++)a.a>=e.s&&(o<0&&(o=f),g=f);return w=(e.s+e.c)/2,o>=0&&(r=h_n(e,t,o,g),w=uln((Sn(r,t.c.length),l(t.c[r],339))),bEn(t,r,n)),w}function Wr(e,t,n){var r,a,o,f,g,w,E;for(f=(o=new CI,o),p7e(f,(nr(t),t)),E=(!f.b&&(f.b=new ph((Tn(),Io),Qc,f)),f.b),w=1;w0&&oMn(this,a)}function R9e(e,t,n,r,a,o){var f,g,w;if(!a[t.a]){for(a[t.a]=!0,f=r,!f&&(f=new WH),vt(f.e,t),w=o[t.a].Kc();w.Ob();)g=l(w.Pb(),290),!(g.d==n||g.c==n)&&(g.c!=t&&R9e(e,g.c,t,f,a,o),g.d!=t&&R9e(e,g.d,t,f,a,o),vt(f.c,g),ra(f.d,g.b));return f}return null}function STn(e){var t,n,r,a,o,f,g;for(t=0,a=new G(e.e);a.a=2}function _Tn(e,t,n,r,a){var o,f,g,w,E,C;for(o=e.c.d.j,f=l(hf(n,0),8),C=1;C1||(t=ns(k0,he(le(Ko,1),it,95,0,[bp,E0])),yN(PH(t,e))>1)||(r=ns(C0,he(le(Ko,1),it,95,0,[kg,zf])),yN(PH(r,e))>1))}function j9e(e,t,n){var r,a,o;for(o=new G(e.t);o.a0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&li(t,r.b));for(a=new G(e.i);a.a0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&li(n,r.a))}function SU(e){var t,n,r,a,o;if(e.g==null&&(e.d=e.bj(e.f),qr(e,e.d),e.c))return o=e.f,o;if(t=l(e.g[e.i-1],51),a=t.Pb(),e.e=t,n=e.bj(a),n.Ob())e.d=n,qr(e,n);else for(e.d=null;!t.Ob()&&(Ss(e.g,--e.i,null),e.i!=0);)r=l(e.g[e.i-1],51),t=r;return a}function LTn(e,t){var n,r,a,o,f,g;if(r=t,a=r.Lk(),cp(e.e,a)){if(a.Si()&&HH(e,a,r.md()))return!1}else for(g=Xu(e.e.Dh(),a),n=l(e.g,124),o=0;o1||n>1)return 2;return t+n==1?2:0}function Zl(e,t){var n,r,a,o,f,g;return o=e.a*fhe+e.b*1502,g=e.b*fhe+11,n=b.Math.floor(g*MP),o+=n,g-=n*uEe,o%=uEe,e.a=o,e.b=g,t<=24?b.Math.floor(e.a*v_e[t]):(a=e.a*(1<=2147483648&&(r-=4294967296),r)}function J2t(e,t,n){var r,a,o,f,g,w,E;for(o=new bt,E=new as,f=new as,QAn(e,E,f,t),LMn(e,E,f,t,n),w=new G(e);w.ar.b.g&&zn(o.c,r);return o}function PTn(e,t,n){var r,a,o,f,g,w;for(g=e.c,f=(n.q?n.q:(Cn(),Cn(),bg)).vc().Kc();f.Ob();)o=l(f.Pb(),44),r=!_k(Ri(new bn(null,new kn(g,16)),new Yl(new ctt(t,o)))).Bd((Am(),zx)),r&&(w=o.md(),De(w,4)&&(a=V8e(w),a!=null&&(w=a)),t.qf(l(o.ld(),149),w))}function BTn(e,t,n){var r,a;if(qO(e.b),W0(e.b,(PN(),YW),(b_(),qB)),W0(e.b,XW,t.g),W0(e.b,QW,t.a),e.a=bP(e.b,t),n.Ug("Compaction by shrinking a tree",e.a.c.length),t.i.c.length>1)for(a=new G(e.a);a.a=0?e.Lh(r,!0,!0):Uw(e,o,!0),160)),l(a,220).Xl(t,n)}else throw ue(new Yn(Nb+t.xe()+kL))}function _U(e,t){var n,r,a,o,f;if(t){for(o=De(e.Cb,90)||De(e.Cb,102),f=!o&&De(e.Cb,331),r=new or((!t.a&&(t.a=new G_(t,Wo,t)),t.a));r.e!=r.i.gc();)if(n=l(gr(r),89),a=$U(n),o?De(a,90):f?De(a,156):a)return a;return o?(Tn(),Gf):(Tn(),J1)}else return null}function FTn(e,t){var n,r,a,o;for(t.Ug("Resize child graph to fit parent.",1),r=new G(e.b);r.a=2*t&&vt(n,new wae(f[r-1]+t,f[r]-t));return n}function $Tn(e,t,n){var r,a,o,f,g,w,E,C;if(n)for(o=n.a.length,r=new Dm(o),g=(r.b-r.a)*r.c<0?(ab(),nm):new ub(r);g.Ob();)f=l(g.Pb(),17),a=Jk(n,f.a),a&&(w=bmn(e,(E=(ib(),C=new $we,C),t&&q9e(E,t),E),a),fE(w,Wg(a,Id)),vU(a,w),f9e(a,w),yce(e,a,w))}function AU(e){var t,n,r,a,o,f;if(!e.j){if(f=new IS,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(gc(e));r.e!=r.i.gc();)n=l(gr(r),29),a=AU(n),Ls(f,a),qr(f,n);t.a.Bc(e)!=null}Oy(f),e.j=new N5((l(Oe(tt((hb(),Un).o),11),19),f.i),f.g),Xl(e).b&=-33}return e.j}function zTn(e){var t,n,r,a;if(e==null)return null;if(r=Au(e,!0),a=eB.length,wn(r.substr(r.length-a,a),eB)){if(n=r.length,n==4){if(t=(Xn(0,r.length),r.charCodeAt(0)),t==43)return WPe;if(t==45)return xAt}else if(n==3)return WPe}return new Lwe(r)}function qTn(e){var t,n,r;return n=e.l,n&n-1||(r=e.m,r&r-1)||(t=e.h,t&t-1)||t==0&&r==0&&n==0?-1:t==0&&r==0&&n!=0?s7e(n):t==0&&r!=0&&n==0?s7e(r)+22:t!=0&&r==0&&n==0?s7e(t)+44:-1}function u6(e,t){var n,r,a,o,f;for(a=t.a&e.f,o=null,r=e.b[a];;r=r.b){if(r==t){o?o.b=t.b:e.b[a]=t.b;break}o=r}for(f=t.f&e.f,o=null,n=e.c[f];;n=n.d){if(n==t){o?o.d=t.d:e.c[f]=t.d;break}o=n}t.e?t.e.c=t.c:e.a=t.c,t.c?t.c.e=t.e:e.e=t.e,--e.i,++e.g}function HTn(e,t){var n;t.d?t.d.b=t.b:e.a=t.b,t.b?t.b.d=t.d:e.e=t.d,!t.e&&!t.c?(n=l(Af(l(ax(e.b,t.a),260)),260),n.a=0,++e.c):(n=l(Af(l(cr(e.b,t.a),260)),260),--n.a,t.e?t.e.c=t.c:n.b=l(Af(t.c),511),t.c?t.c.e=t.e:n.c=l(Af(t.e),511)),--e.d}function VTn(e){var t,n,r,a,o,f,g,w,E,C;for(n=e.o,t=e.p,f=Oi,a=co,g=Oi,o=co,E=0;E0),o.a.Xb(o.c=--o.b),my(o,a),mr(o.b3&&sg(e,0,t-3))}function GTn(e){var t,n,r,a;return qe(Q(e,(Nt(),b4)))===qe((np(),L2))?!e.e&&qe(Q(e,TB))!==qe((vE(),vB)):(r=l(Q(e,ede),299),a=Rt(Bt(Q(e,tde)))||qe(Q(e,JL))===qe((dA(),mB)),t=l(Q(e,_Me),17).a,n=e.a.c.length,!a&&r!=(vE(),vB)&&(t==0||t>n))}function KTn(e){var t,n;for(n=0;n0);n++);if(n>0&&n0);t++);return t>0&&n>16!=6&&t){if(FE(e,t))throw ue(new Yn(EL+p2t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?hxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,6,r)),r=Yye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,6,t,t))}function LU(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(FE(e,t))throw ue(new Yn(EL+nvt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?pxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,12,r)),r=Xye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,3,t,t))}function q9e(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=9&&t){if(FE(e,t))throw ue(new Yn(EL+emt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?dxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,9,r)),r=Qye(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,9,t,t))}function UE(e){var t,n,r,a,o;if(r=If(e),o=e.j,o==null&&r)return e.Jk()?null:r.ik();if(De(r,156)){if(n=r.jk(),n&&(a=n.wi(),a!=e.i)){if(t=l(r,156),t.nk())try{e.g=a.ti(t,o)}catch(f){if(f=ms(f),De(f,82))e.g=null;else throw ue(f)}e.i=a}return e.g}return null}function nbt(e){var t;return t=new bt,vt(t,new B8(new lt(e.c,e.d),new lt(e.c+e.b,e.d))),vt(t,new B8(new lt(e.c,e.d),new lt(e.c,e.d+e.a))),vt(t,new B8(new lt(e.c+e.b,e.d+e.a),new lt(e.c+e.b,e.d))),vt(t,new B8(new lt(e.c+e.b,e.d+e.a),new lt(e.c,e.d+e.a))),t}function WTn(e){var t,n,r;if(e==null)return hl;try{return Ec(e)}catch(a){if(a=ms(a),De(a,103))return t=a,r=_m(vh(e))+"@"+(n=(Hg(),H8e(e)>>>0),n.toString(16)),c6n(K3n(),(Dk(),"Exception during lenientFormat for "+r),t),"<"+r+" threw "+_m(t.Rm)+">";throw ue(a)}}function YTn(e,t,n){var r,a,o;for(o=t.a.ec().Kc();o.Ob();)a=l(o.Pb(),74),r=l(cr(e.b,a),272),!r&&(gs(og(a))==gs(Tb(a))?BCn(e,a,n):og(a)==gs(Tb(a))?cr(e.c,a)==null&&cr(e.b,Tb(a))!=null&&Nvt(e,a,n,!1):cr(e.d,a)==null&&cr(e.b,og(a))!=null&&Nvt(e,a,n,!0))}function XTn(e,t){var n,r,a,o,f,g,w;for(a=e.Kc();a.Ob();)for(r=l(a.Pb(),10),g=new mu,Ic(g,r),ha(g,(St(),ar)),rt(g,(ft(),cW),(Vn(),!0)),f=t.Kc();f.Ob();)o=l(f.Pb(),10),w=new mu,Ic(w,o),ha(w,er),rt(w,cW,!0),n=new Sw,rt(n,cW,!0),fo(n,g),Ba(n,w)}function QTn(e,t,n,r){var a,o,f,g;a=$1t(e,t,n),o=$1t(e,n,t),f=l(cr(e.c,t),118),g=l(cr(e.c,n),118),a1)for(t=dw((n=new Sm,++e.b,n),e.d),g=Rr(o,0);g.b!=g.d.c;)f=l(Br(g),125),g0(i0(r0(s0(n0(new Sf,1),0),t),f))}function eCn(e,t,n){var r,a,o,f,g;for(n.Ug("Breaking Point Removing",1),e.a=l(Q(t,(Nt(),pp)),223),o=new G(t.b);o.a>16!=11&&t){if(FE(e,t))throw ue(new Yn(EL+cke(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?bxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=mx(t,e,10,r)),r=a4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,11,t,t))}function tCn(e){var t,n,r,a;for(r=new qm(new Cr(e.b).a);r.b;)n=Bw(r),a=l(n.ld(),12),t=l(n.md(),10),rt(t,(ft(),zi),a),rt(a,$l,t),rt(a,xB,(Vn(),!0)),ha(a,l(Q(t,Xc),64)),Q(t,Xc),rt(a.i,(Nt(),Ds),(Fa(),sC)),l(Q(eo(a.i),Ou),21).Fc((Ho(),$T))}function nCn(e,t,n){var r,a,o,f,g,w;if(o=0,f=0,e.c)for(w=new G(e.d.i.j);w.ao.a?-1:a.aw){for(C=e.d,e.d=We(wPe,ASe,66,2*w+4,0,1),o=0;o=9223372036854776e3?(iE(),YSe):(a=!1,e<0&&(a=!0,e=-e),r=0,e>=Zm&&(r=la(e/Zm),e-=r*Zm),n=0,e>=Lx&&(n=la(e/Lx),e-=n*Lx),t=la(e),o=Vu(t,n,r),a&&xce(o),o)}function dCn(e){var t,n,r,a,o;if(o=new bt,Gu(e.b,new Qd(o)),e.b.c.length=0,o.c.length!=0){for(t=(Sn(0,o.c.length),l(o.c[0],82)),n=1,r=o.c.length;n=-t&&r==t?new ua(pt(n-1),pt(r)):new ua(pt(n),pt(r-1))}function sbt(){return bo(),he(le(COn,1),it,81,0,[BAe,OAe,D6,d1e,tLe,IK,qK,h4,ZAe,VAe,QAe,l4,eLe,zAe,nLe,_Ae,BK,g1e,MK,jK,iLe,RK,AAe,JAe,sLe,$K,rLe,DK,RAe,YAe,WAe,HK,DAe,LK,NK,MAe,LT,GAe,qAe,XAe,zL,NAe,IAe,KAe,HAe,PK,zK,LAe,FK,UAe,OK,jAe,FAe,gB,AK,$Ae,PAe])}function bCn(e,t,n){e.d=0,e.b=0,t.k==(Zn(),Iu)&&n.k==Iu&&l(Q(t,(ft(),zi)),10)==l(Q(n,zi),10)&&(zoe(t).j==(St(),Qn)?G2t(e,t,n):G2t(e,n,t)),t.k==Iu&&n.k==Aa?zoe(t).j==(St(),Qn)?e.d=1:e.b=1:n.k==Iu&&t.k==Aa&&(zoe(n).j==(St(),Qn)?e.b=1:e.d=1),e7n(e,t,n)}function mCn(e){var t,n,r,a,o,f,g,w,E,C,L;return L=$xe(e),t=e.a,w=t!=null,w&&zk(L,"category",e.a),a=ZI(new br(e.d)),f=!a,f&&(E=new zp,J0(L,"knownOptions",E),n=new uQe(E),to(new br(e.d),n)),o=ZI(e.g),g=!o,g&&(C=new zp,J0(L,"supportedFeatures",C),r=new lQe(C),to(e.g,r)),L}function vCn(e){var t,n,r,a,o,f,g,w,E;for(r=!1,t=336,n=0,o=new Wrt(e.length),g=e,w=0,E=g.length;w>16!=7&&t){if(FE(e,t))throw ue(new Yn(EL+fpt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?fxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,1,oF,r)),r=Z4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,7,t,t))}function abt(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(FE(e,t))throw ue(new Yn(EL+l1t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?gxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,0,uF,r)),r=e5e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,3,t,t))}function Jue(e,t){GE();var n,r,a,o,f,g,w,E,C;return t.d>e.d&&(g=e,e=t,t=g),t.d<63?aSn(e,t):(f=(e.d&-2)<<4,E=w6e(e,f),C=w6e(t,f),r=vle(e,sx(E,f)),a=vle(t,sx(C,f)),w=Jue(E,C),n=Jue(r,a),o=Jue(vle(E,r),vle(a,C)),o=Cle(Cle(o,w),n),o=sx(o,f),w=sx(w,f<<1),Cle(Cle(w,o),n))}function b2(){b2=U,pde=new M5(lyt,0),dDe=new M5("LONGEST_PATH",1),gDe=new M5("LONGEST_PATH_SOURCE",2),gde=new M5("COFFMAN_GRAHAM",3),fDe=new M5(zhe,4),pDe=new M5("STRETCH_WIDTH",5),SW=new M5("MIN_WIDTH",6),WT=new M5("BF_MODEL_ORDER",7),YT=new M5("DF_MODEL_ORDER",8)}function yCn(e,t,n){var r,a,o,f,g;for(f=TA(e,n),g=We(vg,v2,10,t.length,0,1),r=0,o=f.Kc();o.Ob();)a=l(o.Pb(),12),Rt(Bt(Q(a,(ft(),xB))))&&(g[r++]=l(Q(a,$l),10));if(r=0;o+=n?1:-1)f=f|t.c.lg(w,o,n,r&&!Rt(Bt(Q(t.j,(ft(),$b))))&&!Rt(Bt(Q(t.j,(ft(),j6))))),f=f|t.q.ug(w,o,n),f=f|Kbt(e,w[o],n,r);return na(e.c,t),f}function IU(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=Sct(e.j),L=0,B=C.length;L1&&(e.a=!0),Zdn(l(n.b,68),Ni(Ja(l(t.b,68).c),gd(ma(Ja(l(n.b,68).a),l(t.b,68).a),a))),Oot(e,t),obt(e,n)}function cbt(e){var t,n,r,a,o,f,g;for(o=new G(e.a.a);o.a0&&o>0?f.p=t++:r>0?f.p=n++:o>0?f.p=a++:f.p=n++}Cn(),Hs(e.j,new W9)}function CCn(e){var t,n;n=null,t=l(jt(e.g,0),18);do{if(n=t.d.i,ts(n,(ft(),jf)))return l(Q(n,jf),12).i;if(n.k!=(Zn(),Bs)&&jr(new hr(dr(zs(n).a.Kc(),new j))))t=l(xr(new hr(dr(zs(n).a.Kc(),new j))),18);else if(n.k!=Bs)return null}while(n&&n.k!=(Zn(),Bs));return n}function SCn(e,t){var n,r,a,o,f,g,w,E,C;for(g=t.j,f=t.g,w=l(jt(g,g.c.length-1),113),C=(Sn(0,g.c.length),l(g.c[0],113)),E=wue(e,f,w,C),o=1;oE&&(w=n,C=a,E=r);t.a=C,t.c=w}function _Cn(e,t,n){var r,a,o,f,g,w,E;for(E=new Wp(new KYe(e)),f=he(le(j8t,1),N3t,12,0,[t,n]),g=0,w=f.length;gw-e.b&&gw-e.a&&g0?o.a?(g=o.b.Mf().a,n>g&&(a=(n-g)/2,o.d.b=a,o.d.c=a)):o.d.c=e.s+n:W_(e.u)&&(r=zxe(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.Mf().a&&(o.d.c=r.c+r.b-o.b.Mf().a))}function VCn(e,t){var n,r,a,o,f;f=new bt,n=t;do o=l(cr(e.b,n),131),o.B=n.c,o.D=n.d,zn(f.c,o),n=l(cr(e.k,n),18);while(n);return r=(Sn(0,f.c.length),l(f.c[0],131)),r.j=!0,r.A=l(r.d.a.ec().Kc().Pb(),18).c.i,a=l(jt(f,f.c.length-1),131),a.q=!0,a.C=l(a.d.a.ec().Kc().Pb(),18).d.i,f}function UCn(e){var t,n;if(t=l(e.a,17).a,n=l(e.b,17).a,t>=0){if(t==n)return new ua(pt(-t-1),pt(-t-1));if(t==-n)return new ua(pt(-t),pt(n+1))}return b.Math.abs(t)>b.Math.abs(n)?t<0?new ua(pt(-t),pt(n)):new ua(pt(-t),pt(n+1)):new ua(pt(t+1),pt(n))}function GCn(e){var t,n;n=l(Q(e,(Nt(),Zu)),171),t=l(Q(e,(ft(),hv)),311),n==(lf(),zb)?(rt(e,Zu,EB),rt(e,hv,(Zg(),F6))):n==g4?(rt(e,Zu,EB),rt(e,hv,(Zg(),Ux))):t==(Zg(),F6)?(rt(e,Zu,zb),rt(e,hv,wB)):t==Ux&&(rt(e,Zu,g4),rt(e,hv,wB))}function OU(){OU=U,IB=new bte,JEt=di(new Ys,(oo(),wu),(bo(),MK)),tTt=El(di(new Ys,wu,RK),vc,FK),nTt=xd(xd(v_(El(di(new Ys,w0,qK),vc,zK),Du),$K),HK),ZEt=El(di(di(di(new Ys,mg,IK),Du,NK),Du,LT),vc,OK),eTt=El(di(di(new Ys,Du,LT),Du,LK),vc,AK)}function GA(){GA=U,sTt=di(El(new Ys,(oo(),vc),(bo(),jAe)),wu,MK),uTt=xd(xd(v_(El(di(new Ys,w0,qK),vc,zK),Du),$K),HK),aTt=El(di(di(di(new Ys,mg,IK),Du,NK),Du,LT),vc,OK),cTt=di(di(new Ys,wu,RK),vc,FK),oTt=El(di(di(new Ys,Du,LT),Du,LK),vc,AK)}function KCn(e,t,n,r,a){var o,f;(!Lo(t)&&t.c.i.c==t.d.i.c||!hft(Nc(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])),n))&&!Lo(t)&&(t.c==a?Pk(t.a,0,new xo(n)):li(t.a,new xo(n)),r&&!G0(e.a,n)&&(f=l(Q(t,(Nt(),uc)),75),f||(f=new wl,rt(t,uc,f)),o=new xo(n),_s(f,o,f.c.b,f.c),na(e.a,o)))}function hbt(e,t){var n,r,a,o;for(o=Yr(po(hg,rg(Yr(po(t==null?0:Zi(t),fg)),15))),n=o&e.b.length-1,a=null,r=e.b[n];r;a=r,r=r.a)if(r.d==o&&md(r.i,t))return a?a.a=r.a:e.b[n]=r.a,$Je(l(Af(r.c),604),l(Af(r.f),604)),WI(l(Af(r.b),227),l(Af(r.e),227)),--e.f,++e.e,!0;return!1}function WCn(e){var t,n;for(n=new hr(dr(ka(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),18),t.c.i.k!=(Zn(),hu))throw ue(new Up($he+HN(e)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function YCn(e,t,n){var r,a,o,f,g,w,E;if(a=p1t(e.Db&254),a==0)e.Eb=n;else{if(a==1)g=We(wa,Rn,1,2,5,1),o=vue(e,t),o==0?(g[0]=n,g[1]=e.Eb):(g[0]=e.Eb,g[1]=n);else for(g=We(wa,Rn,1,a+1,5,1),f=jm(e.Eb),r=2,w=0,E=0;r<=128;r<<=1)r==t?g[E++]=n:e.Db&r&&(g[E++]=f[w++]);e.Eb=g}e.Db|=t}function fbt(e,t,n){var r,a,o,f;for(this.b=new bt,a=0,r=0,f=new G(e);f.a0&&(o=l(jt(this.b,0),176),a+=o.o,r+=o.p),a*=2,r*=2,t>1?a=la(b.Math.ceil(a*t)):r=la(b.Math.ceil(r/t)),this.a=new O8e(a,r)}function dbt(e,t,n,r,a,o){var f,g,w,E,C,L,B,z,V,J,te,fe;for(C=r,t.j&&t.o?(z=l(cr(e.f,t.A),60),J=z.d.c+z.d.b,--C):J=t.a.c+t.a.b,L=a,n.q&&n.o?(z=l(cr(e.f,n.C),60),E=z.d.c,++L):E=n.a.c,te=E-J,w=b.Math.max(2,L-C),g=te/w,V=J+g,B=C;B=0;f+=a?1:-1){for(g=t[f],w=r==(St(),ar)?a?Pc(g,r):uf(Pc(g,r)):a?uf(Pc(g,r)):Pc(g,r),o&&(e.c[g.p]=w.gc()),L=w.Kc();L.Ob();)C=l(L.Pb(),12),e.d[C.p]=E++;ra(n,w)}}function pbt(e,t,n){var r,a,o,f,g,w,E,C;for(o=ze(Ge(e.b.Kc().Pb())),E=ze(Ge(G3n(t.b))),r=gd(Ja(e.a),E-n),a=gd(Ja(t.a),n-o),C=Ni(r,a),gd(C,1/(E-o)),this.a=C,this.b=new bt,g=!0,f=e.b.Kc(),f.Pb();f.Ob();)w=ze(Ge(f.Pb())),g&&w-n>yfe&&(this.b.Fc(n),g=!1),this.b.Fc(w);g&&this.b.Fc(n)}function XCn(e){var t,n,r,a;if(g_n(e,e.n),e.d.c.length>0){for(u_(e.c);M9e(e,l(re(new G(e.e.a)),125))>5,t&=31,r>=e.d)return e.e<0?(kd(),x6t):(kd(),BL);if(o=e.d-r,a=We(Vr,gi,28,o+1,15,1),z9n(a,o,e.a,r,t),e.e<0){for(n=0;n0&&e.a[n]<<32-t){for(n=0;n=0?!1:(n=g6((Sl(),io),a,t),n?(r=n.Ik(),(r>1||r==-1)&&Tw(sc(io,n))!=3):!0)):!1}function eSn(e,t,n,r){var a,o,f,g,w;return g=mc(l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84)),w=mc(l(Oe((!t.c&&(t.c=new An(Sr,t,5,8)),t.c),0),84)),gs(g)==gs(w)||My(w,g)?null:(f=WO(t),f==n?r:(o=l(cr(e.a,f),10),o&&(a=o.e,a)?a:null))}function tSn(e,t,n){var r,a,o,f,g;for(n.Ug("Longest path to source layering",1),e.a=t,g=e.a.a,e.b=We(Vr,gi,28,g.c.length,15,1),r=0,f=new G(g);f.a0&&(n[0]+=e.d,f-=n[0]),n[2]>0&&(n[2]+=e.d,f-=n[2]),o=b.Math.max(0,f),n[1]=b.Math.max(n[1],f),x6e(e,qu,a.c+r.b+n[0]-(n[1]-f)/2,n),t==qu&&(e.c.b=o,e.c.c=a.c+r.b+(o-f)/2)}function Cbt(){this.c=We(Na,ec,28,(St(),he(le(Do,1),uu,64,0,[Fc,Qn,ar,Dr,er])).length,15,1),this.b=We(Na,ec,28,he(le(Do,1),uu,64,0,[Fc,Qn,ar,Dr,er]).length,15,1),this.a=We(Na,ec,28,he(le(Do,1),uu,64,0,[Fc,Qn,ar,Dr,er]).length,15,1),T3e(this.c,ps),T3e(this.b,ia),T3e(this.a,ia)}function _u(e,t,n){var r,a,o,f;if(t<=n?(a=t,o=n):(a=n,o=t),r=0,e.b==null)e.b=We(Vr,gi,28,2,15,1),e.b[0]=a,e.b[1]=o,e.c=!0;else{if(r=e.b.length,e.b[r-1]+1==a){e.b[r-1]=o;return}f=We(Vr,gi,28,r+2,15,1),vu(e.b,0,f,0,r),e.b=f,e.b[r-1]>=a&&(e.c=!1,e.a=!1),e.b[r++]=a,e.b[r]=o,e.c||c6(e)}}function oSn(e,t,n){var r,a,o,f,g,w,E;for(E=t.d,e.a=new Ru(E.c.length),e.c=new Pr,g=new G(E);g.a=0?e.Lh(E,!1,!0):Uw(e,n,!1),61));e:for(o=L.Kc();o.Ob();){for(a=l(o.Pb(),58),C=0;C1;)Uy(a,a.i-1);return r}function _bt(e,t){var n,r,a,o,f,g,w;for(n=new z5,o=new G(e.b);o.ae.d[f.p]&&(n+=d6e(e.b,o),pb(e.a,pt(o)));for(;!l_(e.a);)G6e(e.b,l(X8(e.a),17).a)}return n}function dSn(e){var t,n,r,a,o,f,g,w,E;for(e.a=new s4e,E=0,a=0,r=new G(e.i.b);r.ag.d&&(C=g.d+g.a+E));n.c.d=C,t.a.zc(n,t),w=b.Math.max(w,n.c.d+n.c.a)}return w}function Ho(){Ho=U,tW=new ly("COMMENTS",0),mf=new ly("EXTERNAL_PORTS",1),UL=new ly("HYPEREDGES",2),nW=new ly("HYPERNODES",3),$T=new ly("NON_FREE_PORTS",4),B6=new ly("NORTH_SOUTH_PORTS",5),GL=new ly(J3t,6),RT=new ly("CENTER_LABELS",7),jT=new ly("END_LABELS",8),rW=new ly("PARTITIONS",9)}function pSn(e,t,n,r,a){return r<0?(r=o6(e,a,he(le(zt,1),dt,2,6,[zle,qle,Hle,Vle,_x,Ule,Gle,Kle,Wle,Yle,Xle,Qle]),t),r<0&&(r=o6(e,a,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function bSn(e,t,n,r,a){return r<0?(r=o6(e,a,he(le(zt,1),dt,2,6,[zle,qle,Hle,Vle,_x,Ule,Gle,Kle,Wle,Yle,Xle,Qle]),t),r<0&&(r=o6(e,a,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function mSn(e,t,n,r,a,o){var f,g,w,E;if(g=32,r<0){if(t[0]>=e.length||(g=ao(e,t[0]),g!=43&&g!=45)||(++t[0],r=EU(e,t),r<0))return!1;g==45&&(r=-r)}return g==32&&t[0]-n==2&&a.b==2&&(w=new Jz,E=w.q.getFullYear()-Mb+Mb-80,f=E%100,o.a=r==f,r+=(E/100|0)*100+(r=0?Eb(e):J_(Eb(i2(e)))),FL[t]=Lq(u0(e,t),0)?Eb(u0(e,t)):J_(Eb(i2(u0(e,t)))),e=po(e,5);for(;t=E&&(w=r);w&&(C=b.Math.max(C,w.a.o.a)),C>B&&(L=E,B=C)}return L}function ESn(e){var t,n,r,a,o,f,g;for(o=new Wp(l(Xr(new jg),50)),g=ia,n=new G(e.d);n.aTyt?Hs(w,e.b):r<=Tyt&&r>Cyt?Hs(w,e.d):r<=Cyt&&r>Syt?Hs(w,e.c):r<=Syt&&Hs(w,e.a),o=Ibt(e,w,o);return a}function Obt(e,t,n,r){var a,o,f,g,w,E;for(a=(r.c+r.a)/2,Sh(t.j),li(t.j,a),Sh(n.e),li(n.e,a),E=new ZJe,g=new G(e.f);g.a1,g&&(r=new lt(a,n.b),li(t.a,r)),fA(t.a,he(le(Ea,1),dt,8,0,[B,L]))}function Z9e(e,t,n){var r,a;for(t=48;n--)GM[n]=n-48<<24>>24;for(r=70;r>=65;r--)GM[r]=r-65+10<<24>>24;for(a=102;a>=97;a--)GM[a]=a-97+10<<24>>24;for(o=0;o<10;o++)MY[o]=48+o&Js;for(e=10;e<=15;e++)MY[e]=65+e-10&Js}function _Sn(e,t){t.Ug("Process graph bounds",1),rt(e,(Qi(),Fde),fO(lce(ky(new bn(null,new kn(e.b,16)),new qte)))),rt(e,Rde,fO(lce(ky(new bn(null,new kn(e.b,16)),new Hte)))),rt(e,iIe,fO(uce(ky(new bn(null,new kn(e.b,16)),new Vte)))),rt(e,sIe,fO(uce(ky(new bn(null,new kn(e.b,16)),new Ute)))),t.Vg()}function ASn(e){var t,n,r,a,o;a=l(Q(e,(Nt(),bv)),21),o=l(Q(e,kW),21),n=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),t=new xo(n),a.Hc((wh(),L4))&&(r=l(Q(e,qT),8),o.Hc((eh(),aC))&&(r.a<=0&&(r.a=20),r.b<=0&&(r.b=20)),t.a=b.Math.max(n.a,r.a),t.b=b.Math.max(n.b,r.b)),Rt(Bt(Q(e,ode)))||iLn(e,n,t)}function LSn(e,t){var n,r,a,o;for(o=Pc(t,(St(),Dr)).Kc();o.Ob();)r=l(o.Pb(),12),n=l(Q(r,(ft(),$l)),10),n&&g0(i0(r0(s0(n0(new Sf,0),.1),e.i[t.p].d),e.i[n.p].a));for(a=Pc(t,Qn).Kc();a.Ob();)r=l(a.Pb(),12),n=l(Q(r,(ft(),$l)),10),n&&g0(i0(r0(s0(n0(new Sf,0),.1),e.i[n.p].d),e.i[t.p].a))}function ele(e){var t,n,r,a,o,f;if(!e.c){if(f=new eu,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(bu(e));r.e!=r.i.gc();)n=l(gr(r),89),a=$U(n),De(a,90)&&Ls(f,ele(l(a,29))),qr(f,n);t.a.Bc(e)!=null,t.a.gc()==0}T5n(f),Oy(f),e.c=new N5((l(Oe(tt((hb(),Un).o),15),19),f.i),f.g),Xl(e).b&=-33}return e.c}function tke(e){var t;if(e.c!=10)throw ue(new ni(ai((Jr(),UG))));switch(t=e.a,t){case 110:t=10;break;case 114:t=13;break;case 116:t=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw ue(new ni(ai((Jr(),pf))))}return t}function Fbt(e){var t,n,r,a,o;if(e.l==0&&e.m==0&&e.h==0)return"0";if(e.h==SP&&e.m==0&&e.l==0)return"-9223372036854775808";if(e.h>>19)return"-"+Fbt(xE(e));for(n=e,r="";!(n.l==0&&n.m==0&&n.h==0);){if(a=Moe(ZU),n=Pke(n,a,!0),t=""+sZe(Pb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-t.length;o>0;o--)t="0"+t;r=t+r}return r}function MSn(e){var t,n,r,a,o,f,g;for(t=!1,n=0,a=new G(e.d.b);a.a=e.a||!Fxe(t,n))return-1;if(Zk(l(r.Kb(t),20)))return 1;for(a=0,f=l(r.Kb(t),20).Kc();f.Ob();)if(o=l(f.Pb(),18),w=o.c.i==t?o.d.i:o.c.i,g=nke(e,w,n,r),g==-1||(a=b.Math.max(a,g),a>e.c-1))return-1;return a+1}function Rbt(e,t){var n,r,a,o,f,g;if(qe(t)===qe(e))return!0;if(!De(t,15)||(r=l(t,15),g=e.gc(),r.gc()!=g))return!1;if(f=r.Kc(),e.Yi()){for(n=0;n0){if(e._j(),t!=null){for(o=0;o>24;case 97:case 98:case 99:case 100:case 101:case 102:return e-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return e-65+10<<24>>24;default:throw ue(new hd("Invalid hexadecimal"))}}function BU(){BU=U,$_e=new L5("SPIRAL",0),B_e=new L5("LINE_BY_LINE",1),F_e=new L5("MANHATTAN",2),P_e=new L5("JITTER",3),q0e=new L5("QUADRANTS_LINE_BY_LINE",4),j_e=new L5("QUADRANTS_MANHATTAN",5),R_e=new L5("QUADRANTS_JITTER",6),N_e=new L5("COMBINE_LINE_BY_LINE_MANHATTAN",7),O_e=new L5("COMBINE_JITTER_MANHATTAN",8)}function $bt(e,t,n,r){var a,o,f,g,w,E;for(w=Cue(e,n),E=Cue(t,n),a=!1;w&&E&&(r||_7n(w,E,n));)f=Cue(w,n),g=Cue(E,n),uN(t),uN(e),o=w.c,Sle(w,!1),Sle(E,!1),n?(Ry(t,E.p,o),t.p=E.p,Ry(e,w.p+1,o),e.p=w.p):(Ry(e,w.p,o),e.p=w.p,Ry(t,E.p+1,o),t.p=E.p),Va(w,null),Va(E,null),w=f,E=g,a=!0;return a}function zbt(e){switch(e.g){case 0:return new Kre;case 1:return new XS;case 3:return new get;case 4:return new qee;case 5:return new Hrt;case 6:return new jI;case 2:return new YS;case 7:return new oz;case 8:return new RI;default:throw ue(new Yn("No implementation is available for the layerer "+(e.f!=null?e.f:""+e.g)))}}function BSn(e,t,n,r){var a,o,f,g,w;for(a=!1,o=!1,g=new G(r.j);g.a=t.length)throw ue(new nc("Greedy SwitchDecider: Free layer not in graph."));this.c=t[e],this.e=new IO(r),sce(this.e,this.c,(St(),er)),this.i=new IO(r),sce(this.i,this.c,ar),this.f=new ast(this.c),this.a=!o&&a.i&&!a.s&&this.c[0].k==(Zn(),Vs),this.a&&X9n(this,e,t.length)}function Hbt(e,t){var n,r,a,o,f,g;o=!e.B.Hc((eh(),sF)),f=e.B.Hc(Kge),e.a=new L1t(f,o,e.c),e.n&&N5e(e.a.n,e.n),Qie(e.g,(Z0(),qu),e.a),t||(r=new DA(1,o,e.c),r.n.a=e.k,Q8(e.p,(St(),Qn),r),a=new DA(1,o,e.c),a.n.d=e.k,Q8(e.p,Dr,a),g=new DA(0,o,e.c),g.n.c=e.k,Q8(e.p,er,g),n=new DA(0,o,e.c),n.n.b=e.k,Q8(e.p,ar,n))}function RSn(e){var t,n,r;switch(t=l(Q(e.d,(Nt(),pp)),223),t.g){case 2:n=SIn(e);break;case 3:n=(r=new bt,Os(Ri(dc(Oc(Oc(new bn(null,new kn(e.d.b,16)),new gee),new pee),new bee),new wS),new EYe(r)),r);break;default:throw ue(new rc("Compaction not supported for "+t+" edges."))}WLn(e,n),to(new br(e.g),new xYe(e))}function jSn(e,t){var n,r,a,o,f,g,w;if(t.Ug("Process directions",1),n=l(Q(e,(Uc(),k3)),88),n!=(Qs(),W1))for(a=Rr(e.b,0);a.b!=a.d.c;){switch(r=l(Br(a),40),g=l(Q(r,(Qi(),PB)),17).a,w=l(Q(r,BB),17).a,n.g){case 4:w*=-1;break;case 1:o=g,g=w,w=o;break;case 2:f=g,g=-w,w=f}rt(r,PB,pt(g)),rt(r,BB,pt(w))}t.Vg()}function $Sn(e,t){var n;return n=new hs,t&&bc(n,l(cr(e.a,oF),96)),De(t,422)&&bc(n,l(cr(e.a,cF),96)),De(t,366)?(bc(n,l(cr(e.a,tc),96)),n):(De(t,84)&&bc(n,l(cr(e.a,Sr),96)),De(t,207)?(bc(n,l(cr(e.a,Li),96)),n):De(t,193)?(bc(n,l(cr(e.a,Vl),96)),n):(De(t,326)&&bc(n,l(cr(e.a,js),96)),n))}function zSn(e){var t,n,r,a,o,f,g,w;for(w=new Eut,g=new G(e.a);g.a0&&t=0)return!1;if(t.p=n.b,vt(n.e,t),a==(Zn(),Aa)||a==Iu){for(f=new G(t.j);f.ae.d[g.p]&&(n+=d6e(e.b,o),pb(e.a,pt(o)))):++f;for(n+=e.b.d*f;!l_(e.a);)G6e(e.b,l(X8(e.a),17).a)}return n}function Zbt(e){var t,n,r,a,o,f;return o=0,t=If(e),t.kk()&&(o|=4),e.Bb&Ll&&(o|=2),De(e,102)?(n=l(e,19),a=jo(n),n.Bb&ru&&(o|=32),a&&(yr(Ey(a)),o|=8,f=a.t,(f>1||f==-1)&&(o|=16),a.Bb&ru&&(o|=64)),n.Bb&Mo&&(o|=i4),o|=b0):De(t,469)?o|=512:(r=t.kk(),r&&r.i&1&&(o|=256)),e.Bb&512&&(o|=128),o}function ZSn(e,t){var n;return e.f==ape?(n=Tw(sc((Sl(),io),t)),e.e?n==4&&t!=(kx(),u9)&&t!=(kx(),c9)&&t!=(kx(),ope)&&t!=(kx(),cpe):n==2):e.d&&(e.d.Hc(t)||e.d.Hc(rx(sc((Sl(),io),t)))||e.d.Hc(g6((Sl(),io),e.b,t)))?!0:e.f&&H9e((Sl(),e.f),HO(sc(io,t)))?(n=Tw(sc(io,t)),e.e?n==4:n==2):!1}function e_n(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;for(B=-1,z=0,E=e,C=0,L=E.length;C0&&++z;++B}return z}function t_n(e,t,n,r){var a,o,f,g,w,E,C,L;return f=l(at(n,(bi(),n9)),8),w=f.a,C=f.b+e,a=b.Math.atan2(C,w),a<0&&(a+=iv),a+=t,a>iv&&(a-=iv),g=l(at(r,n9),8),E=g.a,L=g.b+e,o=b.Math.atan2(L,E),o<0&&(o+=iv),o+=t,o>iv&&(o-=iv),C1(),h0(1e-10),b.Math.abs(a-o)<=1e-10||a==o||isNaN(a)&&isNaN(o)?0:ao?1:hw(isNaN(a),isNaN(o))}function rle(e){var t,n,r,a,o,f,g;for(g=new Pr,r=new G(e.a.b);r.a=e.o)throw ue(new Fwe);g=t>>5,f=t&31,o=u0(1,Yr(u0(f,1))),a?e.n[n][g]=Y0(e.n[n][g],o):e.n[n][g]=va(e.n[n][g],N4e(o)),o=u0(o,1),r?e.n[n][g]=Y0(e.n[n][g],o):e.n[n][g]=va(e.n[n][g],N4e(o))}catch(w){throw w=ms(w),De(w,333)?ue(new nc(The+e.o+"*"+e.p+Che+t+Eo+n+She)):ue(w)}}function i_n(e,t,n,r){var a,o,f,g,w,E,C,L,B;for(B=new Wp(new GYe(e)),g=he(le(vg,1),v2,10,0,[t,n]),w=0,E=g.length;w0&&(r=(!e.n&&(e.n=new nt(tc,e,1,7)),l(Oe(e.n,0),135)).a,!r||fi(fi((t.a+=' "',t),r),'"'))),fi(sw(fi(sw(fi(sw(fi(sw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function emt(e){var t,n,r;return e.Db&64?Bue(e):(t=new Ch(lSe),n=e.k,n?fi(fi((t.a+=' "',t),n),'"'):(!e.n&&(e.n=new nt(tc,e,1,7)),e.n.i>0&&(r=(!e.n&&(e.n=new nt(tc,e,1,7)),l(Oe(e.n,0),135)).a,!r||fi(fi((t.a+=' "',t),r),'"'))),fi(sw(fi(sw(fi(sw(fi(sw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function o_n(e,t){var n,r,a,o,f;for(t==(yA(),Sde)&&JN(l($i(e.a,(jy(),bB)),15)),a=l($i(e.a,(jy(),bB)),15).Kc();a.Ob();)switch(r=l(a.Pb(),105),n=l(jt(r.j,0),113).d.j,o=new Nl(r.j),Hs(o,new jj),t.g){case 2:Mue(e,o,n,(Pw(),jb),1);break;case 1:case 0:f=KTn(o),Mue(e,new e2(o,0,f),n,(Pw(),jb),0),Mue(e,new e2(o,f,o.c.length),n,jb,1)}}function sle(e,t){var n,r,a,o,f,g,w;if(t==null||t.length==0)return null;if(a=l(Cu(e.a,t),143),!a){for(r=(g=new pi(e.b).a.vc().Kc(),new ds(g));r.a.Ob();)if(n=(o=l(r.a.Pb(),44),l(o.md(),143)),f=n.c,w=t.length,wn(f.substr(f.length-w,w),t)&&(t.length==f.length||ao(f,f.length-t.length-1)==46)){if(a)return null;a=n}a&&ic(e.a,t,a)}return a}function c_n(e,t){var n,r,a,o;return n=new Gd,r=l(kc(dc(new bn(null,new kn(e.f,16)),n),_y(new yt,new Fi,new $n,new qn,he(le(cc,1),it,108,0,[(Rl(),s4),Cc]))),21),a=r.gc(),r=l(kc(dc(new bn(null,new kn(t.f,16)),n),_y(new yt,new Fi,new $n,new qn,he(le(cc,1),it,108,0,[s4,Cc]))),21),o=r.gc(),aa.p?(ha(o,Dr),o.d&&(g=o.o.b,t=o.a.b,o.a.b=g-t)):o.j==Dr&&a.p>e.p&&(ha(o,Qn),o.d&&(g=o.o.b,t=o.a.b,o.a.b=-(g-t)));break}return a}function uP(e,t,n,r,a){var o,f,g,w,E,C,L;if(!(De(t,207)||De(t,366)||De(t,193)))throw ue(new Yn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return f=e.a/2,w=t.i+r-f,C=t.j+a-f,E=w+t.g+e.a,L=C+t.f+e.a,o=new wl,li(o,new lt(w,C)),li(o,new lt(w,L)),li(o,new lt(E,L)),li(o,new lt(E,C)),g=new Kue(o),bc(g,t),n&&Ei(e.b,t,g),g}function KE(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(o=new lt(t,n),C=new G(e.a);C.a1,g&&(r=new lt(a,n.b),li(t.a,r)),fA(t.a,he(le(Ea,1),dt,8,0,[B,L]))}function Of(){Of=U,LW=new hy(Ld,0),AB=new hy("NIKOLOV",1),LB=new hy("NIKOLOV_PIXEL",2),kDe=new hy("NIKOLOV_IMPROVED",3),EDe=new hy("NIKOLOV_IMPROVED_PIXEL",4),xDe=new hy("DUMMYNODE_PERCENTAGE",5),TDe=new hy("NODECOUNT_PERCENTAGE",6),MW=new hy("NO_BOUNDARY",7),y3=new hy("MODEL_ORDER_LEFT_TO_RIGHT",8),k4=new hy("MODEL_ORDER_RIGHT_TO_LEFT",9)}function v_n(e){var t,n,r,a,o;for(r=e.length,t=new h_,o=0;o=40,f&&wAn(e),ALn(e),XCn(e),n=w1t(e),r=0;n&&r0&&li(e.f,o)):(e.c[f]-=E+1,e.c[f]<=0&&e.a[f]>0&&li(e.e,o))))}function dmt(e,t,n,r){var a,o,f,g,w,E,C;for(w=new lt(n,r),ma(w,l(Q(t,(Qi(),QT)),8)),C=Rr(t.b,0);C.b!=C.d.c;)E=l(Br(C),40),Ni(E.e,w),li(e.b,E);for(g=l(kc(U5e(new bn(null,new kn(t.a,16))),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15).Kc();g.Ob();){for(f=l(g.Pb(),65),o=Rr(f.a,0);o.b!=o.d.c;)a=l(Br(o),8),a.a+=w.a,a.b+=w.b;li(e.a,f)}}function mke(e,t){var n,r,a,o;if(0<(De(e,16)?l(e,16).gc():Yg(e.Kc()))){if(a=t,1=0&&wo*2?(C=new fV(L),E=kl(f)/bh(f),w=Mle(C,t,new A8,n,r,a,E),Ni(K0(C.e),w),L.c.length=0,o=0,zn(L.c,C),zn(L.c,f),o=kl(C)*bh(C)+kl(f)*bh(f)):(zn(L.c,f),o+=kl(f)*bh(f));return L}function pmt(e,t){var n,r,a,o,f,g;if(g=l(Q(t,(Nt(),Ds)),101),g==(Fa(),Eg)||g==Nu)for(a=new lt(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,f=new G(e.a);f.an?t:n;E<=L;++E)E==n?g=r++:(o=a[E],C=V.am(o.Lk()),E==t&&(w=E==L&&!C?r-1:r),C&&++r);return B=l(AA(e,t,n),76),g!=w&&xk(e,new sN(e.e,7,f,pt(g),z.md(),w)),B}}else return l(Vue(e,t,n),76);return l(AA(e,t,n),76)}function R_n(e,t){var n,r,a,o,f,g,w;for(t.Ug("Port order processing",1),w=l(Q(e,(Nt(),eDe)),430),r=new G(e.b);r.a=0&&(g=I7n(e,f),!(g&&(E<22?w.l|=1<>>1,f.m=C>>>1|(L&1)<<21,f.l=B>>>1|(C&1)<<21,--E;return n&&xce(w),o&&(r?(Pb=xE(e),a&&(Pb=e0t(Pb,(iE(),XSe)))):Pb=Vu(e.l,e.m,e.h)),w}function z_n(e,t){var n,r,a,o,f,g,w,E,C,L;for(E=e.e[t.c.p][t.p]+1,w=t.c.a.c.length+1,g=new G(e.a);g.a0&&(Xn(0,e.length),e.charCodeAt(0)==45||(Xn(0,e.length),e.charCodeAt(0)==43))?1:0,r=f;rn)throw ue(new hd(Qw+e+'"'));return g}function q_n(e){var t,n,r,a,o,f,g;for(f=new as,o=new G(e.a);o.a1)&&t==1&&l(e.a[e.b],10).k==(Zn(),hu)?Tx(l(e.a[e.b],10),(Oh(),xg)):r&&(!n||(e.c-e.b&e.a.length-1)>1)&&t==1&&l(e.a[e.c-1&e.a.length-1],10).k==(Zn(),hu)?Tx(l(e.a[e.c-1&e.a.length-1],10),(Oh(),Kb)):(e.c-e.b&e.a.length-1)==2?(Tx(l(wA(e),10),(Oh(),xg)),Tx(l(wA(e),10),Kb)):mTn(e,a),h6e(e)}function U_n(e,t,n){var r,a,o,f,g;for(o=0,a=new or((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));a.e!=a.i.gc();)r=l(gr(a),27),f="",(!r.n&&(r.n=new nt(tc,r,1,7)),r.n).i==0||(f=l(Oe((!r.n&&(r.n=new nt(tc,r,1,7)),r.n),0),135).a),g=new kce(o++,t,f),bc(g,r),rt(g,(Qi(),gM),r),g.e.b=r.j+r.f/2,g.f.a=b.Math.max(r.g,1),g.e.a=r.i+r.g/2,g.f.b=b.Math.max(r.f,1),li(t.b,g),zu(n.f,r,g)}function G_n(e){var t,n,r,a,o;r=l(Q(e,(ft(),zi)),27),o=l(at(r,(Nt(),bv)),181).Hc((wh(),Cv)),e.e||(a=l(Q(e,Ou),21),t=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),a.Hc((Ho(),mf))?(Hi(r,Ds,(Fa(),Nu)),Ww(r,t.a,t.b,!1,!0)):Rt(Bt(at(r,ode)))||Ww(r,t.a,t.b,!0,!0)),o?Hi(r,bv,un(Cv)):Hi(r,bv,(n=l(U0(BM),9),new Jh(n,l(o0(n,n.length),9),0)))}function vke(e,t,n){var r,a,o,f;if(t[0]>=e.length)return n.o=0,!0;switch(ao(e,t[0])){case 43:a=1;break;case 45:a=-1;break;default:return n.o=0,!0}if(++t[0],o=t[0],f=EU(e,t),f==0&&t[0]==o)return!1;if(t[0]g&&(g=a,C.c.length=0),a==g&&vt(C,new ua(n.c.i,n)));Cn(),Hs(C,e.c),mw(e.b,w.p,C)}}function X_n(e,t){var n,r,a,o,f,g,w,E,C;for(f=new G(t.b);f.ag&&(g=a,C.c.length=0),a==g&&vt(C,new ua(n.d.i,n)));Cn(),Hs(C,e.c),mw(e.f,w.p,C)}}function Q_n(e,t){var n,r,a,o,f,g,w,E;if(E=Bt(Q(t,(Uc(),ITt))),E==null||(nr(E),E)){for(kEn(e,t),a=new bt,w=Rr(t.b,0);w.b!=w.d.c;)f=l(Br(w),40),n=s9e(e,f,null),n&&(bc(n,t),zn(a.c,n));if(e.a=null,e.b=null,a.c.length>1)for(r=new G(a);r.a=0&&g!=n&&(o=new _a(e,1,g,f,null),r?r.nj(o):r=o),n>=0&&(o=new _a(e,1,n,g==n?f:null,t),r?r.nj(o):r=o)),r}function vmt(e){var t,n,r;if(e.b==null){if(r=new Gp,e.i!=null&&(Qo(r,e.i),r.a+=":"),e.f&256){for(e.f&256&&e.a!=null&&(ppn(e.i)||(r.a+="//"),Qo(r,e.a)),e.d!=null&&(r.a+="/",Qo(r,e.d)),e.f&16&&(r.a+="/"),t=0,n=e.j.length;tB?!1:(L=(w=ZA(r,B,!1),w.a),C+g+L<=t.b&&(aN(n,o-n.s),n.c=!0,aN(r,o-n.s),qN(r,n.s,n.t+n.d+g),r.k=!0,S7e(n.q,r),z=!0,a&&(mV(t,r),r.j=t,e.c.length>f&&(UN((Sn(f,e.c.length),l(e.c[f],186)),r),(Sn(f,e.c.length),l(e.c[f],186)).a.c.length==0&&n2(e,f)))),z)}function iAn(e,t){var n,r,a,o,f,g;if(t.Ug("Partition midprocessing",1),a=new _w,Os(Ri(new bn(null,new kn(e.a,16)),new wj),new lYe(a)),a.d!=0){for(g=l(kc(W5e((o=a.i,new bn(null,(o||(a.i=new q5(a,a.c))).Nc()))),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15),r=g.Kc(),n=l(r.Pb(),17);r.Ob();)f=l(r.Pb(),17),XTn(l($i(a,n),21),l($i(a,f),21)),n=f;t.Vg()}}function xmt(e,t,n){var r,a,o,f,g,w,E,C;if(t.p==0){for(t.p=1,f=n,f||(a=new bt,o=(r=l(U0(Do),9),new Jh(r,l(o0(r,r.length),9),0)),f=new ua(a,o)),l(f.a,15).Fc(t),t.k==(Zn(),Vs)&&l(f.b,21).Fc(l(Q(t,(ft(),Xc)),64)),w=new G(t.j);w.a0){if(a=l(e.Ab.g,2033),t==null){for(o=0;on.s&&gf)return St(),ar;break;case 4:case 3:if(C<0)return St(),Qn;if(C+n>o)return St(),Dr}return w=(E+g/2)/f,r=(C+n/2)/o,w+r<=1&&w-r<=0?(St(),er):w+r>=1&&w-r>=0?(St(),ar):r<.5?(St(),Qn):(St(),Dr)}function uAn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(n=!1,C=ze(Ge(Q(t,(Nt(),w3)))),V=Lb*C,a=new G(t.b);a.aw+V&&(J=L.g+B.g,B.a=(B.g*B.a+L.g*L.a)/J,B.g=J,L.f=B,n=!0)),o=g,L=B;return n}function Cmt(e,t,n,r,a,o,f){var g,w,E,C,L,B;for(B=new $8,E=t.Kc();E.Ob();)for(g=l(E.Pb(),853),L=new G(g.Rf());L.a0?g.a?(E=g.b.Mf().b,a>E&&(e.v||g.c.d.c.length==1?(f=(a-E)/2,g.d.d=f,g.d.a=f):(n=l(jt(g.c.d,0),187).Mf().b,r=(n-E)/2,g.d.d=b.Math.max(0,r),g.d.a=a-r-E))):g.d.a=e.t+a:W_(e.u)&&(o=zxe(g.b),o.d<0&&(g.d.d=-o.d),o.d+o.a>g.b.Mf().b&&(g.d.a=o.d+o.a-g.b.Mf().b))}function p0(){p0=U,qx=new Ha((bi(),XB),pt(1)),EK=new Ha(Ev,80),i8t=new Ha(LNe,5),W7t=new Ha(Z6,lT),n8t=new Ha(qge,pt(1)),r8t=new Ha(Hge,(Vn(),!0)),rAe=new fw(50),e8t=new Ha(A2,rAe),eAe=WB,iAe=_M,Y7t=new Ha(Ige,!1),nAe=YB,J7t=S4,Z7t=Gb,Q7t=kv,X7t=r7,t8t=_4,tAe=(Qxe(),z7t),e1e=U7t,kK=$7t,Z0e=q7t,sAe=V7t,o8t=AM,c8t=oY,a8t=QB,s8t=aY,aAe=(dx(),M4),new Ha(i9,aAe)}function fAn(e,t){var n;switch(gN(e)){case 6:return Ia(t);case 7:return dy(t);case 8:return fy(t);case 3:return Array.isArray(t)&&(n=gN(t),!(n>=14&&n<=16));case 11:return t!=null&&typeof t===Nle;case 12:return t!=null&&(typeof t===wP||typeof t==Nle);case 0:return sue(t,e.__elementTypeId$);case 2:return jae(t)&&t.Tm!==xe;case 1:return jae(t)&&t.Tm!==xe||sue(t,e.__elementTypeId$);default:return!0}}function Smt(e,t){var n,r,a,o;return r=b.Math.min(b.Math.abs(e.c-(t.c+t.b)),b.Math.abs(e.c+e.b-t.c)),o=b.Math.min(b.Math.abs(e.d-(t.d+t.a)),b.Math.abs(e.d+e.a-t.d)),n=b.Math.abs(e.c+e.b/2-(t.c+t.b/2)),n>e.b/2+t.b/2||(a=b.Math.abs(e.d+e.a/2-(t.d+t.a/2)),a>e.a/2+t.a/2)?1:n==0&&a==0?0:n==0?o/a+1:a==0?r/n+1:b.Math.min(r/n,o/a)+1}function dAn(e,t){var n,r,a,o,f,g,w;for(o=0,g=0,w=0,a=new G(e.f.e);a.a0&&e.d!=(lA(),r1e)&&(g+=f*(r.d.a+e.a[t.a][r.a]*(t.d.a-r.d.a)/n)),n>0&&e.d!=(lA(),t1e)&&(w+=f*(r.d.b+e.a[t.a][r.a]*(t.d.b-r.d.b)/n)));switch(e.d.g){case 1:return new lt(g/o,t.d.b);case 2:return new lt(t.d.a,w/o);default:return new lt(g/o,w/o)}}function _mt(e){var t,n,r,a,o,f;for(n=(!e.a&&(e.a=new Ws(Hh,e,5)),e.a).i+2,f=new Ru(n),vt(f,new lt(e.j,e.k)),Os(new bn(null,(!e.a&&(e.a=new Ws(Hh,e,5)),new kn(e.a,16))),new BXe(f)),vt(f,new lt(e.b,e.c)),t=1;t0&&(SN(w,!1,(Qs(),lc)),SN(w,!0,wc)),Gu(t.g,new zet(e,n)),Ei(e.g,t,n)}function Mmt(){Mmt=U;var e;for(i_e=he(le(Vr,1),gi,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),L0e=We(Vr,gi,28,37,15,1),v6t=he(le(Vr,1),gi,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),s_e=We(rm,ohe,28,37,14,1),e=2;e<=36;e++)L0e[e]=la(b.Math.pow(e,i_e[e])),s_e[e]=KN(EP,L0e[e])}function gAn(e){var t;if((!e.a&&(e.a=new nt(os,e,6,6)),e.a).i!=1)throw ue(new Yn(i4t+(!e.a&&(e.a=new nt(os,e,6,6)),e.a).i));return t=new wl,TN(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84))&&Ka(t,vwt(e,TN(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84)),!1)),TN(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84))&&Ka(t,vwt(e,TN(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84)),!0)),t}function Dmt(e,t){var n,r,a,o,f;for(t.d?a=e.a.c==(vd(),x3)?ka(t.b):zs(t.b):a=e.a.c==(vd(),C2)?ka(t.b):zs(t.b),o=!1,r=new hr(dr(a.a.Kc(),new j));jr(r);)if(n=l(xr(r),18),f=Rt(e.a.f[e.a.g[t.b.p].p]),!(!f&&!Lo(n)&&n.c.i.c==n.d.i.c)&&!(Rt(e.a.n[e.a.g[t.b.p].p])||Rt(e.a.n[e.a.g[t.b.p].p]))&&(o=!0,G0(e.b,e.a.g[g7n(n,t.b).p])))return t.c=!0,t.a=n,t;return t.c=o,t.a=null,t}function yke(e,t,n){var r,a,o,f,g,w,E;if(r=n.gc(),r==0)return!1;if(e.Pj())if(w=e.Qj(),L8e(e,t,n),f=r==1?e.Ij(3,null,n.Kc().Pb(),t,w):e.Ij(5,null,n,t,w),e.Mj()){for(g=r<100?null:new rb(r),o=t+r,a=t;a0){for(f=0;f>16==-15&&e.Cb.Yh()&&Hoe(new Roe(e.Cb,9,13,n,e.c,d2(Ql(l(e.Cb,62)),e))):De(e.Cb,90)&&e.Db>>16==-23&&e.Cb.Yh()&&(t=e.c,De(t,90)||(t=(Tn(),Gf)),De(n,90)||(n=(Tn(),Gf)),Hoe(new Roe(e.Cb,9,10,n,t,d2(bu(l(e.Cb,29)),e)))))),e.c}function mAn(e,t,n){var r,a,o,f,g,w,E,C,L;for(n.Ug("Hyperedge merging",1),zEn(e,t),w=new Ua(t.b,0);w.b0,g=VV(t,o),Oye(n?g.b:g.g,t),Z5(g).c.length==1&&_s(r,g,r.c.b,r.c),a=new ua(o,t),pb(e.o,a),cl(e.e.a,o))}function Rmt(e,t){var n,r,a,o,f,g,w;return r=b.Math.abs(vH(e.b).a-vH(t.b).a),g=b.Math.abs(vH(e.b).b-vH(t.b).b),a=0,w=0,n=1,f=1,r>e.b.b/2+t.b.b/2&&(a=b.Math.min(b.Math.abs(e.b.c-(t.b.c+t.b.b)),b.Math.abs(e.b.c+e.b.b-t.b.c)),n=1-a/r),g>e.b.a/2+t.b.a/2&&(w=b.Math.min(b.Math.abs(e.b.d-(t.b.d+t.b.a)),b.Math.abs(e.b.d+e.b.a-t.b.d)),f=1-w/g),o=b.Math.min(n,f),(1-o)*b.Math.sqrt(r*r+g*g)}function yAn(e){var t,n,r,a;for(Lle(e,e.e,e.f,(Aw(),Vb),!0,e.c,e.i),Lle(e,e.e,e.f,Vb,!1,e.c,e.i),Lle(e,e.e,e.f,K6,!0,e.c,e.i),Lle(e,e.e,e.f,K6,!1,e.c,e.i),bAn(e,e.c,e.e,e.f,e.i),r=new Ua(e.i,0);r.b=65;n--)Z1[n]=n-65<<24>>24;for(r=122;r>=97;r--)Z1[r]=r-97+26<<24>>24;for(a=57;a>=48;a--)Z1[a]=a-48+52<<24>>24;for(Z1[43]=62,Z1[47]=63,o=0;o<=25;o++)P2[o]=65+o&Js;for(f=26,w=0;f<=51;++f,w++)P2[f]=97+w&Js;for(e=52,g=0;e<=61;++e,g++)P2[e]=48+g&Js;P2[62]=43,P2[63]=47}function jmt(e,t){var n,r,a,o,f,g;return a=x7e(e),g=x7e(t),a==g?e.e==t.e&&e.a<54&&t.a<54?e.ft.f?1:0:(r=e.e-t.e,n=(e.d>0?e.d:b.Math.floor((e.a-1)*Gwt)+1)-(t.d>0?t.d:b.Math.floor((t.a-1)*Gwt)+1),n>r+1?a:n0&&(f=K5(f,Xmt(r))),Y1t(o,f))):aE&&(B=0,z+=w+t,w=0),KE(f,B,z),n=b.Math.max(n,B+C.a),w=b.Math.max(w,C.b),B+=C.a+t;return new lt(n+t,z+w+t)}function Tke(e,t){var n,r,a,o,f,g,w;if(!_1(e))throw ue(new rc(r4t));if(r=_1(e),o=r.g,a=r.f,o<=0&&a<=0)return St(),Fc;switch(g=e.i,w=e.j,t.g){case 2:case 1:if(g<0)return St(),er;if(g+e.g>o)return St(),ar;break;case 4:case 3:if(w<0)return St(),Qn;if(w+e.f>a)return St(),Dr}return f=(g+e.g/2)/o,n=(w+e.f/2)/a,f+n<=1&&f-n<=0?(St(),er):f+n>=1&&f-n>=0?(St(),ar):n<.5?(St(),Qn):(St(),Dr)}function EAn(e,t,n,r,a){var o,f;if(o=go(va(t[0],Vo),va(r[0],Vo)),e[0]=Yr(o),o=vw(o,32),n>=a){for(f=1;f0&&(a.b[f++]=0,a.b[f++]=o.b[0]-1),t=1;t0&&(H(w,w.d-a.d),a.c==(X0(),Hb)&&N(w,w.a-a.d),w.d<=0&&w.i>0&&_s(t,w,t.c.b,t.c)));for(o=new G(e.f);o.a0&&(q(g,g.i-a.d),a.c==(X0(),Hb)&&$(g,g.b-a.d),g.i<=0&&g.d>0&&_s(n,g,n.c.b,n.c)))}function SAn(e,t,n,r,a){var o,f,g,w,E,C,L,B,z;for(Cn(),Hs(e,new tk),f=PO(e),z=new bt,B=new bt,g=null,w=0;f.b!=0;)o=l(f.b==0?null:(mr(f.b!=0),sf(f,f.a.a)),163),!g||kl(g)*bh(g)/21&&(w>kl(g)*bh(g)/2||f.b==0)&&(L=new fV(B),C=kl(g)/bh(g),E=Mle(L,t,new A8,n,r,a,C),Ni(K0(L.e),E),g=L,zn(z.c,L),w=0,B.c.length=0));return ra(z,B),z}function vu(e,t,n,r,a){Hg();var o,f,g,w,E,C,L;if(g5e(e,"src"),g5e(n,"dest"),L=vh(e),w=vh(n),O4e((L.i&4)!=0,"srcType is not an array"),O4e((w.i&4)!=0,"destType is not an array"),C=L.c,f=w.c,O4e(C.i&1?C==f:(f.i&1)==0,"Array types don't match"),fyn(e,t,n,r,a),!(C.i&1)&&L!=w)if(E=jm(e),o=jm(n),qe(e)===qe(n)&&tr;)Ss(o,g,E[--t]);else for(g=r+a;r0),r.a.Xb(r.c=--r.b),L>B+w&&mh(r);for(f=new G(z);f.a0),r.a.Xb(r.c=--r.b)}}function AAn(){Ii();var e,t,n,r,a,o;if(lpe)return lpe;for(e=new Ah(4),Wy(e,Ab(b0e,!0)),nL(e,Ab("M",!0)),nL(e,Ab("C",!0)),o=new Ah(4),r=0;r<11;r++)_u(o,r,r);return t=new Ah(4),Wy(t,Ab("M",!0)),_u(t,4448,4607),_u(t,65438,65439),a=new B_(2),Qm(a,e),Qm(a,WM),n=new B_(2),n.Jm(cH(o,Ab("L",!0))),n.Jm(t),n=new Cy(3,n),n=new d5e(a,n),lpe=n,lpe}function Ky(e,t){var n,r,a,o,f,g,w,E;for(n=new RegExp(t,"g"),w=We(zt,dt,2,0,6,1),r=0,E=e,o=null;;)if(g=n.exec(E),g==null||E==""){w[r]=E;break}else f=g.index,w[r]=(Ga(0,f,E.length),E.substr(0,f)),E=ef(E,f+g[0].length,E.length),n.lastIndex=0,o==E&&(w[r]=(Ga(0,1,E.length),E.substr(0,1)),E=(Xn(1,E.length+1),E.substr(1))),o=E,++r;if(e.length>0){for(a=w.length;a>0&&w[a-1]=="";)--a;a0&&(L-=r[0]+e.c,r[0]+=e.c),r[2]>0&&(L-=r[2]+e.c),r[1]=b.Math.max(r[1],L),fH(e.a[1],n.c+t.b+r[0]-(r[1]-L)/2,r[1]);for(o=e.a,g=0,E=o.length;g0?(e.n.c.length-1)*e.i:0,r=new G(e.n);r.a1)for(r=Rr(a,0);r.b!=r.d.c;)for(n=l(Br(r),235),o=0,w=new G(n.e);w.a0&&(t[0]+=e.c,L-=t[0]),t[2]>0&&(L-=t[2]+e.c),t[1]=b.Math.max(t[1],L),dH(e.a[1],r.d+n.d+t[0]-(t[1]-L)/2,t[1]);else for(V=r.d+n.d,z=r.a-n.d-n.a,f=e.a,w=0,C=f.length;w0||jw(a.b.d,e.b.d+e.b.a)==0&&r.b<0||jw(a.b.d+a.b.a,e.b.d)==0&&r.b>0){g=0;break}}else g=b.Math.min(g,Rpt(e,a,r));g=b.Math.min(g,Hmt(e,o,g,r))}return g}function dP(e,t){var n,r,a,o,f,g,w;if(e.b<2)throw ue(new Yn("The vector chain must contain at least a source and a target point."));for(a=(mr(e.b!=0),l(e.a.a.c,8)),kO(t,a.a,a.b),w=new q8((!t.a&&(t.a=new Ws(Hh,t,5)),t.a)),f=Rr(e,1);f.a=0&&o!=n))throw ue(new Yn(WP));for(a=0,w=0;wze(S1(f.g,f.d[0]).a)?(mr(w.b>0),w.a.Xb(w.c=--w.b),my(w,f),a=!0):g.e&&g.e.gc()>0&&(o=(!g.e&&(g.e=new bt),g.e).Mc(t),E=(!g.e&&(g.e=new bt),g.e).Mc(n),(o||E)&&((!g.e&&(g.e=new bt),g.e).Fc(f),++f.c));a||zn(r.c,f)}function PAn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;return L=e.a.i+e.a.g/2,B=e.a.i+e.a.g/2,V=t.i+t.g/2,te=t.j+t.f/2,g=new lt(V,te),E=l(at(t,(bi(),n9)),8),E.a=E.a+L,E.b=E.b+B,o=(g.b-E.b)/(g.a-E.a),r=g.b-o*g.a,J=n.i+n.g/2,fe=n.j+n.f/2,w=new lt(J,fe),C=l(at(n,n9),8),C.a=C.a+L,C.b=C.b+B,f=(w.b-C.b)/(w.a-C.a),a=w.b-f*w.a,z=(r-a)/(f-o),E.a>>0,"0"+t.toString(16)),r="\\x"+ef(n,n.length-2,n.length)):e>=Mo?(n=(t=e>>>0,"0"+t.toString(16)),r="\\v"+ef(n,n.length-6,n.length)):r=""+String.fromCharCode(e&Js)}return r}function Kmt(e){var t,n,r;if(P5(l(Q(e,(Nt(),Ds)),101)))for(n=new G(e.j);n.a=t.o&&n.f<=t.f||t.a*.5<=n.f&&t.a*1.5>=n.f){if(f=l(jt(t.n,t.n.c.length-1),209),f.e+f.d+n.g+a<=r&&(o=l(jt(t.n,t.n.c.length-1),209),o.f-e.f+n.f<=e.b||e.a.c.length==1))return x8e(t,n),!0;if(t.s+n.g<=r&&(t.t+t.d+n.f+a<=e.b||e.a.c.length==1))return vt(t.b,n),g=l(jt(t.n,t.n.c.length-1),209),vt(t.n,new BH(t.s,g.f+g.a+t.i,t.i)),txe(l(jt(t.n,t.n.c.length-1),209),n),zmt(t,n),!0}return!1}function Ymt(e,t,n){var r,a,o,f;return e.Pj()?(a=null,o=e.Qj(),r=e.Ij(1,f=Goe(e,t,n),n,t,o),e.Mj()&&!(e.Yi()&&f!=null?Bi(f,n):qe(f)===qe(n))?(f!=null&&(a=e.Oj(f,a)),a=e.Nj(n,a),e.Tj()&&(a=e.Wj(f,n,a)),a?(a.nj(r),a.oj()):e.Jj(r)):(e.Tj()&&(a=e.Wj(f,n,a)),a?(a.nj(r),a.oj()):e.Jj(r)),f):(f=Goe(e,t,n),e.Mj()&&!(e.Yi()&&f!=null?Bi(f,n):qe(f)===qe(n))&&(a=null,f!=null&&(a=e.Oj(f,null)),a=e.Nj(n,a),a&&a.oj()),f)}function qAn(e,t){var n,r,a,o,f;if(t.Ug("Path-Like Graph Wrapping",1),e.b.c.length==0){t.Vg();return}if(a=new D9e(e),f=(a.i==null&&(a.i=k7e(a,new Kj)),ze(a.i)*a.f),n=f/(a.i==null&&(a.i=k7e(a,new Kj)),ze(a.i)),a.b>n){t.Vg();return}switch(l(Q(e,(Nt(),fde)),351).g){case 2:o=new Yj;break;case 0:o=new ES;break;default:o=new Xj}if(r=o.og(e,a),!o.pg())switch(l(Q(e,TW),352).g){case 2:r=jpt(a,r);break;case 1:r=Mgt(a,r)}RLn(e,a,r),t.Vg()}function XA(e,t){var n,r,a,o,f,g,w,E;t%=24,e.q.getHours()!=t&&(r=new b.Date(e.q.getTime()),r.setDate(r.getDate()+1),g=e.q.getTimezoneOffset()-r.getTimezoneOffset(),g>0&&(w=g/60|0,E=g%60,a=e.q.getDate(),n=e.q.getHours(),n+w>=24&&++a,o=new b.Date(e.q.getFullYear(),e.q.getMonth(),a,t+w,e.q.getMinutes()+E,e.q.getSeconds(),e.q.getMilliseconds()),e.q.setTime(o.getTime()))),f=e.q.getTime(),e.q.setTime(f+36e5),e.q.getHours()!=t&&e.q.setTime(f)}function HAn(e,t){var n,r,a,o;if(nbn(e.d,e.e),e.c.a.$b(),ze(Ge(Q(t.j,(Nt(),fW))))!=0||ze(Ge(Q(t.j,fW)))!=0)for(n=y6,qe(Q(t.j,wg))!==qe((yd(),T2))&&rt(t.j,(ft(),$b),(Vn(),!0)),o=l(Q(t.j,nM),17).a,a=0;aa&&++E,vt(f,(Sn(g+E,t.c.length),l(t.c[g+E],17))),w+=(Sn(g+E,t.c.length),l(t.c[g+E],17)).a-r,++n;n=te&&e.e[w.p]>V*e.b||Me>=n*te)&&(zn(B.c,g),g=new bt,Ka(f,o),o.a.$b(),E-=C,z=b.Math.max(z,E*e.b+J),E+=Me,Te=Me,Me=0,C=0,J=0);return new ua(z,B)}function gle(e){var t,n,r,a,o,f,g;if(!e.d){if(g=new Zne,t=qM,o=t.a.zc(e,t),o==null){for(r=new or(gc(e));r.e!=r.i.gc();)n=l(gr(r),29),Ls(g,gle(n));t.a.Bc(e)!=null,t.a.gc()==0}for(f=g.i,a=(!e.q&&(e.q=new nt(Vf,e,11,10)),new or(e.q));a.e!=a.i.gc();++f)l(gr(a),411);Ls(g,(!e.q&&(e.q=new nt(Vf,e,11,10)),e.q)),Oy(g),e.d=new N5((l(Oe(tt((hb(),Un).o),9),19),g.i),g.g),e.e=l(g.g,688),e.e==null&&(e.e=J_t),Xl(e).b&=-17}return e.d}function XE(e,t,n,r){var a,o,f,g,w,E;if(E=Xu(e.e.Dh(),t),w=0,a=l(e.g,124),Ro(),l(t,69).xk()){for(f=0;f1||V==-1)if(L=l(J,71),B=l(C,71),L.dc())B.$b();else for(f=!!jo(t),o=0,g=e.a?L.Kc():L.Ii();g.Ob();)E=l(g.Pb(),58),a=l(O1(e,E),58),a?(f?(w=B.dd(a),w==-1?B.Gi(o,a):o!=w&&B.Ui(o,a)):B.Gi(o,a),++o):e.b&&!f&&(B.Gi(o,E),++o);else J==null?C.Wb(null):(a=O1(e,J),a==null?e.b&&!jo(t)&&C.Wb(J):C.Wb(a))}function WAn(e,t){var n,r,a,o,f,g,w,E;for(n=new pZ,a=new hr(dr(ka(t).a.Kc(),new j));jr(a);)if(r=l(xr(a),18),!Lo(r)&&(g=r.c.i,Fxe(g,_K))){if(E=nke(e,g,_K,SK),E==-1)continue;n.b=b.Math.max(n.b,E),!n.a&&(n.a=new bt),vt(n.a,g)}for(f=new hr(dr(zs(t).a.Kc(),new j));jr(f);)if(o=l(xr(f),18),!Lo(o)&&(w=o.d.i,Fxe(w,SK))){if(E=nke(e,w,SK,_K),E==-1)continue;n.d=b.Math.max(n.d,E),!n.c&&(n.c=new bt),vt(n.c,w)}return n}function YAn(e,t,n,r){var a,o,f,g,w,E,C;if(n.d.i!=t.i){for(a=new ap(e),x(a,(Zn(),Aa)),rt(a,(ft(),zi),n),rt(a,(Nt(),Ds),(Fa(),Nu)),zn(r.c,a),f=new mu,Ic(f,a),ha(f,(St(),er)),g=new mu,Ic(g,a),ha(g,ar),C=n.d,Ba(n,f),o=new Sw,bc(o,n),rt(o,uc,null),fo(o,g),Ba(o,C),E=new Ua(n.b,0);E.b1e6)throw ue(new Hz("power of ten too big"));if(e<=Oi)return sx(iP($x[1],t),t);for(r=iP($x[1],Oi),a=r,n=nu(e-Oi),t=la(e%Oi);ou(n,Oi)>0;)a=K5(a,r),n=Mf(n,Oi);for(a=K5(a,iP($x[1],t)),a=sx(a,Oi),n=nu(e-Oi);ou(n,Oi)>0;)a=sx(a,Oi),n=Mf(n,Oi);return a=sx(a,t),a}function Qmt(e){var t,n,r,a,o,f,g,w,E,C;for(w=new G(e.a);w.aE&&r>E)C=g,E=ze(t.p[g.p])+ze(t.d[g.p])+g.o.b+g.d.a;else{a=!1,n._g()&&n.bh("bk node placement breaks on "+g+" which should have been after "+C);break}if(!a)break}return n._g()&&n.bh(t+" is feasible: "+a),a}function Ake(e,t,n,r){var a,o,f,g,w,E,C,L,B;if(o=new ap(e),x(o,(Zn(),Iu)),rt(o,(Nt(),Ds),(Fa(),Nu)),a=0,t){for(f=new mu,rt(f,(ft(),zi),t),rt(o,zi,t.i),ha(f,(St(),er)),Ic(f,o),B=wd(t.e),E=B,C=0,L=E.length;C0){if(a<0&&C.a&&(a=w,o=E[0],r=0),a>=0){if(g=C.b,w==a&&(g-=r++,g==0))return 0;if(!twt(t,E,C,g,f)){w=a-1,E[0]=o;continue}}else if(a=-1,!twt(t,E,C,0,f))return 0}else{if(a=-1,ao(C.c,0)==32){if(L=E[0],nht(t,E),E[0]>L)continue}else if(Fpn(t,C.c,E[0])){E[0]+=C.c.length;continue}return 0}return jDn(f,n)?E[0]:0}function tLn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=new pH(new Iz(n)),g=We(sh,gg,28,e.f.e.c.length,16,1),h5e(g,g.length),n[t.a]=0,E=new G(e.f.e);E.a=0&&!r6(e,C,L);)--L;a[C]=L}for(z=0;z=0&&!r6(e,g,V);)--g;o[V]=g}for(w=0;wt[B]&&Br[w]&&RU(e,w,B,!1,!0)}function Lke(e){var t,n,r,a,o,f,g,w;n=Rt(Bt(Q(e,(p0(),Y7t)))),o=e.a.c.d,g=e.a.d.d,n?(f=gd(ma(new lt(g.a,g.b),o),.5),w=gd(Ja(e.e),.5),t=ma(Ni(new lt(o.a,o.b),f),w),Rye(e.d,t)):(a=ze(Ge(Q(e.a,i8t))),r=e.d,o.a>=g.a?o.b>=g.b?(r.a=g.a+(o.a-g.a)/2+a,r.b=g.b+(o.b-g.b)/2-a-e.e.b):(r.a=g.a+(o.a-g.a)/2+a,r.b=o.b+(g.b-o.b)/2+a):o.b>=g.b?(r.a=o.a+(g.a-o.a)/2+a,r.b=g.b+(o.b-g.b)/2+a):(r.a=o.a+(g.a-o.a)/2+a,r.b=o.b+(g.b-o.b)/2-a-e.e.b))}function JA(e){var t,n,r,a,o,f,g,w;if(!e.f){if(w=new _I,g=new _I,t=qM,f=t.a.zc(e,t),f==null){for(o=new or(gc(e));o.e!=o.i.gc();)a=l(gr(o),29),Ls(w,JA(a));t.a.Bc(e)!=null,t.a.gc()==0}for(r=(!e.s&&(e.s=new nt(pl,e,21,17)),new or(e.s));r.e!=r.i.gc();)n=l(gr(r),179),De(n,102)&&qr(g,l(n,19));Oy(g),e.r=new Hit(e,(l(Oe(tt((hb(),Un).o),6),19),g.i),g.g),Ls(w,e.r),Oy(w),e.f=new N5((l(Oe(tt(Un.o),5),19),w.i),w.g),Xl(e).b&=-3}return e.f}function Zmt(e){ow(e,new Xm(iw(tw(rw(nw(new v1,nv),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new j0))),gt(e,nv,Ahe,It(Q_e)),gt(e,nv,Lhe,It(Y0e)),gt(e,nv,Ox,It(N7t)),gt(e,nv,Jw,It(X_e)),gt(e,nv,mEe,It(R7t)),gt(e,nv,vEe,It(F7t)),gt(e,nv,bEe,It(j7t)),gt(e,nv,wEe,It(B7t)),gt(e,nv,SEe,It(P7t)),gt(e,nv,_Ee,It(W0e)),gt(e,nv,AEe,It(Y_e)),gt(e,nv,LEe,It(wK))}function qU(){qU=U,mPe=he(le(xf,1),Cd,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),A_t=new RegExp(`[ +\r\f]+`);try{jM=he(le(FOn,1),Rn,2114,0,[new KI((sye(),WV("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",MO((qz(),qz(),NL))))),new KI(WV("yyyy-MM-dd'T'HH:mm:ss'.'SSS",MO(NL))),new KI(WV("yyyy-MM-dd'T'HH:mm:ss",MO(NL))),new KI(WV("yyyy-MM-dd'T'HH:mm",MO(NL))),new KI(WV("yyyy-MM-dd",MO(NL)))])}catch(e){if(e=ms(e),!De(e,82))throw ue(e)}}function rLn(e,t){var n,r,a,o;if(a=Zl(e.d,1)!=0,r=uke(e,t),r==0&&Rt(Bt(Q(t.j,(ft(),$b)))))return 0;!Rt(Bt(Q(t.j,(ft(),$b))))&&!Rt(Bt(Q(t.j,j6)))||qe(Q(t.j,(Nt(),wg)))===qe((yd(),T2))?t.c.mg(t.e,a):a=Rt(Bt(Q(t.j,$b))),cP(e,t,a,!0),Rt(Bt(Q(t.j,j6)))&&rt(t.j,j6,(Vn(),!1)),Rt(Bt(Q(t.j,$b)))&&(rt(t.j,$b,(Vn(),!1)),rt(t.j,j6,!0)),n=uke(e,t);do{if(y7e(e),n==0)return 0;a=!a,o=n,cP(e,t,a,!1),n=uke(e,t)}while(o>n);return o}function evt(e,t){var n,r,a,o;if(a=Zl(e.d,1)!=0,r=kU(e,t),r==0&&Rt(Bt(Q(t.j,(ft(),$b)))))return 0;!Rt(Bt(Q(t.j,(ft(),$b))))&&!Rt(Bt(Q(t.j,j6)))||qe(Q(t.j,(Nt(),wg)))===qe((yd(),T2))?t.c.mg(t.e,a):a=Rt(Bt(Q(t.j,$b))),cP(e,t,a,!0),Rt(Bt(Q(t.j,j6)))&&rt(t.j,j6,(Vn(),!1)),Rt(Bt(Q(t.j,$b)))&&(rt(t.j,$b,(Vn(),!1)),rt(t.j,j6,!0)),n=kU(e,t);do{if(y7e(e),n==0)return 0;a=!a,o=n,cP(e,t,a,!1),n=kU(e,t)}while(o>n);return o}function Mke(e,t,n,r){var a,o,f,g,w,E,C,L,B;return w=ma(new lt(n.a,n.b),e),E=w.a*t.b-w.b*t.a,C=t.a*r.b-t.b*r.a,L=(w.a*r.b-w.b*r.a)/C,B=E/C,C==0?E==0?(a=Ni(new lt(n.a,n.b),gd(new lt(r.a,r.b),.5)),o=bb(e,a),f=bb(Ni(new lt(e.a,e.b),t),a),g=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o=0&&L<=1&&B>=0&&B<=1?Ni(new lt(e.a,e.b),gd(new lt(t.a,t.b),L)):null}function iLn(e,t,n){var r,a,o,f,g;if(r=l(Q(e,(Nt(),Z1e)),21),n.a>t.a&&(r.Hc((Ym(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(TM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((Ym(),SM))?e.c.b+=(n.b-t.b)/2:r.Hc(CM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),Ou)),21).Hc((Ho(),mf))&&(n.a>t.a||n.b>t.b))for(g=new G(e.a);g.at.a&&(r.Hc((Ym(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(TM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((Ym(),SM))?e.c.b+=(n.b-t.b)/2:r.Hc(CM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),Ou)),21).Hc((Ho(),mf))&&(n.a>t.a||n.b>t.b))for(f=new G(e.a);f.a0?e.i:0)>t&&w>0&&(o=0,f+=w+e.i,a=b.Math.max(a,B),r+=w+e.i,w=0,B=0,n&&(++L,vt(e.n,new BH(e.s,f,e.i))),g=0),B+=E.g+(g>0?e.i:0),w=b.Math.max(w,E.f),n&&txe(l(jt(e.n,L),209),E),o+=E.g+(g>0?e.i:0),++g;return a=b.Math.max(a,B),r+=w,n&&(e.r=a,e.d=r,sxe(e.j)),new Zh(e.s,e.t,a,r)}function ple(e){var t,n,r,a,o,f,g,w,E,C,L,B;for(e.b=!1,L=ps,w=ia,B=ps,E=ia,r=e.e.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),272),a=n.a,L=b.Math.min(L,a.c),w=b.Math.max(w,a.c+a.b),B=b.Math.min(B,a.d),E=b.Math.max(E,a.d+a.a),f=new G(n.c);f.ae.o.a&&(C=(w-e.o.a)/2,g.b=b.Math.max(g.b,C),g.c=b.Math.max(g.c,C))}}function cLn(e){var t,n,r,a,o,f,g,w;for(o=new Yot,jln(o,(hx(),pSt)),r=(a=oce(e,We(zt,dt,2,0,6,1)),new kr(new Ol(new ose(e,a).b)));r.bg?1:-1:Y7e(e.a,t.a,o),a==-1)L=-w,C=f==w?Ioe(t.a,g,e.a,o):Noe(t.a,g,e.a,o);else if(L=f,f==w){if(a==0)return kd(),BL;C=Ioe(e.a,o,t.a,g)}else C=Noe(e.a,o,t.a,g);return E=new Im(L,C.length,C),iA(E),E}function uLn(e,t){var n,r,a,o;if(o=Fmt(t),!t.c&&(t.c=new nt(Vl,t,9,9)),Os(new bn(null,(!t.c&&(t.c=new nt(Vl,t,9,9)),new kn(t.c,16))),new qWe(o)),a=l(Q(o,(ft(),Ou)),21),tDn(t,a),a.Hc((Ho(),mf)))for(r=new or((!t.c&&(t.c=new nt(Vl,t,9,9)),t.c));r.e!=r.i.gc();)n=l(gr(r),123),MDn(e,t,o,n);return l(at(t,(Nt(),bv)),181).gc()!=0&&Lbt(t,o),Rt(Bt(Q(o,QMe)))&&a.Fc(rW),ts(o,CB)&&BJe(new I8e(ze(Ge(Q(o,CB)))),o),qe(at(t,b4))===qe((np(),L2))?eOn(e,t,o):RIn(e,t,o),o}function lLn(e){var t,n,r,a,o,f,g,w;for(a=new G(e.b);a.a0?ef(n.a,0,o-1):""):(Ga(0,o-1,e.length),e.substr(0,o-1)):n?n.a:e}function hLn(e,t){var n,r,a,o,f,g,w;for(t.Ug("Sort By Input Model "+Q(e,(Nt(),wg)),1),a=0,r=new G(e.b);r.a=e.b.length?(o[a++]=f.b[r++],o[a++]=f.b[r++]):r>=f.b.length?(o[a++]=e.b[n++],o[a++]=e.b[n++]):f.b[r]0?e.i:0)),++t;for(p8e(e.n,w),e.d=n,e.r=r,e.g=0,e.f=0,e.e=0,e.o=ps,e.p=ps,o=new G(e.b);o.a0&&(a=(!e.n&&(e.n=new nt(tc,e,1,7)),l(Oe(e.n,0),135)).a,!a||fi(fi((t.a+=' "',t),a),'"'))),n=(!e.b&&(e.b=new An(Sr,e,4,7)),!(e.b.i<=1&&(!e.c&&(e.c=new An(Sr,e,5,8)),e.c.i<=1))),n?t.a+=" [":t.a+=" ",fi(t,Tye(new ese,new or(e.b))),n&&(t.a+="]"),t.a+=Bhe,n&&(t.a+="["),fi(t,Tye(new ese,new or(e.c))),n&&(t.a+="]"),t.a)}function dLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn;for(Je=e.c,ot=t.c,n=pc(Je.a,e,0),r=pc(ot.a,t,0),Me=l($w(e,(qo(),zl)).Kc().Pb(),12),an=l($w(e,Hu).Kc().Pb(),12),$e=l($w(t,zl).Kc().Pb(),12),Fn=l($w(t,Hu).Kc().Pb(),12),fe=wd(Me.e),_t=wd(an.g),Te=wd($e.e),on=wd(Fn.g),Ry(e,r,ot),f=Te,C=0,V=f.length;CC?new Pm((X0(),T4),n,t,E-C):E>0&&C>0&&(new Pm((X0(),T4),t,n,0),new Pm(T4,n,t,0))),f)}function bLn(e,t,n){var r,a,o;for(e.a=new bt,o=Rr(t.b,0);o.b!=o.d.c;){for(a=l(Br(o),40);l(Q(a,(Uc(),Fd)),17).a>e.a.c.length-1;)vt(e.a,new ua(y6,fCe));r=l(Q(a,Fd),17).a,n==(Qs(),lc)||n==wc?(a.e.aze(Ge(l(jt(e.a,r),42).b))&&ct(l(jt(e.a,r),42),a.e.a+a.f.a)):(a.e.bze(Ge(l(jt(e.a,r),42).b))&&ct(l(jt(e.a,r),42),a.e.b+a.f.b))}}function rvt(e,t,n,r){var a,o,f,g,w,E,C;if(o=qV(r),g=Rt(Bt(Q(r,(Nt(),UMe)))),(g||Rt(Bt(Q(e,mW))))&&!P5(l(Q(e,Ds),101)))a=gx(o),w=wke(e,n,n==(qo(),Hu)?a:BN(a));else switch(w=new mu,Ic(w,e),t?(C=w.n,C.a=t.a-e.n.a,C.b=t.b-e.n.b,upt(C,0,0,e.o.a,e.o.b),ha(w,Tmt(w,o))):(a=gx(o),ha(w,n==(qo(),Hu)?a:BN(a))),f=l(Q(r,(ft(),Ou)),21),E=w.j,o.g){case 2:case 1:(E==(St(),Qn)||E==Dr)&&f.Fc((Ho(),B6));break;case 4:case 3:(E==(St(),ar)||E==er)&&f.Fc((Ho(),B6))}return w}function ivt(e,t){var n,r,a,o,f,g;for(f=new qm(new Cr(e.f.b).a);f.b;){if(o=Bw(f),a=l(o.ld(),602),t==1){if(a.Af()!=(Qs(),vf)&&a.Af()!=W1)continue}else if(a.Af()!=(Qs(),lc)&&a.Af()!=wc)continue;switch(r=l(l(o.md(),42).b,86),g=l(l(o.md(),42).a,194),n=g.c,a.Af().g){case 2:r.g.c=e.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=e.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function mLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(g=We(Vr,gi,28,t.b.c.length,15,1),E=We(h1e,it,273,t.b.c.length,0,1),w=We(vg,v2,10,t.b.c.length,0,1),L=e.a,B=0,z=L.length;B0&&w[r]&&(V=j5(e.b,w[r],a)),J=b.Math.max(J,a.c.c.b+V);for(o=new G(C.e);o.a1)throw ue(new Yn(ZP));w||(o=ig(t,r.Kc().Pb()),f.Fc(o))}return P7e(e,n9e(e,t,n),f)}function VU(e,t,n){var r,a,o,f,g,w,E,C;if(cp(e.e,t))w=(Ro(),l(t,69).xk()?new rH(t,e):new yO(t,e)),TU(w.c,w.b),F_(w,l(n,16));else{for(C=Xu(e.e.Dh(),t),r=l(e.g,124),f=0;f"}w!=null&&(t.a+=""+w)}else e.e?(g=e.e.zb,g!=null&&(t.a+=""+g)):(t.a+="?",e.b?(t.a+=" super ",yle(e.b,t)):e.f&&(t.a+=" extends ",yle(e.f,t)))}function ELn(e){e.b=null,e.a=null,e.o=null,e.q=null,e.v=null,e.w=null,e.B=null,e.p=null,e.Q=null,e.R=null,e.S=null,e.T=null,e.U=null,e.V=null,e.W=null,e.bb=null,e.eb=null,e.ab=null,e.H=null,e.db=null,e.c=null,e.d=null,e.f=null,e.n=null,e.r=null,e.s=null,e.u=null,e.G=null,e.J=null,e.e=null,e.j=null,e.i=null,e.g=null,e.k=null,e.t=null,e.F=null,e.I=null,e.L=null,e.M=null,e.O=null,e.P=null,e.$=null,e.N=null,e.Z=null,e.cb=null,e.K=null,e.D=null,e.A=null,e.C=null,e._=null,e.fb=null,e.X=null,e.Y=null,e.gb=!1,e.hb=!1}function TLn(e){var t,n,r,a;if(r=Ile((!e.c&&(e.c=XO(nu(e.f))),e.c),0),e.e==0||e.a==0&&e.f!=-1&&e.e<0)return r;if(t=x7e(e)<0?1:0,n=e.e,a=(r.length+1+b.Math.abs(la(e.e)),new S5),t==1&&(a.a+="-"),e.e>0)if(n-=r.length-t,n>=0){for(a.a+="0.";n>lv.length;n-=lv.length)Zit(a,lv);Frt(a,lv,la(n)),fi(a,(Xn(t,r.length+1),r.substr(t)))}else n=t-n,fi(a,ef(r,t,la(n))),a.a+=".",fi(a,y5e(r,la(n)));else{for(fi(a,(Xn(t,r.length+1),r.substr(t)));n<-lv.length;n+=lv.length)Zit(a,lv);Frt(a,lv,la(-n))}return a.a}function xle(e){var t,n,r,a,o,f,g,w,E;return!(e.k!=(Zn(),Bs)||e.j.c.length<=1||(o=l(Q(e,(Nt(),Ds)),101),o==(Fa(),Nu))||(a=(Fy(),(e.q?e.q:(Cn(),Cn(),bg))._b(b3)?r=l(Q(e,b3),203):r=l(Q(eo(e),eM),203),r),a==AW)||!(a==G6||a==U6)&&(f=ze(Ge(By(e,tM))),t=l(Q(e,_B),140),!t&&(t=new r4e(f,f,f,f)),E=Pc(e,(St(),er)),w=t.d+t.a+(E.gc()-1)*f,w>e.o.b||(n=Pc(e,ar),g=t.d+t.a+(n.gc()-1)*f,g>e.o.b)))}function CLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;t.Ug("Orthogonal edge routing",1),E=ze(Ge(Q(e,(Nt(),V6)))),n=ze(Ge(Q(e,q6))),r=ze(Ge(Q(e,vv))),B=new Vae(0,n),te=0,f=new Ua(e.b,0),g=null,C=null,w=null,L=null;do C=f.b0?(z=(V-1)*n,g&&(z+=r),C&&(z+=r),zt||Rt(Bt(at(w,(R1(),$B)))))&&(a=0,o+=C.b+n,zn(L.c,C),C=new J5e(o,n),r=new Ece(0,C.f,C,n),mV(C,r),a=0),r.b.c.length==0||!Rt(Bt(at(gs(w),(R1(),fge))))&&(w.f>=r.o&&w.f<=r.f||r.a*.5<=w.f&&r.a*1.5>=w.f)?x8e(r,w):(f=new Ece(r.s+r.r+n,C.f,C,n),mV(C,f),x8e(f,w)),a=w.i+w.g;return zn(L.c,C),L}function eL(e){var t,n,r,a;if(!(e.b==null||e.b.length<=2)&&!e.a){for(t=0,a=0;a=e.b[a+1])a+=2;else if(n0)for(r=new Nl(l($i(e.a,o),21)),Cn(),Hs(r,new GI(t)),a=new Ua(o.b,0);a.b0&&r>=-6?r>=0?EO(o,n-la(e.e),String.fromCharCode(46)):(fce(o,t-1,t-1,"0."),EO(o,t+1,Df(lv,0,-la(r)-1))):(n-t>=1&&(EO(o,t,String.fromCharCode(46)),++n),EO(o,n,String.fromCharCode(69)),r>0&&EO(o,++n,String.fromCharCode(43)),EO(o,++n,""+Y_(nu(r)))),e.g=o.a,e.g))}function PLn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t;r=ze(Ge(Q(t,(Nt(),WMe)))),Je=l(Q(t,nM),17).a,B=4,a=3,ot=20/Je,z=!1,w=0,f=Oi;do{for(o=w!=1,L=w!=0,_t=0,te=e.a,Te=0,$e=te.length;Te<$e;++Te)V=te[Te],V.f=null,kDn(e,V,o,L,r),_t+=b.Math.abs(V.a);do g=uAn(e,t);while(g);for(J=e.a,fe=0,Me=J.length;feJe)?(w=2,f=Oi):w==0?(w=1,f=_t):(w=0,f=_t)):(z=_t>=f||f-_t0?1:hw(isNaN(r),isNaN(0)))>=0^(h0(Dd),(b.Math.abs(g)<=Dd||g==0||isNaN(g)&&isNaN(0)?0:g<0?-1:g>0?1:hw(isNaN(g),isNaN(0)))>=0)?b.Math.max(g,r):(h0(Dd),(b.Math.abs(r)<=Dd||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:hw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(g*g+r*r):-b.Math.sqrt(g*g+r*r))}function Qm(e,t){var n,r,a,o,f,g;if(t){if(!e.a&&(e.a=new $z),e.e==2){jz(e.a,t);return}if(t.e==1){for(a=0;a=Mo?Qo(n,y8e(r)):Uk(n,r&Js),f=new uoe(10,null,0),wgn(e.a,f,g-1)):(n=(f.Mm().length+o,new h_),Qo(n,f.Mm())),t.e==0?(r=t.Km(),r>=Mo?Qo(n,y8e(r)):Uk(n,r&Js)):Qo(n,t.Mm()),l(f,530).b=n.a}}function RLn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(!n.dc()){for(g=0,B=0,r=n.Kc(),V=l(r.Pb(),17).a;g1&&(w=E.Hg(w,e.a,g));return w.c.length==1?l(jt(w,w.c.length-1),238):w.c.length==2?_Ln((Sn(0,w.c.length),l(w.c[0],238)),(Sn(1,w.c.length),l(w.c[1],238)),f,o):null}function qLn(e,t,n){var r,a,o,f,g,w,E;for(n.Ug("Find roots",1),e.a.c.length=0,a=Rr(t.b,0);a.b!=a.d.c;)r=l(Br(a),40),r.b.b==0&&(rt(r,(Qi(),Ub),(Vn(),!0)),vt(e.a,r));switch(e.a.c.length){case 0:o=new kce(0,t,"DUMMY_ROOT"),rt(o,(Qi(),Ub),(Vn(),!0)),rt(o,Pde,!0),li(t.b,o);break;case 1:break;default:for(f=new kce(0,t,IG),w=new G(e.a);w.a=b.Math.abs(r.b)?(r.b=0,o.d+o.a>f.d&&o.df.c&&o.c0){if(t=new tye(e.i,e.g),n=e.i,o=n<100?null:new rb(n),e.Tj())for(r=0;r0){for(g=e.g,E=e.i,uA(e),o=E<100?null:new rb(E),r=0;r>13|(e.m&15)<<9,a=e.m>>4&8191,o=e.m>>17|(e.h&255)<<5,f=(e.h&1048320)>>8,g=t.l&8191,w=t.l>>13|(t.m&15)<<9,E=t.m>>4&8191,C=t.m>>17|(t.h&255)<<5,L=(t.h&1048320)>>8,on=n*g,an=r*g,Fn=a*g,jn=o*g,ur=f*g,w!=0&&(an+=n*w,Fn+=r*w,jn+=a*w,ur+=o*w),E!=0&&(Fn+=n*E,jn+=r*E,ur+=a*E),C!=0&&(jn+=n*C,ur+=r*C),L!=0&&(ur+=n*L),z=on&th,V=(an&511)<<13,B=z+V,te=on>>22,fe=an>>9,Te=(Fn&262143)<<4,Me=(jn&31)<<17,J=te+fe+Te+Me,Je=Fn>>18,ot=jn>>5,_t=(ur&4095)<<8,$e=Je+ot+_t,J+=B>>22,B&=th,$e+=J>>22,J&=th,$e&=lp,Vu(B,J,$e)}function pvt(e){var t,n,r,a,o,f,g;if(g=l(jt(e.j,0),12),g.g.c.length!=0&&g.e.c.length!=0)throw ue(new rc("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(g.g.c.length!=0){for(o=ps,n=new G(g.g);n.a4)if(e.fk(t)){if(e.al()){if(a=l(t,54),r=a.Eh(),w=r==e.e&&(e.ml()?a.yh(a.Fh(),e.il())==e.jl():-1-a.Fh()==e.Lj()),e.nl()&&!w&&!r&&a.Jh()){for(o=0;o0&&bpt(e,g,L);for(a=new G(L);a.ae.d[f.p]&&(n+=d6e(e.b,o)*l(w.b,17).a,pb(e.a,pt(o)));for(;!l_(e.a);)G6e(e.b,l(X8(e.a),17).a)}return n}function KLn(e,t){var n,r,a,o,f,g,w,E,C,L;if(C=l(Q(e,(ft(),Xc)),64),r=l(jt(e.j,0),12),C==(St(),Qn)?ha(r,Dr):C==Dr&&ha(r,Qn),l(Q(t,(Nt(),bv)),181).Hc((wh(),Cv))){if(w=ze(Ge(Q(e,GT))),E=ze(Ge(Q(e,KT))),f=ze(Ge(Q(e,x4))),g=l(Q(t,w4),21),g.Hc((jl(),mp)))for(n=E,L=e.o.a/2-r.n.a,o=new G(r.f);o.a0&&(E=e.n.a/o);break;case 2:case 4:a=e.i.o.b,a>0&&(E=e.n.b/a)}rt(e,(ft(),f3),E)}if(w=e.o,f=e.a,r)f.a=r.a,f.b=r.b,e.d=!0;else if(t!=X1&&t!=Yb&&g!=Fc)switch(g.g){case 1:f.a=w.a/2;break;case 2:f.a=w.a,f.b=w.b/2;break;case 3:f.a=w.a/2,f.b=w.b;break;case 4:f.b=w.b/2}else f.a=w.a/2,f.b=w.b/2}function tL(e){var t,n,r,a,o,f,g,w,E,C;if(e.Pj())if(C=e.Ej(),w=e.Qj(),C>0)if(t=new C7e(e.pj()),n=C,o=n<100?null:new rb(n),AO(e,n,t.g),a=n==1?e.Ij(4,Oe(t,0),null,0,w):e.Ij(6,t,null,-1,w),e.Mj()){for(r=new or(t);r.e!=r.i.gc();)o=e.Oj(gr(r),o);o?(o.nj(a),o.oj()):e.Jj(a)}else o?(o.nj(a),o.oj()):e.Jj(a);else AO(e,e.Ej(),e.Fj()),e.Jj(e.Ij(6,(Cn(),Co),null,-1,w));else if(e.Mj())if(C=e.Ej(),C>0){for(g=e.Fj(),E=C,AO(e,C,g),o=E<100?null:new rb(E),r=0;r1&&kl(f)*bh(f)/2>g[0]){for(o=0;og[o];)++o;V=new e2(J,0,o+1),L=new fV(V),C=kl(f)/bh(f),w=Mle(L,t,new A8,n,r,a,C),Ni(K0(L.e),w),K8($E(B,L),aT),z=new e2(J,o+1,J.c.length),uxe(B,z),J.c.length=0,E=0,bst(g,g.length,0)}else te=B.b.c.length==0?null:jt(B.b,0),te!=null&&ice(B,0),E>0&&(g[E]=g[E-1]),g[E]+=kl(f)*bh(f),++E,zn(J.c,f);return J}function ZLn(e,t){var n,r,a,o;n=t.b,o=new Nl(n.j),a=0,r=n.j,r.c.length=0,ww(l(zm(e.b,(St(),Qn),(Pw(),u3)),15),n),a=zN(o,a,new Wv,r),ww(l(zm(e.b,Qn,jb),15),n),a=zN(o,a,new mee,r),ww(l(zm(e.b,Qn,c3),15),n),ww(l(zm(e.b,ar,u3),15),n),ww(l(zm(e.b,ar,jb),15),n),a=zN(o,a,new zj,r),ww(l(zm(e.b,ar,c3),15),n),ww(l(zm(e.b,Dr,u3),15),n),a=zN(o,a,new qj,r),ww(l(zm(e.b,Dr,jb),15),n),a=zN(o,a,new Hj,r),ww(l(zm(e.b,Dr,c3),15),n),ww(l(zm(e.b,er,u3),15),n),a=zN(o,a,new Fj,r),ww(l(zm(e.b,er,jb),15),n),ww(l(zm(e.b,er,c3),15),n)}function eMn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z;for(g=new G(t);g.a.5?fe-=f*2*(V-.5):V<.5&&(fe+=o*2*(.5-V)),a=g.d.b,fete.a-J-C&&(fe=te.a-J-C),g.n.a=t+fe}}function iMn(e){var t,n,r,a,o;if(r=l(Q(e,(Nt(),Zu)),171),r==(lf(),zb)){for(n=new hr(dr(ka(e).a.Kc(),new j));jr(n);)if(t=l(xr(n),18),!Mut(t))throw ue(new Up($he+HN(e)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==g4){for(o=new hr(dr(zs(e).a.Kc(),new j));jr(o);)if(a=l(xr(o),18),!Mut(a))throw ue(new Up($he+HN(e)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function bP(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;if(e.e&&e.c.c>19&&(t=xE(t),w=!w),f=qTn(t),o=!1,a=!1,r=!1,e.h==SP&&e.m==0&&e.l==0)if(a=!0,o=!0,f==-1)e=nnt((iE(),YSe)),r=!0,w=!w;else return g=I9e(e,f),w&&xce(g),n&&(Pb=Vu(0,0,0)),g;else e.h>>19&&(o=!0,e=xE(e),r=!0,w=!w);return f!=-1?myn(e,f,w,o,n):mxe(e,t)<0?(n&&(o?Pb=xE(e):Pb=Vu(e.l,e.m,e.h)),Vu(0,0,0)):$_n(r?e:Vu(e.l,e.m,e.h),t,w,o,a,n)}function Cle(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;if(f=e.e,w=t.e,f==0)return t;if(w==0)return e;if(o=e.d,g=t.d,o+g==2)return n=va(e.a[0],Vo),r=va(t.a[0],Vo),f==w?(C=go(n,r),V=Yr(C),z=Yr(lb(C,32)),z==0?new Xg(f,V):new Im(f,2,he(le(Vr,1),gi,28,15,[V,z]))):(kd(),Lq(f<0?Mf(r,n):Mf(n,r),0)?Eb(f<0?Mf(r,n):Mf(n,r)):J_(Eb(i2(f<0?Mf(r,n):Mf(n,r)))));if(f==w)B=f,L=o>=g?Noe(e.a,o,t.a,g):Noe(t.a,g,e.a,o);else{if(a=o!=g?o>g?1:-1:Y7e(e.a,t.a,o),a==0)return kd(),BL;a==1?(B=f,L=Ioe(e.a,o,t.a,g)):(B=w,L=Ioe(t.a,g,e.a,o))}return E=new Im(B,L.length,L),iA(E),E}function aMn(e,t){var n,r,a,o,f,g,w;if(!(e.g>t.f||t.g>e.f)){for(n=0,r=0,f=e.w.a.ec().Kc();f.Ob();)a=l(f.Pb(),12),Oce(Nc(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,t.g,t.f)&&++n;for(g=e.r.a.ec().Kc();g.Ob();)a=l(g.Pb(),12),Oce(Nc(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,t.g,t.f)&&--n;for(w=t.w.a.ec().Kc();w.Ob();)a=l(w.Pb(),12),Oce(Nc(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,e.g,e.f)&&++r;for(o=t.r.a.ec().Kc();o.Ob();)a=l(o.Pb(),12),Oce(Nc(he(le(Ea,1),dt,8,0,[a.i.n,a.n,a.a])).b,e.g,e.f)&&--r;n=0)return n;switch(Tw(sc(e,n))){case 2:{if(wn("",c2(e,n.qk()).xe())){if(w=HO(sc(e,n)),g=Wk(sc(e,n)),C=B9e(e,t,w,g),C)return C;for(a=fke(e,t),f=0,L=a.gc();f1)throw ue(new Yn(ZP));for(C=Xu(e.e.Dh(),t),r=l(e.g,124),f=0;f1,E=new D1(B.b);Dc(E.a)||Dc(E.b);)w=l(Dc(E.a)?re(E.a):re(E.b),18),L=w.c==B?w.d:w.c,b.Math.abs(Nc(he(le(Ea,1),dt,8,0,[L.i.n,L.n,L.a])).b-f.b)>1&&KCn(e,w,f,o,B)}}function fMn(e){var t,n,r,a,o,f;if(a=new Ua(e.e,0),r=new Ua(e.a,0),e.d)for(n=0;nyfe;){for(o=t,f=0;b.Math.abs(t-o)0),a.a.Xb(a.c=--a.b),_An(e,e.b-f,o,r,a),mr(a.b0),r.a.Xb(r.c=--r.b)}if(!e.d)for(n=0;n0?(e.f[C.p]=z/(C.e.c.length+C.g.c.length),e.c=b.Math.min(e.c,e.f[C.p]),e.b=b.Math.max(e.b,e.f[C.p])):g&&(e.f[C.p]=z)}}function gMn(e){e.b=null,e.bb=null,e.fb=null,e.qb=null,e.a=null,e.c=null,e.d=null,e.e=null,e.f=null,e.n=null,e.M=null,e.L=null,e.Q=null,e.R=null,e.K=null,e.db=null,e.eb=null,e.g=null,e.i=null,e.j=null,e.k=null,e.gb=null,e.o=null,e.p=null,e.q=null,e.r=null,e.$=null,e.ib=null,e.S=null,e.T=null,e.t=null,e.s=null,e.u=null,e.v=null,e.w=null,e.B=null,e.A=null,e.C=null,e.D=null,e.F=null,e.G=null,e.H=null,e.I=null,e.J=null,e.P=null,e.Z=null,e.U=null,e.V=null,e.W=null,e.X=null,e.Y=null,e._=null,e.ab=null,e.cb=null,e.hb=null,e.nb=null,e.lb=null,e.mb=null,e.ob=null,e.pb=null,e.jb=null,e.kb=null,e.N=!1,e.O=!1}function pMn(e,t,n){var r,a,o,f;for(n.Ug("Graph transformation ("+e.a+")",1),f=Lw(t.a),o=new G(t.b);o.a=g.b.c)&&(g.b=t),(!g.c||t.c<=g.c.c)&&(g.d=g.c,g.c=t),(!g.e||t.d>=g.e.d)&&(g.e=t),(!g.f||t.d<=g.f.d)&&(g.f=t);return r=new rU((wE(),o3)),QO(e,I8t,new Ol(he(le(fB,1),Rn,382,0,[r]))),f=new rU(c4),QO(e,D8t,new Ol(he(le(fB,1),Rn,382,0,[f]))),a=new rU(o4),QO(e,M8t,new Ol(he(le(fB,1),Rn,382,0,[a]))),o=new rU(M6),QO(e,L8t,new Ol(he(le(fB,1),Rn,382,0,[o]))),Xue(r.c,o3),Xue(a.c,o4),Xue(o.c,M6),Xue(f.c,c4),g.a.c.length=0,ra(g.a,r.c),ra(g.a,uf(a.c)),ra(g.a,o.c),ra(g.a,uf(f.c)),g}function vMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V;for(t.Ug(Myt,1),z=ze(Ge(at(e,(cg(),C4)))),f=ze(Ge(at(e,(R1(),wM)))),g=l(at(e,vM),107),w7e((!e.a&&(e.a=new nt(Li,e,10,11)),e.a)),C=hvt((!e.a&&(e.a=new nt(Li,e,10,11)),e.a),z,f),!e.a&&(e.a=new nt(Li,e,10,11)),E=new G(C);E.a0&&(e.a=w+(z-1)*o,t.c.b+=e.a,t.f.b+=e.a)),V.a.gc()!=0&&(B=new Vae(1,o),z=jke(B,t,V,J,t.f.b+w-t.c.b),z>0&&(t.f.b+=w+(z-1)*o))}function vvt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(C=ze(Ge(Q(e,(Nt(),v3)))),r=ze(Ge(Q(e,iDe))),B=new EI,rt(B,v3,C+r),E=t,fe=E.d,J=E.c.i,Te=E.d.i,te=cye(J.c),Me=cye(Te.c),a=new bt,L=te;L<=Me;L++)g=new ap(e),x(g,(Zn(),Aa)),rt(g,(ft(),zi),E),rt(g,Ds,(Fa(),Nu)),rt(g,EW,B),z=l(jt(e.b,L),30),L==te?Ry(g,z.a.c.length-n,z):Va(g,z),$e=ze(Ge(Q(E,k2))),$e<0&&($e=0,rt(E,k2,$e)),g.o.b=$e,V=b.Math.floor($e/2),f=new mu,ha(f,(St(),er)),Ic(f,g),f.n.b=V,w=new mu,ha(w,ar),Ic(w,g),w.n.b=V,Ba(E,f),o=new Sw,bc(o,E),rt(o,uc,null),fo(o,w),Ba(o,fe),o8n(g,E,o),zn(a.c,o),E=o;return a}function Sle(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(w=l(g2(e,(St(),er)).Kc().Pb(),12).e,z=l(g2(e,ar).Kc().Pb(),12).g,g=w.c.length,Me=L1(l(jt(e.j,0),12));g-- >0;){for(J=(Sn(0,w.c.length),l(w.c[0],18)),a=(Sn(0,z.c.length),l(z.c[0],18)),Te=a.d.e,o=pc(Te,a,0),qbn(J,a.d,o),fo(a,null),Ba(a,null),V=J.a,t&&li(V,new xo(Me)),r=Rr(a.a,0);r.b!=r.d.c;)n=l(Br(r),8),li(V,new xo(n));for(fe=J.b,B=new G(a.b);B.af)&&na(e.b,l(te.b,18));++g}o=f}}}function Bke(e,t){var n;if(t==null||wn(t,hl)||t.length==0&&e.k!=(p2(),t9))return null;switch(e.k.g){case 1:return JV(t,wT)?(Vn(),ST):JV(t,Rfe)?(Vn(),Bb):null;case 2:try{return pt(Nh(t,co,Oi))}catch(r){if(r=ms(r),De(r,130))return null;throw ue(r)}case 4:try{return $y(t)}catch(r){if(r=ms(r),De(r,130))return null;throw ue(r)}case 3:return t;case 5:return j0t(e),Jpt(e,t);case 6:return j0t(e),wTn(e,e.a,t);case 7:try{return n=MEn(e),n.cg(t),n}catch(r){if(r=ms(r),De(r,33))return null;throw ue(r)}default:throw ue(new rc("Invalid type set for this layout option."))}}function Fke(e){var t;switch(e.d){case 1:{if(e.Sj())return e.o!=-2;break}case 2:{if(e.Sj())return e.o==-2;break}case 3:case 5:case 4:case 6:case 7:return e.o>-2;default:return!1}switch(t=e.Rj(),e.p){case 0:return t!=null&&Rt(Bt(t))!=I_(e.k,0);case 1:return t!=null&&l(t,222).a!=Yr(e.k)<<24>>24;case 2:return t!=null&&l(t,180).a!=(Yr(e.k)&Js);case 6:return t!=null&&I_(l(t,168).a,e.k);case 5:return t!=null&&l(t,17).a!=Yr(e.k);case 7:return t!=null&&l(t,191).a!=Yr(e.k)<<16>>16;case 3:return t!=null&&ze(Ge(t))!=e.j;case 4:return t!=null&&l(t,161).a!=e.j;default:return t==null?e.n!=null:!Bi(t,e.n)}}function mP(e,t,n){var r,a,o,f;return e.ol()&&e.nl()&&(f=Rae(e,l(n,58)),qe(f)!==qe(n))?(e.xj(t),e.Dj(t,klt(e,t,f)),e.al()&&(o=(a=l(n,54),e.ml()?e.kl()?a.Th(e.b,jo(l(Ln(ol(e.b),e.Lj()),19)).n,l(Ln(ol(e.b),e.Lj()).Hk(),29).kk(),null):a.Th(e.b,vs(a.Dh(),jo(l(Ln(ol(e.b),e.Lj()),19))),null,null):a.Th(e.b,-1-e.Lj(),null,null)),!l(f,54).Ph()&&(o=(r=l(f,54),e.ml()?e.kl()?r.Rh(e.b,jo(l(Ln(ol(e.b),e.Lj()),19)).n,l(Ln(ol(e.b),e.Lj()).Hk(),29).kk(),o):r.Rh(e.b,vs(r.Dh(),jo(l(Ln(ol(e.b),e.Lj()),19))),null,o):r.Rh(e.b,-1-e.Lj(),null,o))),o&&o.oj()),dh(e.b)&&e.Jj(e.Ij(9,n,f,t,!1)),f):n}function wvt(e){var t,n,r,a,o,f,g,w,E,C;for(r=new bt,f=new G(e.e.a);f.a0&&(f=b.Math.max(f,Tft(e.C.b+r.d.b,a))),C=r,L=a,B=o;e.C&&e.C.c>0&&(z=B+e.C.c,E&&(z+=C.d.c),f=b.Math.max(f,(C1(),h0($1),b.Math.abs(L-1)<=$1||L==1||isNaN(L)&&isNaN(1)?0:z/(1-L)))),n.n.b=0,n.a.a=f}function xvt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z;if(n=l(Jo(e.b,t),127),w=l(l($i(e.r,t),21),87),w.dc()){n.n.d=0,n.n.a=0;return}for(E=e.u.Hc((jl(),mp)),f=0,e.A.Hc((wh(),Cv))&&Xbt(e,t),g=w.Kc(),C=null,B=0,L=0;g.Ob();)r=l(g.Pb(),117),o=ze(Ge(r.b.of((qq(),bK)))),a=r.b.Mf().b,C?(z=L+C.d.a+e.w+r.d.d,f=b.Math.max(f,(C1(),h0($1),b.Math.abs(B-o)<=$1||B==o||isNaN(B)&&isNaN(o)?0:z/(o-B)))):e.C&&e.C.d>0&&(f=b.Math.max(f,Tft(e.C.d+r.d.d,o))),C=r,B=o,L=a;e.C&&e.C.a>0&&(z=L+e.C.a,E&&(z+=C.d.a),f=b.Math.max(f,(C1(),h0($1),b.Math.abs(B-1)<=$1||B==1||isNaN(B)&&isNaN(1)?0:z/(1-B)))),n.n.d=0,n.a.b=f}function xMn(e,t,n,r,a,o,f,g){var w,E,C,L,B,z,V,J,te,fe;if(V=!1,E=V9e(n.q,t.f+t.b-n.q.f),z=r.f>t.b&&g,fe=a-(n.q.e+E-f),L=(w=ZA(r,fe,!1),w.a),z&&L>r.f)return!1;if(z){for(B=0,te=new G(t.d);te.a=(Sn(o,e.c.length),l(e.c[o],186)).e,!z&&L>t.b&&!C)?!1:((C||z||L<=t.b)&&(C&&L>t.b?(n.d=L,aN(n,opt(n,L))):(Cgt(n.q,E),n.c=!0),aN(r,a-(n.s+n.r)),qN(r,n.q.e+n.q.d,t.f),mV(t,r),e.c.length>o&&(UN((Sn(o,e.c.length),l(e.c[o],186)),r),(Sn(o,e.c.length),l(e.c[o],186)).a.c.length==0&&n2(e,o)),V=!0),V)}function kvt(e,t,n){var r,a,o,f,g,w;for(this.g=e,g=t.d.length,w=n.d.length,this.d=We(vg,v2,10,g+w,0,1),f=0;f0?Qoe(this,this.f/this.a):S1(t.g,t.d[0]).a!=null&&S1(n.g,n.d[0]).a!=null?Qoe(this,(ze(S1(t.g,t.d[0]).a)+ze(S1(n.g,n.d[0]).a))/2):S1(t.g,t.d[0]).a!=null?Qoe(this,S1(t.g,t.d[0]).a):S1(n.g,n.d[0]).a!=null&&Qoe(this,S1(n.g,n.d[0]).a)}function kMn(e,t){var n,r,a,o,f,g,w,E,C,L;for(e.a=new tat(iyn(LM)),r=new G(t.a);r.a=1&&(te-f>0&&L>=0?(w.n.a+=J,w.n.b+=o*f):te-f<0&&C>=0&&(w.n.a+=J*te,w.n.b+=o));e.o.a=t.a,e.o.b=t.b,rt(e,(Nt(),bv),(wh(),r=l(U0(BM),9),new Jh(r,l(o0(r,r.length),9),0)))}function CMn(e,t,n,r,a,o){var f;if(!(t==null||!Vce(t,CPe,SPe)))throw ue(new Yn("invalid scheme: "+t));if(!e&&!(n!=null&&fd(n,ll(35))==-1&&n.length>0&&(Xn(0,n.length),n.charCodeAt(0)!=47)))throw ue(new Yn("invalid opaquePart: "+n));if(e&&!(t!=null&&nO(TY,t.toLowerCase()))&&!(n==null||!Vce(n,$M,zM)))throw ue(new Yn(i5t+n));if(e&&t!=null&&nO(TY,t.toLowerCase())&&!ixn(n))throw ue(new Yn(i5t+n));if(!l5n(r))throw ue(new Yn("invalid device: "+r));if(!Wyn(a))throw f=a==null?"invalid segments: null":"invalid segment: "+Vyn(a),ue(new Yn(f));if(!(o==null||fd(o,ll(35))==-1))throw ue(new Yn("invalid query: "+o))}function SMn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;if(n.Ug("Network simplex layering",1),e.b=t,fe=l(Q(t,(Nt(),nM)),17).a*4,te=e.b.a,te.c.length<1){n.Vg();return}for(o=T_n(e,te),J=null,a=Rr(o,0);a.b!=a.d.c;){for(r=l(Br(a),15),g=fe*la(b.Math.sqrt(r.gc())),f=j_n(r),cle(r3e(Sun(i3e(mae(f),g),J),!0),n.eh(1)),B=e.b.b,V=new G(f.a);V.a1)for(J=We(Vr,gi,28,e.b.b.c.length,15,1),L=0,E=new G(e.b.b);E.a0){ZV(e,n,0),n.a+=String.fromCharCode(r),a=W5n(t,o),ZV(e,n,a),o+=a-1;continue}r==39?o+10&&V.a<=0){w.c.length=0,zn(w.c,V);break}z=V.i-V.d,z>=g&&(z>g&&(w.c.length=0,g=z),zn(w.c,V))}w.c.length!=0&&(f=l(jt(w,oU(a,w.c.length)),118),Me.a.Bc(f)!=null,f.g=C++,Cke(f,t,n,r),w.c.length=0)}for(te=e.c.length+1,B=new G(e);B.aia||t.o==wv&&C=g&&a<=w)g<=a&&o<=w?(n[C++]=a,n[C++]=o,r+=2):g<=a?(n[C++]=a,n[C++]=w,e.b[r]=w+1,f+=2):o<=w?(n[C++]=g,n[C++]=o,r+=2):(n[C++]=g,n[C++]=w,e.b[r]=w+1);else if(wLb)&&g<10);a3e(e.c,new Y7),Svt(e),xgn(e.c),bMn(e.f)}function PMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(n=l(Q(e,(Nt(),Ds)),101),f=e.f,o=e.d,g=f.a+o.b+o.c,w=0-o.d-e.c.b,C=f.b+o.d+o.a-e.c.b,E=new bt,L=new bt,a=new G(t);a.a=2){for(w=Rr(n,0),f=l(Br(w),8),g=l(Br(w),8);g.a0&&SN(E,!0,(Qs(),wc)),g.k==(Zn(),Vs)&&lat(E),Ei(e.f,g,t)}}function RMn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(a=l(Q(e,(Qi(),gM)),27),E=Oi,C=Oi,g=co,w=co,Me=Rr(e.b,0);Me.b!=Me.d.c;)fe=l(Br(Me),40),z=fe.e,V=fe.f,E=b.Math.min(E,z.a-V.a/2),C=b.Math.min(C,z.b-V.b/2),g=b.Math.max(g,z.a+V.a/2),w=b.Math.max(w,z.b+V.b/2);for(B=l(at(a,(Uc(),pIe)),107),Te=Rr(e.b,0);Te.b!=Te.d.c;)fe=l(Br(Te),40),L=Q(fe,gM),De(L,207)&&(o=l(L,27),Xh(o,fe.e.a,fe.e.b),aP(o,fe));for(te=Rr(e.a,0);te.b!=te.d.c;)J=l(Br(te),65),r=l(Q(J,gM),74),r&&(t=J.a,n=l6(r,!0,!0),dP(t,n));$e=g-E+(B.b+B.c),f=w-C+(B.d+B.a),Rt(Bt(at(a,(bi(),S4))))||Ww(a,$e,f,!1,!1),Hi(a,t7,$e-(B.b+B.c)),Hi(a,e7,f-(B.d+B.a))}function Avt(e,t){var n,r,a,o,f,g,w,E,C,L;for(w=!0,a=0,E=e.g[t.p],C=t.o.b+e.o,n=e.d[t.p][2],nf(e.b,E,pt(l(jt(e.b,E),17).a-1+n)),nf(e.c,E,ze(Ge(jt(e.c,E)))-C+n*e.f),++E,E>=e.j?(++e.j,vt(e.b,pt(1)),vt(e.c,C)):(r=e.d[t.p][1],nf(e.b,E,pt(l(jt(e.b,E),17).a+1-r)),nf(e.c,E,ze(Ge(jt(e.c,E)))+C-r*e.f)),(e.r==(Of(),AB)&&(l(jt(e.b,E),17).a>e.k||l(jt(e.b,E-1),17).a>e.k)||e.r==LB&&(ze(Ge(jt(e.c,E)))>e.n||ze(Ge(jt(e.c,E-1)))>e.n))&&(w=!1),f=new hr(dr(ka(t).a.Kc(),new j));jr(f);)o=l(xr(f),18),g=o.c.i,e.g[g.p]==E&&(L=Avt(e,g),a=a+l(L.a,17).a,w=w&&Rt(Bt(L.b)));return e.g[t.p]=E,a=a+e.d[t.p][0],new ua(pt(a),(Vn(),!!w))}function Lvt(e,t){var n,r,a,o,f;n=ze(Ge(Q(t,(Nt(),y0)))),n<2&&rt(t,y0,2),r=l(Q(t,jh),88),r==(Qs(),Y1)&&rt(t,jh,qV(t)),a=l(Q(t,Gkt),17),a.a==0?rt(t,(ft(),Xx),new Gce):rt(t,(ft(),Xx),new UH(a.a)),o=Bt(Q(t,ZL)),o==null&&rt(t,ZL,(Vn(),qe(Q(t,pp))===qe((rp(),iC)))),Os(new bn(null,new kn(t.a,16)),new Hp(e)),Os(Oc(new bn(null,new kn(t.b,16)),new u5),new n_(e)),f=new Evt(t),rt(t,(ft(),$6),f),qO(e.a),W0(e.a,(oo(),w0),l(Q(t,dv),188)),W0(e.a,mg,l(Q(t,pv),188)),W0(e.a,wu,l(Q(t,JL),188)),W0(e.a,Du,l(Q(t,xW),188)),W0(e.a,vc,R3n(l(Q(t,pp),223))),lye(e.a,OIn(t)),rt(t,W1e,bP(e.a,t))}function jke(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe;for(L=new Pr,f=new bt,Apt(e,n,e.d.Ag(),f,L),Apt(e,r,e.d.Bg(),f,L),e.b=.2*(J=O2t(Oc(new bn(null,new kn(f,16)),new Cte)),te=O2t(Oc(new bn(null,new kn(f,16)),new Ste)),b.Math.min(J,te)),o=0,g=0;g=2&&(fe=J2t(f,!0,B),!e.e&&(e.e=new oXe(e)),V5n(e.e,fe,f,e.b)),Pgt(f,B),VMn(f),z=-1,C=new G(f);C.ag)}function Mvt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(E=ps,C=ps,g=ia,w=ia,B=new G(t.i);B.a-1){for(a=Rr(g,0);a.b!=a.d.c;)r=l(Br(a),131),r.v=f;for(;g.b!=0;)for(r=l(Eue(g,0),131),n=new G(r.i);n.a-1){for(o=new G(g);o.a0)&&(Y(w,b.Math.min(w.o,a.o-1)),q(w,w.i-1),w.i==0&&zn(g.c,w))}}function Ivt(e,t,n,r,a){var o,f,g,w;return w=ps,f=!1,g=Mke(e,ma(new lt(t.a,t.b),e),Ni(new lt(n.a,n.b),a),ma(new lt(r.a,r.b),n)),o=!!g&&!(b.Math.abs(g.a-e.a)<=t3&&b.Math.abs(g.b-e.b)<=t3||b.Math.abs(g.a-t.a)<=t3&&b.Math.abs(g.b-t.b)<=t3),g=Mke(e,ma(new lt(t.a,t.b),e),n,a),g&&((b.Math.abs(g.a-e.a)<=t3&&b.Math.abs(g.b-e.b)<=t3)==(b.Math.abs(g.a-t.a)<=t3&&b.Math.abs(g.b-t.b)<=t3)||o?w=b.Math.min(w,eA(ma(g,n))):f=!0),g=Mke(e,ma(new lt(t.a,t.b),e),r,a),g&&(f||(b.Math.abs(g.a-e.a)<=t3&&b.Math.abs(g.b-e.b)<=t3)==(b.Math.abs(g.a-t.a)<=t3&&b.Math.abs(g.b-t.b)<=t3)||o)&&(w=b.Math.min(w,eA(ma(g,r)))),w}function Ovt(e){ow(e,new Xm(Gz(iw(tw(rw(nw(new v1,Db),M3t),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new m1),Qu))),gt(e,Db,hL,It(hAe)),gt(e,Db,uG,(Vn(),!0)),gt(e,Db,x6,It(p8t)),gt(e,Db,Px,It(b8t)),gt(e,Db,Nx,It(m8t)),gt(e,Db,fT,It(g8t)),gt(e,Db,fL,It(dAe)),gt(e,Db,dT,It(v8t)),gt(e,Db,BEe,It(lAe)),gt(e,Db,REe,It(cAe)),gt(e,Db,jEe,It(uAe)),gt(e,Db,$Ee,It(fAe)),gt(e,Db,FEe,It(CK))}function UMn(e){var t,n,r,a,o,f,g,w;for(t=null,r=new G(e);r.a0&&n.c==0&&(!t&&(t=new bt),zn(t.c,n));if(t)for(;t.c.length!=0;){if(n=l(n2(t,0),239),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new bt),new G(n.b));o.apc(e,n,0))return new ua(a,n)}else if(ze(S1(a.g,a.d[0]).a)>ze(S1(n.g,n.d[0]).a))return new ua(a,n)}for(g=(!n.e&&(n.e=new bt),n.e).Kc();g.Ob();)f=l(g.Pb(),239),w=(!f.b&&(f.b=new bt),f.b),Ty(0,w.c.length),x_(w.c,0,n),f.c==w.c.length&&zn(t.c,f)}return null}function GMn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;for(t.Ug("Interactive crossing minimization",1),f=0,o=new G(e.b);o.a0&&(n+=w.n.a+w.o.a/2,++L),V=new G(w.j);V.a0&&(n/=L),fe=We(Na,ec,28,r.a.c.length,15,1),g=0,E=new G(r.a);E.a=g&&a<=w)g<=a&&o<=w?r+=2:g<=a?(e.b[r]=w+1,f+=2):o<=w?(n[C++]=a,n[C++]=g-1,r+=2):(n[C++]=a,n[C++]=g-1,e.b[r]=w+1,f+=2);else if(w2?(C=new bt,ra(C,new e2(fe,1,fe.b)),o=ywt(C,Me+e.a),Te=new Kue(o),bc(Te,t),zn(n.c,Te)):r?Te=l(cr(e.b,og(t)),272):Te=l(cr(e.b,Tb(t)),272),w=og(t),r&&(w=Tb(t)),f=U9n(te,w),E=Me+e.a,f.a?(E+=b.Math.abs(te.b-L.b),J=new lt(L.a,(L.b+te.b)/2)):(E+=b.Math.abs(te.a-L.a),J=new lt((L.a+te.a)/2,L.b)),r?Ei(e.d,t,new rxe(Te,f,J,E)):Ei(e.c,t,new rxe(Te,f,J,E)),Ei(e.b,t,Te),V=(!t.n&&(t.n=new nt(tc,t,1,7)),t.n),z=new or(V);z.e!=z.i.gc();)B=l(gr(z),135),a=uP(e,B,!0,0,0),zn(n.c,a)}function KMn(e){var t,n,r,a,o,f,g;if(!e.A.dc()){if(e.A.Hc((wh(),iF))&&(l(Jo(e.b,(St(),Qn)),127).k=!0,l(Jo(e.b,Dr),127).k=!0,t=e.q!=(Fa(),Eg)&&e.q!=Nu,Az(l(Jo(e.b,ar),127),t),Az(l(Jo(e.b,er),127),t),Az(e.g,t),e.A.Hc(Cv)&&(l(Jo(e.b,Qn),127).j=!0,l(Jo(e.b,Dr),127).j=!0,l(Jo(e.b,ar),127).k=!0,l(Jo(e.b,er),127).k=!0,e.g.k=!0)),e.A.Hc(rF))for(e.a.j=!0,e.a.k=!0,e.g.j=!0,e.g.k=!0,g=e.B.Hc((eh(),FM)),a=tue(),o=0,f=a.length;o0),l(C.a.Xb(C.c=--C.b),18));o!=r&&C.b>0;)e.a[o.p]=!0,e.a[r.p]=!0,o=(mr(C.b>0),l(C.a.Xb(C.c=--C.b),18));C.b>0&&mh(C)}}function Pvt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z;if(!e.b)return!1;for(f=null,B=null,w=new Foe(null,null),a=1,w.a[1]=e.b,L=w;L.a[a];)E=a,g=B,B=L,L=L.a[a],r=e.a.Ne(t,L.d),a=r<0?0:1,r==0&&(!n.c||tu(L.e,n.d))&&(f=L),!(L&&L.b)&&!cy(L.a[a])&&(cy(L.a[1-a])?B=B.a[E]=TV(L,a):cy(L.a[1-a])||(z=B.a[1-E],z&&(!cy(z.a[1-E])&&!cy(z.a[E])?(B.b=!1,z.b=!0,L.b=!0):(o=g.a[1]==B?1:0,cy(z.a[E])?g.a[o]=hct(B,E):cy(z.a[1-E])&&(g.a[o]=TV(B,E)),L.b=g.a[o].b=!0,g.a[o].a[0].b=!1,g.a[o].a[1].b=!1))));return f&&(n.b=!0,n.d=f.e,L!=f&&(C=new Foe(L.d,L.e),Xxn(e,w,f,C),B==f&&(B=C)),B.a[B.a[1]==L?1:0]=L.a[L.a[0]?0:1],--e.c),e.b=w.a[1],e.b&&(e.b.b=!1),n.b}function XMn(e){var t,n,r,a,o,f,g,w,E,C,L,B;for(a=new G(e.a.a.b);a.a0?a-=864e5:a+=864e5,w=new Wye(go(nu(t.q.getTime()),a))),C=new S5,E=e.a.length,o=0;o=97&&r<=122||r>=65&&r<=90){for(f=o+1;f=E)throw ue(new Yn("Missing trailing '"));f+1=14&&C<=16))?t.a._b(r)?(n.a?fi(n.a,n.b):n.a=new Ch(n.d),N_(n.a,"[...]")):(g=jm(r),E=new U_(t),Qg(n,Fvt(g,E))):De(r,183)?Qg(n,Akn(l(r,183))):De(r,195)?Qg(n,dxn(l(r,195))):De(r,201)?Qg(n,E9n(l(r,201))):De(r,2111)?Qg(n,gxn(l(r,2111))):De(r,53)?Qg(n,_kn(l(r,53))):De(r,376)?Qg(n,Ukn(l(r,376))):De(r,846)?Qg(n,Skn(l(r,846))):De(r,109)&&Qg(n,Ckn(l(r,109))):Qg(n,r==null?hl:Ec(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function JE(e,t){var n,r,a,o;o=e.F,t==null?(e.F=null,CE(e,null)):(e.F=(nr(t),t),r=fd(t,ll(60)),r!=-1?(a=(Ga(0,r,t.length),t.substr(0,r)),fd(t,ll(46))==-1&&!wn(a,Cx)&&!wn(a,SL)&&!wn(a,KG)&&!wn(a,_L)&&!wn(a,AL)&&!wn(a,LL)&&!wn(a,ML)&&!wn(a,DL)&&(a=m5t),n=jq(t,ll(62)),n!=-1&&(a+=""+(Xn(n+1,t.length+1),t.substr(n+1))),CE(e,a)):(a=t,fd(t,ll(46))==-1&&(r=fd(t,ll(91)),r!=-1&&(a=(Ga(0,r,t.length),t.substr(0,r))),!wn(a,Cx)&&!wn(a,SL)&&!wn(a,KG)&&!wn(a,_L)&&!wn(a,AL)&&!wn(a,LL)&&!wn(a,ML)&&!wn(a,DL)?(a=m5t,r!=-1&&(a+=""+(Xn(r,t.length+1),t.substr(r)))):a=t),CE(e,a),a==t&&(e.F=e.D))),e.Db&4&&!(e.Db&1)&&Pi(e,new _a(e,1,5,o,t))}function Rvt(e,t){var n,r,a,o,f,g,w,E,C,L;if(w=t.length-1,g=(Xn(w,t.length),t.charCodeAt(w)),g==93){if(f=fd(t,ll(91)),f>=0)return a=t5n(e,(Ga(1,f,t.length),t.substr(1,f-1))),C=(Ga(f+1,w,t.length),t.substr(f+1,w-(f+1))),_In(e,C,a)}else{if(n=-1,e_e==null&&(e_e=new RegExp("\\d")),e_e.test(String.fromCharCode(g))&&(n=f4e(t,ll(46),w-1),n>=0)){r=l(Doe(e,Sht(e,(Ga(1,n,t.length),t.substr(1,n-1))),!1),61),E=0;try{E=Nh((Xn(n+1,t.length+1),t.substr(n+1)),co,Oi)}catch(B){throw B=ms(B),De(B,130)?(o=B,ue(new rV(o))):ue(B)}if(E>16==-10?n=l(e.Cb,292).Yk(t,n):e.Db>>16==-15&&(!t&&(t=(Tn(),J1)),!E&&(E=(Tn(),J1)),e.Cb.Yh()&&(w=new Jg(e.Cb,1,13,E,t,d2(Ql(l(e.Cb,62)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,90))e.Db>>16==-23&&(De(t,90)||(t=(Tn(),Gf)),De(E,90)||(E=(Tn(),Gf)),e.Cb.Yh()&&(w=new Jg(e.Cb,1,10,E,t,d2(bu(l(e.Cb,29)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,457))for(g=l(e.Cb,850),f=(!g.b&&(g.b=new Bz(new Uie)),g.b),o=(r=new qm(new Cr(f.a).a),new Fz(r));o.a.b;)a=l(Bw(o.a).ld(),89),n=ZE(a,_U(a,g),n)}return n}function tDn(e,t){var n,r,a,o,f,g,w,E,C,L,B;for(f=Rt(Bt(at(e,(Nt(),m4)))),B=l(at(e,w4),21),w=!1,E=!1,L=new or((!e.c&&(e.c=new nt(Vl,e,9,9)),e.c));L.e!=L.i.gc()&&(!w||!E);){for(o=l(gr(L),123),g=0,a=ng(Mh(he(le(Rh,1),Rn,20,0,[(!o.d&&(o.d=new An(js,o,8,5)),o.d),(!o.e&&(o.e=new An(js,o,7,4)),o.e)])));jr(a)&&(r=l(xr(a),74),C=f&&Vw(r)&&Rt(Bt(at(r,gv))),n=bvt((!r.b&&(r.b=new An(Sr,r,4,7)),r.b),o)?e==gs(mc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84))):e==gs(mc(l(Oe((!r.b&&(r.b=new An(Sr,r,4,7)),r.b),0),84))),!((C||n)&&(++g,g>1))););(g>0||B.Hc((jl(),mp))&&(!o.n&&(o.n=new nt(tc,o,1,7)),o.n).i>0)&&(w=!0),g>1&&(E=!0)}w&&t.Fc((Ho(),mf)),E&&t.Fc((Ho(),UL))}function jvt(e){var t,n,r,a,o,f,g,w,E,C,L,B;if(B=l(at(e,(bi(),kv)),21),B.dc())return null;if(g=0,f=0,B.Hc((wh(),iF))){for(C=l(at(e,_M),101),r=2,n=2,a=2,o=2,t=gs(e)?l(at(gs(e),xv),88):l(at(e,xv),88),E=new or((!e.c&&(e.c=new nt(Vl,e,9,9)),e.c));E.e!=E.i.gc();)if(w=l(gr(E),123),L=l(at(w,s7),64),L==(St(),Fc)&&(L=Tke(w,t),Hi(w,s7,L)),C==(Fa(),Nu))switch(L.g){case 1:r=b.Math.max(r,w.i+w.g);break;case 2:n=b.Math.max(n,w.j+w.f);break;case 3:a=b.Math.max(a,w.i+w.g);break;case 4:o=b.Math.max(o,w.j+w.f)}else switch(L.g){case 1:r+=w.g+2;break;case 2:n+=w.f+2;break;case 3:a+=w.g+2;break;case 4:o+=w.f+2}g=b.Math.max(r,a),f=b.Math.max(n,o)}return Ww(e,g,f,!0,!0)}function _le(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(Te=l(kc(hV(Ri(new bn(null,new kn(t.d,16)),new _Ye(n)),new AYe(n)),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15),L=Oi,C=co,w=new G(t.b.j);w.a0,E?E&&(B=fe.p,f?++B:--B,L=l(jt(fe.c.a,B),10),r=u0t(L),z=!(Que(r,ot,n[0])||Ost(r,ot,n[0]))):z=!0),V=!1,Je=t.D.i,Je&&Je.c&&g.e&&(C=f&&Je.p>0||!f&&Je.p=0){for(w=null,g=new Ua(C.a,E+1);g.bf?1:hw(isNaN(0),isNaN(f)))<0&&(h0(Dd),(b.Math.abs(f-1)<=Dd||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:hw(isNaN(f),isNaN(1)))<0)&&(h0(Dd),(b.Math.abs(0-g)<=Dd||g==0||isNaN(0)&&isNaN(g)?0:0g?1:hw(isNaN(0),isNaN(g)))<0)&&(h0(Dd),(b.Math.abs(g-1)<=Dd||g==1||isNaN(g)&&isNaN(1)?0:g<1?-1:g>1?1:hw(isNaN(g),isNaN(1)))<0)),o)}function oDn(e){var t,n,r,a;if(n=e.D!=null?e.D:e.B,t=fd(n,ll(91)),t!=-1){r=(Ga(0,t,n.length),n.substr(0,t)),a=new Gp;do a.a+="[";while((t=Nk(n,91,++t))!=-1);wn(r,Cx)?a.a+="Z":wn(r,SL)?a.a+="B":wn(r,KG)?a.a+="C":wn(r,_L)?a.a+="D":wn(r,AL)?a.a+="F":wn(r,LL)?a.a+="I":wn(r,ML)?a.a+="J":wn(r,DL)?a.a+="S":(a.a+="L",a.a+=""+r,a.a+=";");try{return null}catch(o){if(o=ms(o),!De(o,63))throw ue(o)}}else if(fd(n,ll(46))==-1){if(wn(n,Cx))return sh;if(wn(n,SL))return Dl;if(wn(n,KG))return xf;if(wn(n,_L))return Na;if(wn(n,AL))return F4;if(wn(n,LL))return Vr;if(wn(n,ML))return rm;if(wn(n,DL))return h7}return null}function cDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t;for(e.e=t,g=cEn(t),ot=new bt,r=new G(g);r.a=0&&J=E.c.c.length?C=l6e((Zn(),Bs),Aa):C=l6e((Zn(),Aa),Aa),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),f=n.b.g,n.b.g=b.Math.max(f,f+(C-f)),a=t}}function fDn(e){var t,n,r,a;for(Os(Ri(new bn(null,new kn(e.a.b,16)),new Nj),new oee),K8n(e),Os(Ri(new bn(null,new kn(e.a.b,16)),new cee),new uee),e.c==(rp(),s9)&&(Os(Ri(Oc(new bn(null,new kn(new br(e.f),1)),new lee),new hee),new yYe(e)),Os(Ri(dc(Oc(Oc(new bn(null,new kn(e.d.b,16)),new fee),new Pj),new dee),new Bj),new kYe(e))),a=new lt(ps,ps),t=new lt(ia,ia),r=new G(e.a.b);r.a0&&(t.a+=Eo),KU(l(gr(g),167),t);for(t.a+=Bhe,w=new q8((!r.c&&(r.c=new An(Sr,r,5,8)),r.c));w.e!=w.i.gc();)w.e>0&&(t.a+=Eo),KU(l(gr(w),167),t);t.a+=")"}}function dDn(e,t,n){var r,a,o,f,g,w,E,C;for(w=new or((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));w.e!=w.i.gc();)for(g=l(gr(w),27),a=new hr(dr(op(g).a.Kc(),new j));jr(a);){if(r=l(xr(a),74),!r.b&&(r.b=new An(Sr,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new An(Sr,r,5,8)),r.c.i<=1)))throw ue(new I8("Graph must not contain hyperedges."));if(!qA(r)&&g!=mc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84)))for(E=new zrt,bc(E,r),rt(E,(mb(),Hx),r),Lie(E,l(fc(zo(n.f,g)),153)),k8(E,l(cr(n,mc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84))),153)),vt(t.c,E),f=new or((!r.n&&(r.n=new nt(tc,r,1,7)),r.n));f.e!=f.i.gc();)o=l(gr(f),135),C=new Hct(E,o.a),bc(C,o),rt(C,Hx,o),C.e.a=b.Math.max(o.g,1),C.e.b=b.Math.max(o.f,1),Lke(C),vt(t.d,C)}}function gDn(e,t,n){var r,a,o,f,g,w,E,C,L,B;switch(n.Ug("Node promotion heuristic",1),e.i=t,e.r=l(Q(t,(Nt(),qb)),243),e.r!=(Of(),y3)&&e.r!=k4?zDn(e):dSn(e),C=l(Q(e.i,VMe),17).a,o=new cd,e.r.g){case 2:case 1:QE(e,o);break;case 3:for(e.r=MW,QE(e,o),w=0,g=new G(e.b);g.ae.k&&(e.r=AB,QE(e,o));break;case 4:for(e.r=MW,QE(e,o),E=0,a=new G(e.c);a.ae.n&&(e.r=LB,QE(e,o));break;case 6:B=la(b.Math.ceil(e.g.length*C/100)),QE(e,new cYe(B));break;case 5:L=la(b.Math.ceil(e.e*C/100)),QE(e,new uYe(L));break;case 8:Ewt(e,!0);break;case 9:Ewt(e,!1);break;default:QE(e,o)}e.r!=y3&&e.r!=k4?FCn(e,t):r_n(e,t),n.Vg()}function pDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(L=e.b,C=new Ua(L,0),my(C,new Tu(e)),Te=!1,f=1;C.b0&&(B.d+=C.n.d,B.d+=C.d),B.a>0&&(B.a+=C.n.a,B.a+=C.d),B.b>0&&(B.b+=C.n.b,B.b+=C.d),B.c>0&&(B.c+=C.n.c,B.c+=C.d),B}function zvt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V;for(B=n.d,L=n.c,o=new lt(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),f=o.b,E=new G(e.a);E.a0&&(e.c[t.c.p][t.p].d+=Zl(e.i,24)*MP*.07000000029802322-.03500000014901161,e.c[t.c.p][t.p].a=e.c[t.c.p][t.p].d/e.c[t.c.p][t.p].b)}}function vDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;for(V=new G(e);V.ar.d,r.d=b.Math.max(r.d,t),g&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+a);break;case 3:n=t>r.a,r.a=b.Math.max(r.a,t),g&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+a);break;case 2:n=t>r.c,r.c=b.Math.max(r.c,t),g&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+a);break;case 4:n=t>r.b,r.b=b.Math.max(r.b,t),g&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+a)}}}function Hvt(e,t){var n,r,a,o,f,g,w,E,C;return E="",t.length==0?e.ne(sEe,jle,-1,-1):(C=zy(t),wn(C.substr(0,3),"at ")&&(C=(Xn(3,C.length+1),C.substr(3))),C=C.replace(/\[.*?\]/g,""),f=C.indexOf("("),f==-1?(f=C.indexOf("@"),f==-1?(E=C,C=""):(E=zy((Xn(f+1,C.length+1),C.substr(f+1))),C=zy((Ga(0,f,C.length),C.substr(0,f))))):(n=C.indexOf(")",f),E=(Ga(f+1,n,C.length),C.substr(f+1,n-(f+1))),C=zy((Ga(0,f,C.length),C.substr(0,f)))),f=fd(C,ll(46)),f!=-1&&(C=(Xn(f+1,C.length+1),C.substr(f+1))),(C.length==0||wn(C,"Anonymous function"))&&(C=jle),g=jq(E,ll(58)),a=f4e(E,ll(58),g-1),w=-1,r=-1,o=sEe,g!=-1&&a!=-1&&(o=(Ga(0,a,E.length),E.substr(0,a)),w=art((Ga(a+1,g,E.length),E.substr(a+1,g-(a+1)))),r=art((Xn(g+1,E.length+1),E.substr(g+1)))),e.ne(o,C,w,r))}function xDn(e){var t,n,r,a,o,f,g,w,E,C,L;for(E=new G(e);E.a0||C.j==er&&C.e.c.length-C.g.c.length<0)){t=!1;break}for(a=new G(C.g);a.a=E&&Je>=te&&(B+=V.n.b+J.n.b+J.a.b-$e,++g));if(n)for(f=new G(Te.e);f.a=E&&Je>=te&&(B+=V.n.b+J.n.b+J.a.b-$e,++g))}g>0&&(ot+=B/g,++z)}z>0?(t.a=a*ot/z,t.g=z):(t.a=0,t.g=0)}function EDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t;for(o=e.f.b,B=o.a,C=o.b,V=e.e.g,z=e.e.f,F5(e.e,o.a,o.b),ot=B/V,_t=C/z,E=new or(TH(e.e));E.e!=E.i.gc();)w=l(gr(E),135),Ku(w,w.i*ot),Wu(w,w.j*_t);for(Te=new or(Qae(e.e));Te.e!=Te.i.gc();)fe=l(gr(Te),123),$e=fe.i,Je=fe.j,$e>0&&Ku(fe,$e*ot),Je>0&&Wu(fe,Je*_t);for(mA(e.b,new $g),t=new bt,g=new qm(new Cr(e.c).a);g.b;)f=Bw(g),r=l(f.ld(),74),n=l(f.md(),407).a,a=l6(r,!1,!1),L=Bgt(og(r),QN(a),n),dP(L,a),Me=Ygt(r),Me&&pc(t,Me,0)==-1&&(zn(t.c,Me),Tat(Me,(mr(L.b!=0),l(L.a.a.c,8)),n));for(te=new qm(new Cr(e.d).a);te.b;)J=Bw(te),r=l(J.ld(),74),n=l(J.md(),407).a,a=l6(r,!1,!1),L=Bgt(Tb(r),AN(QN(a)),n),L=AN(L),dP(L,a),Me=Xgt(r),Me&&pc(t,Me,0)==-1&&(zn(t.c,Me),Tat(Me,(mr(L.b!=0),l(L.c.b.c,8)),n))}function Vvt(e,t,n,r){var a,o,f,g,w;return g=new qke(t),gCn(g,r),a=!0,e&&e.pf((bi(),xv))&&(o=l(e.of((bi(),xv)),88),a=o==(Qs(),Y1)||o==lc||o==wc),Hbt(g,!1),Gu(g.e.Rf(),new w4e(g,!1,a)),loe(g,g.f,(Z0(),Wc),(St(),Qn)),loe(g,g.f,Yc,Dr),loe(g,g.g,Wc,er),loe(g,g.g,Yc,ar),vdt(g,Qn),vdt(g,Dr),xat(g,ar),xat(g,er),by(),f=g.A.Hc((wh(),L4))&&g.B.Hc((eh(),aF))?B1t(g):null,f&&Eun(g.a,f),yDn(g),x7n(g),k7n(g),KMn(g),x_n(g),W7n(g),Zce(g,Qn),Zce(g,Dr),JSn(g),xLn(g),n&&(n5n(g),Y7n(g),Zce(g,ar),Zce(g,er),w=g.B.Hc((eh(),FM)),Ppt(g,w,Qn),Ppt(g,w,Dr),Bpt(g,w,ar),Bpt(g,w,er),Os(new bn(null,new kn(new pi(g.i),0)),new Rc),Os(Ri(new bn(null,m5e(g.r).a.oc()),new Qa),new ja),uxn(g),g.e.Pf(g.o),Os(new bn(null,m5e(g.r).a.oc()),new xa)),g.o}function TDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(E=ps,r=new G(e.a.b);r.a1)for(z=new Oke(V,Me,r),to(Me,new ett(e,z)),zn(f.c,z),L=Me.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),cl(o,C.b);if(g.a.gc()>1)for(z=new Oke(V,g,r),to(g,new ttt(e,z)),zn(f.c,z),L=g.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),cl(o,C.b)}}function ADn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;if(J=e.n,te=e.o,B=e.d,L=ze(Ge(By(e,(Nt(),cde)))),t){for(C=L*(t.gc()-1),z=0,w=t.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b-B.d+z,r=te.a/(t.gc()+1),a=r,g=t.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o-f.o.b,fe+=f.o.a+L,E=Z2t(f),E.n.a=f.o.a/2-E.a.a,E.n.b=f.o.b,V=l(Q(f,(ft(),iW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=a-V.a.a,V.n.b=0,Ic(V,e)),a+=r}if(n){for(C=L*(n.gc()-1),z=0,w=n.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b+te.b+B.a-z,r=te.a/(n.gc()+1),a=r,g=n.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o,fe+=f.o.a+L,E=Z2t(f),E.n.a=f.o.a/2-E.a.a,E.n.b=0,V=l(Q(f,(ft(),iW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=a-V.a.a,V.n.b=te.b,Ic(V,e)),a+=r}}function LDn(e,t){var n,r,a,o,f,g;if(l(Q(t,(ft(),Ou)),21).Hc((Ho(),mf))){for(g=new G(t.a);g.a=0&&f0&&(l(Jo(e.b,t),127).a.b=n)}function NDn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J;if(B=ze(Ge(Q(e,(Nt(),GT)))),z=ze(Ge(Q(e,KT))),L=ze(Ge(Q(e,x4))),g=e.o,o=l(jt(e.j,0),12),f=o.n,J=Q9n(o,L),!!J){if(t.Hc((jl(),mp)))switch(l(Q(e,(ft(),Xc)),64).g){case 1:J.c=(g.a-J.b)/2-f.a,J.d=z;break;case 3:J.c=(g.a-J.b)/2-f.a,J.d=-z-J.a;break;case 2:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=-B-J.b;break;case 4:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=B}else if(t.Hc(Xb))switch(l(Q(e,(ft(),Xc)),64).g){case 1:case 3:J.c=f.a+B;break;case 2:case 4:n&&!o.c?(C=r?J.a:l(jt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=f.b+z}for(a=J.d,E=new G(o.f);E.a=t.length)return{done:!0};var a=t[r++];return{value:[a,n.get(a)],done:!1}}}},DSn()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(t){return this.obj[":"+t]},e.prototype.set=function(t,n){this.obj[":"+t]=n},e.prototype[hhe]=function(t){delete this.obj[":"+t]},e.prototype.keys=function(){var t=[];for(var n in this.obj)n.charCodeAt(0)==58&&t.push(n.substring(1));return t}),e}function Qi(){Qi=U,gM=new Ui(PEe),new ws("DEPTH",pt(0)),Bde=new ws("FAN",pt(0)),rIe=new ws(byt,pt(0)),Ub=new ws("ROOT",(Vn(),!1)),jde=new ws("LEFTNEIGHBOR",null),pTt=new ws("RIGHTNEIGHBOR",null),FW=new ws("LEFTSIBLING",null),$de=new ws("RIGHTSIBLING",null),Pde=new ws("DUMMY",!1),new ws("LEVEL",pt(0)),aIe=new ws("REMOVABLE_EDGES",new as),PB=new ws("XCOOR",pt(0)),BB=new ws("YCOOR",pt(0)),RW=new ws("LEVELHEIGHT",0),a1=new ws("LEVELMIN",0),x0=new ws("LEVELMAX",0),Fde=new ws("GRAPH_XMIN",0),Rde=new ws("GRAPH_YMIN",0),iIe=new ws("GRAPH_XMAX",0),sIe=new ws("GRAPH_YMAX",0),nIe=new ws("COMPACT_LEVEL_ASCENSION",!1),Nde=new ws("COMPACT_CONSTRAINTS",new bt),dM=new ws("ID",""),pM=new ws("POSITION",pt(0)),S2=new ws("PRELIM",0),JT=new ws("MODIFIER",0),QT=new Ui(A3t),NB=new Ui(L3t)}function RDn(e){Eke();var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(e==null)return null;if(L=e.length*8,L==0)return"";for(g=L%24,z=L/24|0,B=g!=0?z+1:z,o=null,o=We(xf,Cd,28,B*4,15,1),E=0,C=0,t=0,n=0,r=0,f=0,a=0,w=0;w>24,E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,te=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[f++]=P2[V],o[f++]=P2[J|E<<4],o[f++]=P2[C<<2|te],o[f++]=P2[r&63];return g==8?(t=e[a],E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,o[f++]=P2[V],o[f++]=P2[E<<4],o[f++]=61,o[f++]=61):g==16&&(t=e[a],n=e[a+1],C=(n&15)<<24>>24,E=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[f++]=P2[V],o[f++]=P2[J|E<<4],o[f++]=P2[C<<2],o[f++]=61),Df(o,0,o.length)}function jDn(e,t){var n,r,a,o,f,g,w;if(e.e==0&&e.p>0&&(e.p=-(e.p-1)),e.p>co&&u6e(t,e.p-Mb),f=t.q.getDate(),YO(t,1),e.k>=0&&_2n(t,e.k),e.c>=0?YO(t,e.c):e.k>=0?(w=new j7e(t.q.getFullYear()-Mb,t.q.getMonth(),35),r=35-w.q.getDate(),YO(t,b.Math.min(r,f))):YO(t,f),e.f<0&&(e.f=t.q.getHours()),e.b>0&&e.f<12&&(e.f+=12),vhn(t,e.f==24&&e.g?0:e.f),e.j>=0&&uvn(t,e.j),e.n>=0&&xvn(t,e.n),e.i>=0&&Ztt(t,go(po(KN(nu(t.q.getTime()),m2),m2),e.i)),e.a&&(a=new Jz,u6e(a,a.q.getFullYear()-Mb-80),dse(nu(t.q.getTime()),nu(a.q.getTime()))&&u6e(t,a.q.getFullYear()-Mb+100)),e.d>=0){if(e.c==-1)n=(7+e.d-t.q.getDay())%7,n>3&&(n-=7),g=t.q.getMonth(),YO(t,t.q.getDate()+n),t.q.getMonth()!=g&&YO(t,t.q.getDate()+(n>0?-7:7));else if(t.q.getDay()!=e.d)return!1}return e.o>co&&(o=t.q.getTimezoneOffset(),Ztt(t,go(nu(t.q.getTime()),(e.o-o)*60*m2))),!0}function Yvt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;if(a=Q(t,(ft(),zi)),!!De(a,207)){for(V=l(a,27),J=t.e,B=new xo(t.c),o=t.d,B.a+=o.b,B.b+=o.d,$e=l(at(V,(Nt(),kW)),181),xl($e,(eh(),lY))&&(z=l(at(V,YMe),107),Cie(z,o.a),vwe(z,o.d),Sie(z,o.b),x8(z,o.c)),n=new bt,C=new G(t.a);C.ar.c.length-1;)vt(r,new ua(y6,fCe));n=l(Q(a,Fd),17).a,Vg(l(Q(e,k3),88))?(a.e.aze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),a.e.a+a.f.a)):(a.e.bze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),a.e.b+a.f.b))}for(o=Rr(e.b,0);o.b!=o.d.c;)a=l(Br(o),40),n=l(Q(a,(Uc(),Fd)),17).a,rt(a,(Qi(),a1),Ge((Sn(n,r.c.length),l(r.c[n],42)).a)),rt(a,x0,Ge((Sn(n,r.c.length),l(r.c[n],42)).b));t.Vg()}function zDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J;for(e.o=ze(Ge(Q(e.i,(Nt(),w3)))),e.f=ze(Ge(Q(e.i,vv))),e.j=e.i.b.c.length,g=e.j-1,B=0,e.k=0,e.n=0,e.b=M1(We(ro,dt,17,e.j,0,1)),e.c=M1(We(ea,dt,345,e.j,7,1)),f=new G(e.i.b);f.a0&&vt(e.q,C),vt(e.p,C);t-=r,z=w+t,E+=t*e.f,nf(e.b,g,pt(z)),nf(e.c,g,E),e.k=b.Math.max(e.k,z),e.n=b.Math.max(e.n,E),e.e+=t,t+=J}}function St(){St=U;var e;Fc=new wO(cL,0),Qn=new wO(rG,1),ar=new wO(xhe,2),Dr=new wO(khe,3),er=new wO(Ehe,4),Q1=(Cn(),new Ek((e=l(U0(Do),9),new Jh(e,l(o0(e,e.length),9),0)))),S0=o2(ns(Qn,he(le(Do,1),uu,64,0,[]))),wf=o2(ns(ar,he(le(Do,1),uu,64,0,[]))),zh=o2(ns(Dr,he(le(Do,1),uu,64,0,[]))),qf=o2(ns(er,he(le(Do,1),uu,64,0,[]))),dl=o2(ns(Qn,he(le(Do,1),uu,64,0,[Dr]))),el=o2(ns(ar,he(le(Do,1),uu,64,0,[er]))),_0=o2(ns(Qn,he(le(Do,1),uu,64,0,[er]))),ql=o2(ns(Qn,he(le(Do,1),uu,64,0,[ar]))),qh=o2(ns(Dr,he(le(Do,1),uu,64,0,[er]))),yf=o2(ns(ar,he(le(Do,1),uu,64,0,[Dr]))),Hl=o2(ns(Qn,he(le(Do,1),uu,64,0,[ar,er]))),fl=o2(ns(ar,he(le(Do,1),uu,64,0,[Dr,er]))),gl=o2(ns(Qn,he(le(Do,1),uu,64,0,[Dr,er]))),Ml=o2(ns(Qn,he(le(Do,1),uu,64,0,[ar,Dr]))),Pu=o2(ns(Qn,he(le(Do,1),uu,64,0,[ar,Dr,er])))}function qDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t;for(t.Ug(Y3t,1),J=new bt,ot=new bt,E=new G(e.b);E.a0&&(Me-=z),Nke(f,Me),C=0,B=new G(f.a);B.a0),g.a.Xb(g.c=--g.b)),w=.4*r*C,!o&&g.b0&&(w=(Xn(0,t.length),t.charCodeAt(0)),w!=64)){if(w==37&&(L=t.lastIndexOf("%"),E=!1,L!=0&&(L==B-1||(E=(Xn(L+1,t.length),t.charCodeAt(L+1)==46))))){if(f=(Ga(1,L,t.length),t.substr(1,L-1)),Me=wn("%",f)?null:Uke(f),r=0,E)try{r=Nh((Xn(L+2,t.length+1),t.substr(L+2)),co,Oi)}catch($e){throw $e=ms($e),De($e,130)?(g=$e,ue(new rV(g))):ue($e)}for(te=v7e(e.Gh());te.Ob();)if(V=DV(te),De(V,519)&&(a=l(V,598),Te=a.d,(Me==null?Te==null:wn(Me,Te))&&r--==0))return a;return null}if(C=t.lastIndexOf("."),z=C==-1?t:(Ga(0,C,t.length),t.substr(0,C)),n=0,C!=-1)try{n=Nh((Xn(C+1,t.length+1),t.substr(C+1)),co,Oi)}catch($e){if($e=ms($e),De($e,130))z=t;else throw ue($e)}for(z=wn("%",z)?null:Uke(z),J=v7e(e.Gh());J.Ob();)if(V=DV(J),De(V,197)&&(o=l(V,197),fe=o.xe(),(z==null?fe==null:wn(z,fe))&&n--==0))return o;return null}return Rvt(e,t)}function XDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(C=new Pr,w=new _w,r=new G(e.a.a.b);r.at.d.c){if(z=e.c[t.a.d],te=e.c[L.a.d],z==te)continue;g0(i0(r0(s0(n0(new Sf,1),100),z),te))}}}}}function QDn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot;if(B=l(l($i(e.r,t),21),87),t==(St(),ar)||t==er){Gvt(e,t);return}for(o=t==Qn?(Fw(),rB):(Fw(),iB),$e=t==Qn?(ul(),i1):(ul(),v0),n=l(Jo(e.b,t),127),r=n.i,a=r.c+Y5(he(le(Na,1),ec,28,15,[n.n.b,e.C.b,e.k])),fe=r.c+r.b-Y5(he(le(Na,1),ec,28,15,[n.n.c,e.C.c,e.k])),f=s3e(x4e(o),e.t),Te=t==Qn?ia:ps,L=B.Kc();L.Ob();)E=l(L.Pb(),117),!(!E.c||E.c.d.c.length<=0)&&(te=E.b.Mf(),J=E.e,z=E.c,V=z.i,V.b=(w=z.n,z.e.a+w.b+w.c),V.a=(g=z.n,z.e.b+g.d+g.a),UO($e,xEe),z.f=$e,Q0(z,(Fl(),m0)),V.c=J.a-(V.b-te.a)/2,Je=b.Math.min(a,J.a),ot=b.Math.max(fe,J.a+te.a),V.cot&&(V.c=ot-V.b),vt(f.d,new Iae(V,f8e(f,V))),Te=t==Qn?b.Math.max(Te,J.b+E.b.Mf().b):b.Math.min(Te,J.b));for(Te+=t==Qn?e.t:-e.t,Me=D8e((f.e=Te,f)),Me>0&&(l(Jo(e.b,t),127).a.b=Me),C=B.Kc();C.Ob();)E=l(C.Pb(),117),!(!E.c||E.c.d.c.length<=0)&&(V=E.c.i,V.c-=E.e.a,V.d-=E.e.b)}function JDn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;for(t=new Pr,w=new or(e);w.e!=w.i.gc();){for(g=l(gr(w),27),n=new Gs,Ei(Q0e,g,n),z=new Fp,a=l(kc(new bn(null,new yw(new hr(dr(sP(g).a.Kc(),new j)))),pst(z,Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)])))),85),Yht(n,l(a.xc((Vn(),!0)),16),new X3),r=l(kc(Ri(l(a.xc(!1),15).Lc(),new $9),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[Cc]))),15),f=r.Kc();f.Ob();)o=l(f.Pb(),74),B=Ygt(o),B&&(E=l(fc(zo(t.f,B)),21),E||(E=vbt(B),zu(t.f,B,E)),Ka(n,E));for(a=l(kc(new bn(null,new yw(new hr(dr(op(g).a.Kc(),new j)))),pst(z,Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[Cc])))),85),Yht(n,l(a.xc(!0),16),new c5),r=l(kc(Ri(l(a.xc(!1),15).Lc(),new Th),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[Cc]))),15),L=r.Kc();L.Ob();)C=l(L.Pb(),74),B=Xgt(C),B&&(E=l(fc(zo(t.f,B)),21),E||(E=vbt(B),zu(t.f,B,E)),Ka(n,E))}}function ZDn(e,t){mle();var n,r,a,o,f,g,w,E,C,L,B,z,V,J;if(w=ou(e,0)<0,w&&(e=i2(e)),ou(e,0)==0)switch(t){case 0:return"0";case 1:return sT;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return z=new nb,t<0?z.a+="0E+":z.a+="0E",z.a+=t==co?"2147483648":""+-t,z.a}C=18,L=We(xf,Cd,28,C+1,15,1),n=C,J=e;do E=J,J=KN(J,10),L[--n]=Yr(go(48,Mf(E,po(J,10))))&Js;while(ou(J,0)!=0);if(a=Mf(Mf(Mf(C,n),t),1),t==0)return w&&(L[--n]=45),Df(L,n,C-n);if(t>0&&ou(a,-6)>=0){if(ou(a,0)>=0){for(o=n+Yr(a),g=C-1;g>=o;g--)L[g+1]=L[g];return L[++o]=46,w&&(L[--n]=45),Df(L,n,C-n+1)}for(f=2;dse(f,go(i2(a),1));f++)L[--n]=48;return L[--n]=46,L[--n]=48,w&&(L[--n]=45),Df(L,n,C-n)}return V=n+1,r=C,B=new S5,w&&(B.a+="-"),r-V>=1?(fb(B,L[n]),B.a+=".",B.a+=Df(L,n+1,C-n-1)):B.a+=Df(L,n,C-n),B.a+="E",ou(a,0)>0&&(B.a+="+"),B.a+=""+Y_(a),B.a}function Ww(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot;if(te=new lt(e.g,e.f),J=o9e(e),J.a=b.Math.max(J.a,t),J.b=b.Math.max(J.b,n),ot=J.a/te.a,C=J.b/te.b,$e=J.a-te.a,w=J.b-te.b,r)for(f=gs(e)?l(at(gs(e),(bi(),xv)),88):l(at(e,(bi(),xv)),88),g=qe(at(e,(bi(),_M)))===qe((Fa(),Nu)),Te=new or((!e.c&&(e.c=new nt(Vl,e,9,9)),e.c));Te.e!=Te.i.gc();)switch(fe=l(gr(Te),123),Me=l(at(fe,s7),64),Me==(St(),Fc)&&(Me=Tke(fe,f),Hi(fe,s7,Me)),Me.g){case 1:g||Ku(fe,fe.i*ot);break;case 2:Ku(fe,fe.i+$e),g||Wu(fe,fe.j*C);break;case 3:g||Ku(fe,fe.i*ot),Wu(fe,fe.j+w);break;case 4:g||Wu(fe,fe.j*C)}if(F5(e,J.a,J.b),a)for(B=new or((!e.n&&(e.n=new nt(tc,e,1,7)),e.n));B.e!=B.i.gc();)L=l(gr(B),135),z=L.i+L.g/2,V=L.j+L.f/2,Je=z/te.a,E=V/te.b,Je+E>=1&&(Je-E>0&&V>=0?(Ku(L,L.i+$e),Wu(L,L.j+w*E)):Je-E<0&&z>=0&&(Ku(L,L.i+$e*Je),Wu(L,L.j+w)));return Hi(e,(bi(),kv),(wh(),o=l(U0(BM),9),new Jh(o,l(o0(o,o.length),9),0))),new lt(ot,C)}function Zvt(e){ow(e,new Xm(Gz(iw(tw(rw(nw(new v1,df),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new pu),df))),gt(e,df,AG,It(hCt)),gt(e,df,Zy,It(fCt)),gt(e,df,x6,It(oCt)),gt(e,df,Px,It(cCt)),gt(e,df,Nx,It(uCt)),gt(e,df,fT,It(aCt)),gt(e,df,fL,It(PIe)),gt(e,df,dT,It(lCt)),gt(e,df,Sfe,It(Zde)),gt(e,df,Cfe,It(ege)),gt(e,df,PG,It(FIe)),gt(e,df,_fe,It(tge)),gt(e,df,Afe,It(RIe)),gt(e,df,DCe,It(jIe)),gt(e,df,MCe,It(BIe)),gt(e,df,SCe,It(HW)),gt(e,df,_Ce,It(VW)),gt(e,df,ACe,It(FB)),gt(e,df,LCe,It($Ie)),gt(e,df,CCe,It(NIe))}function WU(e){var t,n,r,a,o,f,g,w,E,C,L;if(e==null)throw ue(new hd(hl));if(E=e,o=e.length,w=!1,o>0&&(t=(Xn(0,e.length),e.charCodeAt(0)),(t==45||t==43)&&(e=(Xn(1,e.length+1),e.substr(1)),--o,w=t==45)),o==0)throw ue(new hd(Qw+E+'"'));for(;e.length>0&&(Xn(0,e.length),e.charCodeAt(0)==48);)e=(Xn(1,e.length+1),e.substr(1)),--o;if(o>(Mmt(),v6t)[10])throw ue(new hd(Qw+E+'"'));for(a=0;a0&&(L=-parseInt((Ga(0,r,e.length),e.substr(0,r)),10),e=(Xn(r,e.length+1),e.substr(r)),o-=r,n=!1);o>=f;){if(r=parseInt((Ga(0,f,e.length),e.substr(0,f)),10),e=(Xn(f,e.length+1),e.substr(f)),o-=f,n)n=!1;else{if(ou(L,g)<0)throw ue(new hd(Qw+E+'"'));L=po(L,C)}L=Mf(L,r)}if(ou(L,0)>0)throw ue(new hd(Qw+E+'"'));if(!w&&(L=i2(L),ou(L,0)<0))throw ue(new hd(Qw+E+'"'));return L}function Uke(e){Ele();var t,n,r,a,o,f,g,w;if(e==null)return null;if(a=fd(e,ll(37)),a<0)return e;for(w=new Ch((Ga(0,a,e.length),e.substr(0,a))),t=We(Dl,C6,28,4,15,1),g=0,r=0,f=e.length;aa+2&&vce((Xn(a+1,e.length),e.charCodeAt(a+1)),EPe,TPe)&&vce((Xn(a+2,e.length),e.charCodeAt(a+2)),EPe,TPe))if(n=ydn((Xn(a+1,e.length),e.charCodeAt(a+1)),(Xn(a+2,e.length),e.charCodeAt(a+2))),a+=2,r>0?(n&192)==128?t[g++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(t[g++]=n<<24>>24,r=2):(n&240)==224?(t[g++]=n<<24>>24,r=3):(n&248)==240&&(t[g++]=n<<24>>24,r=4)),r>0){if(g==r){switch(g){case 2:{fb(w,((t[0]&31)<<6|t[1]&63)&Js);break}case 3:{fb(w,((t[0]&15)<<12|(t[1]&63)<<6|t[2]&63)&Js);break}}g=0,r=0}}else{for(o=0;o=2){if((!e.a&&(e.a=new nt(os,e,6,6)),e.a).i==0)n=(ib(),a=new rk,a),qr((!e.a&&(e.a=new nt(os,e,6,6)),e.a),n);else if((!e.a&&(e.a=new nt(os,e,6,6)),e.a).i>1)for(B=new q8((!e.a&&(e.a=new nt(os,e,6,6)),e.a));B.e!=B.i.gc();)jA(B);dP(t,l(Oe((!e.a&&(e.a=new nt(os,e,6,6)),e.a),0),166))}if(L)for(r=new or((!e.a&&(e.a=new nt(os,e,6,6)),e.a));r.e!=r.i.gc();)for(n=l(gr(r),166),E=new or((!n.a&&(n.a=new Ws(Hh,n,5)),n.a));E.e!=E.i.gc();)w=l(gr(E),377),g.a=b.Math.max(g.a,w.a),g.b=b.Math.max(g.b,w.b);for(f=new or((!e.n&&(e.n=new nt(tc,e,1,7)),e.n));f.e!=f.i.gc();)o=l(gr(f),135),C=l(at(o,MM),8),C&&Xh(o,C.a,C.b),L&&(g.a=b.Math.max(g.a,o.i+o.g),g.b=b.Math.max(g.b,o.j+o.f));return g}function twt(e,t,n,r,a){var o,f,g;if(nht(e,t),f=t[0],o=ao(n.c,0),g=-1,q7e(n))if(r>0){if(f+r>e.length)return!1;g=EU((Ga(0,f+r,e.length),e.substr(0,f+r)),t)}else g=EU(e,t);switch(o){case 71:return g=o6(e,f,he(le(zt,1),dt,2,6,[$wt,zwt]),t),a.e=g,!0;case 77:return pSn(e,t,a,g,f);case 76:return bSn(e,t,a,g,f);case 69:return okn(e,t,f,a);case 99:return ckn(e,t,f,a);case 97:return g=o6(e,f,he(le(zt,1),dt,2,6,["AM","PM"]),t),a.b=g,!0;case 121:return mSn(e,t,f,g,n,a);case 100:return g<=0?!1:(a.c=g,!0);case 83:return g<0?!1:E5n(g,f,t[0],a);case 104:g==12&&(g=0);case 75:case 72:return g<0?!1:(a.f=g,a.g=!1,!0);case 107:return g<0?!1:(a.f=g,a.g=!0,!0);case 109:return g<0?!1:(a.j=g,!0);case 115:return g<0?!1:(a.n=g,!0);case 90:if(fon[w]&&(te=w),L=new G(e.a.b);L.a1;){if(a=cCn(t),L=o.g,V=l(at(t,vM),107),J=ze(Ge(at(t,WW))),(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i>1&&ze(Ge(at(t,(cg(),uge))))!=ps&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))1&&ze(Ge(at(t,(cg(),cge))))!=ps&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))>J&&Hi(a,(cg(),C4),b.Math.max(ze(Ge(at(t,mM))),ze(Ge(at(a,C4)))-ze(Ge(at(t,cge))))),z=new J3e(r,C),w=xwt(z,a,B),E=w.g,E>=L&&E==E){for(f=0;f<(!a.a&&(a.a=new nt(Li,a,10,11)),a.a).i;f++)Wpt(e,l(Oe((!a.a&&(a.a=new nt(Li,a,10,11)),a.a),f),27),l(Oe((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),f),27));Aht(t,z),f2n(o,w.c),h2n(o,w.b)}--g}Hi(t,(cg(),ZT),o.b),Hi(t,Zx,o.c),n.Vg()}function rIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;for(t.Ug("Interactive node layering",1),n=new bt,B=new G(e.a);B.a=g){mr(Te.b>0),Te.a.Xb(Te.c=--Te.b);break}else te.a>w&&(r?(ra(r.b,te.b),r.a=b.Math.max(r.a,te.a),mh(Te)):(vt(te.b,C),te.c=b.Math.min(te.c,w),te.a=b.Math.max(te.a,g),r=te));r||(r=new WQe,r.c=w,r.a=g,my(Te,r),vt(r.b,C))}for(f=e.b,E=0,fe=new G(n);fe.az&&(o&&(yo(ot,B),yo(on,pt(E.b-1))),oi=n.b,ys+=B+t,B=0,C=b.Math.max(C,n.b+n.c+ur)),Ku(g,oi),Wu(g,ys),C=b.Math.max(C,oi+ur+n.c),B=b.Math.max(B,L),oi+=ur+t;if(C=b.Math.max(C,r),jn=ys+B+n.a,jnAd,an=b.Math.abs(B.b-V.b)>Ad,(!n&&on&&an||n&&(on||an))&&li(te.a,$e)),Ka(te.a,r),r.b==0?B=$e:B=(mr(r.b!=0),l(r.c.b.c,8)),H3n(z,L,J),_ft(a)==_t&&(eo(_t.i)!=a.a&&(J=new qa,r9e(J,eo(_t.i),Te)),rt(te,X1e,J)),C9n(z,te,Te),C.a.zc(z,C);fo(te,Je),Ba(te,_t)}for(E=C.a.ec().Kc();E.Ob();)w=l(E.Pb(),18),fo(w,null),Ba(w,null);t.Vg()}function aIn(e,t){var n,r,a,o,f,g,w,E,C,L,B;for(a=l(Q(e,(Uc(),k3)),88),C=a==(Qs(),lc)||a==wc?W1:wc,n=l(kc(Ri(new bn(null,new kn(e.b,16)),new pI),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15),w=l(kc(dc(n.Oc(),new pXe(t)),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[Cc]))),15),w.Gc(l(kc(dc(n.Oc(),new bXe(t)),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[Cc]))),16)),w.jd(new mXe(C)),B=new Wp(new vXe(a)),r=new Pr,g=w.Kc();g.Ob();)f=l(g.Pb(),240),E=l(f.a,40),Rt(Bt(f.c))?(B.a.zc(E,(Vn(),Bb))==null,new ba(B.a.Zc(E,!1)).a.gc()>0&&Ei(r,E,l(new ba(B.a.Zc(E,!1)).a.Vc(),40)),new ba(B.a.ad(E,!0)).a.gc()>1&&Ei(r,D1t(B,E),E)):(new ba(B.a.Zc(E,!1)).a.gc()>0&&(o=l(new ba(B.a.Zc(E,!1)).a.Vc(),40),qe(o)===qe(fc(zo(r.f,E)))&&l(Q(E,(Qi(),Nde)),15).Fc(o)),new ba(B.a.ad(E,!0)).a.gc()>1&&(L=D1t(B,E),qe(fc(zo(r.f,L)))===qe(E)&&l(Q(L,(Qi(),Nde)),15).Fc(E)),B.a.Bc(E)!=null)}function nwt(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;if(e.gc()==1)return l(e.Xb(0),235);if(e.gc()<=0)return new WH;for(a=e.Kc();a.Ob();){for(n=l(a.Pb(),235),V=0,C=Oi,L=Oi,w=co,E=co,z=new G(n.e);z.ag&&(Me=0,$e+=f+fe,f=0),O_n(J,n,Me,$e),t=b.Math.max(t,Me+te.a),f=b.Math.max(f,te.b),Me+=te.a+fe;return J}function oIn(e){Eke();var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(e==null||(o=sV(e),V=P4n(o),V%4!=0))return null;if(J=V/4|0,J==0)return We(Dl,C6,28,0,15,1);for(L=null,t=0,n=0,r=0,a=0,f=0,g=0,w=0,E=0,z=0,B=0,C=0,L=We(Dl,C6,28,J*3,15,1);z>4)<<24>>24,L[B++]=((n&15)<<4|r>>2&15)<<24>>24,L[B++]=(r<<6|a)<<24>>24}return!eO(f=o[C++])||!eO(g=o[C++])?null:(t=Z1[f],n=Z1[g],w=o[C++],E=o[C++],Z1[w]==-1||Z1[E]==-1?w==61&&E==61?n&15?null:(te=We(Dl,C6,28,z*3+1,15,1),vu(L,0,te,0,z*3),te[B]=(t<<2|n>>4)<<24>>24,te):w!=61&&E==61?(r=Z1[w],r&3?null:(te=We(Dl,C6,28,z*3+2,15,1),vu(L,0,te,0,z*3),te[B++]=(t<<2|n>>4)<<24>>24,te[B]=((n&15)<<4|r>>2&15)<<24>>24,te)):null:(r=Z1[w],a=Z1[E],L[B++]=(t<<2|n>>4)<<24>>24,L[B++]=((n&15)<<4|r>>2&15)<<24>>24,L[B++]=(r<<6|a)<<24>>24,L))}function cIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je;for(t.Ug(Y3t,1),V=l(Q(e,(Nt(),pp)),223),a=new G(e.b);a.a=2){for(J=!0,B=new G(o.j),n=l(re(B),12),z=null;B.a0)if(r=L.gc(),E=la(b.Math.floor((r+1)/2))-1,a=la(b.Math.ceil((r+1)/2))-1,t.o==G1)for(C=a;C>=E;C--)t.a[$e.p]==$e&&(J=l(L.Xb(C),42),V=l(J.a,10),!G0(n,J.b)&&z>e.b.e[V.p]&&(t.a[V.p]=$e,t.g[$e.p]=t.g[V.p],t.a[$e.p]=t.g[$e.p],t.f[t.g[$e.p].p]=(Vn(),!!(Rt(t.f[t.g[$e.p].p])&$e.k==(Zn(),Aa))),z=e.b.e[V.p]));else for(C=E;C<=a;C++)t.a[$e.p]==$e&&(fe=l(L.Xb(C),42),te=l(fe.a,10),!G0(n,fe.b)&&z0&&(a=l(jt(te.c.a,ot-1),10),f=e.i[a.p],on=b.Math.ceil(j5(e.n,a,te)),o=Je.a.e-te.d.d-(f.a.e+a.o.b+a.d.a)-on),E=ps,ot0&&_t.a.e.e-_t.a.a-(_t.b.e.e-_t.b.a)<0,V=Me.a.e.e-Me.a.a-(Me.b.e.e-Me.b.a)<0&&_t.a.e.e-_t.a.a-(_t.b.e.e-_t.b.a)>0,z=Me.a.e.e+Me.b.a<_t.b.e.e+_t.a.a,B=Me.a.e.e+Me.b.a>_t.b.e.e+_t.a.a,$e=0,!J&&!V&&(B?o+L>0?$e=L:E-r>0&&($e=r):z&&(o+g>0?$e=g:E-Te>0&&($e=Te))),Je.a.e+=$e,Je.b&&(Je.d.e+=$e),!1))}function iwt(e,t,n){var r,a,o,f,g,w,E,C,L,B;if(r=new Zh(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),a=new $8,e.c)for(f=new G(t.Rf());f.aE&&(r.a+=Int(We(xf,Cd,28,-E,15,1))),r.a+="Is",fd(w,ll(32))>=0)for(a=0;a=r.o.b/2}else Te=!L;Te?(fe=l(Q(r,(ft(),Qx)),15),fe?B?o=fe:(a=l(Q(r,Gx),15),a?fe.gc()<=a.gc()?o=fe:o=a:(o=new bt,rt(r,Gx,o))):(o=new bt,rt(r,Qx,o))):(a=l(Q(r,(ft(),Gx)),15),a?L?o=a:(fe=l(Q(r,Qx),15),fe?a.gc()<=fe.gc()?o=a:o=fe:(o=new bt,rt(r,Qx,o))):(o=new bt,rt(r,Gx,o))),o.Fc(e),rt(e,(ft(),iW),n),t.d==n?(Ba(t,null),n.e.c.length+n.g.c.length==0&&Ic(n,null),Syn(n)):(fo(t,null),n.e.c.length+n.g.c.length==0&&Ic(n,null)),Sh(t.a)}function fIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur,oi,ys;for(n.Ug("MinWidth layering",1),z=t.b,_t=t.a,ys=l(Q(t,(Nt(),qMe)),17).a,g=l(Q(t,HMe),17).a,e.b=ze(Ge(Q(t,y0))),e.d=ps,$e=new G(_t);$e.a<$e.c.c.length;)Te=l(re($e),10),Te.k==(Zn(),Bs)&&(Fn=Te.o.b,e.d=b.Math.min(e.d,Fn));for(e.d=b.Math.max(1,e.d),on=_t.c.length,e.c=We(Vr,gi,28,on,15,1),e.f=We(Vr,gi,28,on,15,1),e.e=We(Na,ec,28,on,15,1),E=0,e.a=0,Je=new G(_t);Je.a0?(E=0,te&&(E+=g),E+=(an-1)*f,Me&&(E+=g),on&&Me&&(E=b.Math.max(E,ICn(Me,f,Te,_t))),E=e.a&&(r=WAn(e,Te),C=b.Math.max(C,r.b),$e=b.Math.max($e,r.d),vt(g,new ua(Te,r)));for(on=new bt,E=0;E0),te.a.Xb(te.c=--te.b),an=new Tu(e.b),my(te,an),mr(te.b0){for(B=C<100?null:new rb(C),E=new C7e(t),V=E.g,fe=We(Vr,gi,28,C,15,1),r=0,$e=new Dw(C),a=0;a=0;)if(z!=null?Bi(z,V[w]):qe(z)===qe(V[w])){fe.length<=r&&(te=fe,fe=We(Vr,gi,28,2*fe.length,15,1),vu(te,0,fe,0,r)),fe[r++]=a,qr($e,V[w]);break e}if(z=z,qe(z)===qe(g))break}}if(E=$e,V=$e.g,C=r,r>fe.length&&(te=fe,fe=We(Vr,gi,28,r,15,1),vu(te,0,fe,0,r)),r>0){for(Me=!0,o=0;o=0;)vx(e,fe[f]);if(r!=C){for(a=C;--a>=r;)vx(E,a);te=fe,fe=We(Vr,gi,28,r,15,1),vu(te,0,fe,0,r)}t=E}}}else for(t=L7n(e,t),a=e.i;--a>=0;)t.Hc(e.g[a])&&(vx(e,a),Me=!0);if(Me){if(fe!=null){for(n=t.gc(),L=n==1?rA(e,4,t.Kc().Pb(),null,fe[0],J):rA(e,6,t,fe,fe[0],J),B=n<100?null:new rb(n),a=t.Kc();a.Ob();)z=a.Pb(),B=g4e(e,l(z,76),B);B?(B.nj(L),B.oj()):Pi(e.e,L)}else{for(B=Pfn(t.gc()),a=t.Kc();a.Ob();)z=a.Pb(),B=g4e(e,l(z,76),B);B&&B.oj()}return!0}else return!1}function pIn(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;for(n=new Edt(t),n.a||V_n(t),E=zSn(t),w=new _w,te=new Cbt,J=new G(t.a);J.a0||n.o==G1&&a=n}function mIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur;for(Me=t,Te=new _w,$e=new _w,C=Mw(Me,dSe),r=new Iat(e,n,Te,$e),F9n(r.a,r.b,r.c,r.d,C),w=(_t=Te.i,_t||(Te.i=new q5(Te,Te.c))),an=w.Kc();an.Ob();)for(on=l(an.Pb(),166),a=l($i(Te,on),21),J=a.Kc();J.Ob();)if(V=J.Pb(),Je=l(X5(e.d,V),166),Je)g=(!on.e&&(on.e=new An(os,on,10,9)),on.e),qr(g,Je);else throw f=Wg(Me,Id),B=k4t+V+E4t+f,z=B+kT,ue(new ld(z));for(E=(ot=$e.i,ot||($e.i=new q5($e,$e.c))),jn=E.Kc();jn.Ob();)for(Fn=l(jn.Pb(),166),o=l($i($e,Fn),21),fe=o.Kc();fe.Ob();)if(te=fe.Pb(),Je=l(X5(e.d,te),166),Je)L=(!Fn.g&&(Fn.g=new An(os,Fn,9,10)),Fn.g),qr(L,Je);else throw f=Wg(Me,Id),B=k4t+te+E4t+f,z=B+kT,ue(new ld(z));!n.b&&(n.b=new An(Sr,n,4,7)),n.b.i!=0&&(!n.c&&(n.c=new An(Sr,n,5,8)),n.c.i!=0)&&(!n.b&&(n.b=new An(Sr,n,4,7)),n.b.i<=1&&(!n.c&&(n.c=new An(Sr,n,5,8)),n.c.i<=1))&&(!n.a&&(n.a=new nt(os,n,6,6)),n.a).i==1&&(ur=l(Oe((!n.a&&(n.a=new nt(os,n,6,6)),n.a),0),166),!oue(ur)&&!cue(ur)&&(yV(ur,l(Oe((!n.b&&(n.b=new An(Sr,n,4,7)),n.b),0),84)),xV(ur,l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84))))}function vIn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn;for(Me=e.a,$e=0,Je=Me.length;$e0?(L=l(jt(B.c.a,f-1),10),on=j5(e.b,B,L),te=B.n.b-B.d.d-(L.n.b+L.o.b+L.d.a+on)):te=B.n.b-B.d.d,E=b.Math.min(te,E),f1&&(f=b.Math.min(f,b.Math.abs(l(hf(g.a,1),8).b-C.b)))));else for(J=new G(t.j);J.aa&&(o=B.a-a,f=Oi,r.c.length=0,a=B.a),B.a>=a&&(zn(r.c,g),g.a.b>1&&(f=b.Math.min(f,b.Math.abs(l(hf(g.a,g.a.b-2),8).b-B.b)))));if(r.c.length!=0&&o>t.o.a/2&&f>t.o.b/2){for(z=new mu,Ic(z,t),ha(z,(St(),Qn)),z.n.a=t.o.a/2,fe=new mu,Ic(fe,t),ha(fe,Dr),fe.n.a=t.o.a/2,fe.n.b=t.o.b,w=new G(r);w.a=E.b?fo(g,fe):fo(g,z)):(E=l(udn(g.a),8),te=g.a.b==0?L1(g.c):l(a0(g.a),8),te.b>=E.b?Ba(g,fe):Ba(g,z)),L=l(Q(g,(Nt(),uc)),75),L&&Py(L,E,!0);t.n.a=a-t.o.a/2}}function yIn(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(g=Rr(e.b,0);g.b!=g.d.c;)if(f=l(Br(g),40),!wn(f.c,IG))for(E=UEn(f,e),t==(Qs(),lc)||t==wc?Hs(E,new tne):Hs(E,new nne),w=E.c.length,r=0;r=0?z=gx(g):z=BN(gx(g)),e.qf(VT,z)),E=new qa,B=!1,e.pf(m3)?(Rye(E,l(e.of(m3),8)),B=!0):Mhn(E,f.a/2,f.b/2),z.g){case 4:rt(C,Zu,(lf(),zb)),rt(C,aW,(Vm(),P6)),C.o.b=f.b,J<0&&(C.o.a=-J),ha(L,(St(),ar)),B||(E.a=f.a),E.a-=f.a;break;case 2:rt(C,Zu,(lf(),g4)),rt(C,aW,(Vm(),FT)),C.o.b=f.b,J<0&&(C.o.a=-J),ha(L,(St(),er)),B||(E.a=0);break;case 1:rt(C,hv,(Zg(),F6)),C.o.a=f.a,J<0&&(C.o.b=-J),ha(L,(St(),Dr)),B||(E.b=f.b),E.b-=f.b;break;case 3:rt(C,hv,(Zg(),Ux)),C.o.a=f.a,J<0&&(C.o.b=-J),ha(L,(St(),Qn)),B||(E.b=0)}if(Rye(L.n,E),rt(C,m3,E),t==Tv||t==Eg||t==Nu){if(V=0,t==Tv&&e.pf(E2))switch(z.g){case 1:case 2:V=l(e.of(E2),17).a;break;case 3:case 4:V=-l(e.of(E2),17).a}else switch(z.g){case 4:case 2:V=o.b,t==Eg&&(V/=a.b);break;case 1:case 3:V=o.a,t==Eg&&(V/=a.a)}rt(C,f3,V)}return rt(C,Xc,z),C}function xIn(){u3e();function e(r){var a=this;this.dispatch=function(o){var f=o.data;switch(f.cmd){case"algorithms":var g=M8e((Cn(),new $a(new pi(Jb.b))));r.postMessage({id:f.id,data:g});break;case"categories":var w=M8e((Cn(),new $a(new pi(Jb.c))));r.postMessage({id:f.id,data:w});break;case"options":var E=M8e((Cn(),new $a(new pi(Jb.d))));r.postMessage({id:f.id,data:E});break;case"register":TMn(f.algorithms),r.postMessage({id:f.id});break;case"layout":ZAn(f.graph,f.layoutOptions||{},f.options||{}),r.postMessage({id:f.id,data:f.graph});break}},this.saveDispatch=function(o){try{a.dispatch(o)}catch(f){r.postMessage({id:o.data.id,error:f})}}}function t(r){var a=this;this.dispatcher=new e({postMessage:function(o){a.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){a.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===phe&&typeof self!==phe){var n=new e(self);self.onmessage=n.saveDispatch}else typeof d!==phe&&d.exports&&(Object.defineProperty(p,"__esModule",{value:!0}),d.exports={default:t,Worker:t})}function lwt(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(C=new ap(n),bc(C,t),rt(C,(ft(),zi),t),C.o.a=t.g,C.o.b=t.f,C.n.a=t.i,C.n.b=t.j,vt(n.a,C),Ei(e.a,t,C),((!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i!=0||Rt(Bt(at(t,(Nt(),m4)))))&&rt(C,RLe,(Vn(),!0)),E=l(Q(n,Ou),21),L=l(Q(C,(Nt(),Ds)),101),L==(Fa(),Yb)?rt(C,Ds,X1):L!=X1&&E.Fc((Ho(),$T)),B=0,r=l(Q(n,jh),88),w=new or((!t.c&&(t.c=new nt(Vl,t,9,9)),t.c));w.e!=w.i.gc();)g=l(gr(w),123),a=gs(t),(qe(at(a,wg))!==qe((yd(),T2))||qe(at(a,dv))===qe((h2(),BT))||qe(at(a,dv))===qe((h2(),PT))||Rt(Bt(at(a,g3)))||qe(at(a,p4))!==qe((Km(),u4))||qe(at(a,qb))===qe((Of(),y3))||qe(at(a,qb))===qe((Of(),k4))||qe(at(a,pv))===qe((b2(),WT))||qe(at(a,pv))===qe((b2(),YT)))&&!Rt(Bt(at(t,dW)))&&Hi(g,Ki,pt(B++)),Rt(Bt(at(g,mv)))||DDn(e,g,C,E,r,L);for(f=new or((!t.n&&(t.n=new nt(tc,t,1,7)),t.n));f.e!=f.i.gc();)o=l(gr(f),135),!Rt(Bt(at(o,mv)))&&o.a&&vt(C.b,Nce(o));return Rt(Bt(Q(C,QL)))&&E.Fc((Ho(),tW)),Rt(Bt(Q(C,mW)))&&(E.Fc((Ho(),nW)),E.Fc(UL),rt(C,Ds,X1)),C}function Mle(e,t,n,r,a,o,f){var g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur,oi,ys;for(J=0,Fn=0,E=new G(e.b);E.aJ&&(o&&(yo(ot,z),yo(on,pt(C.b-1)),vt(e.d,V),g.c.length=0),oi=n.b,ys+=z+t,z=0,L=b.Math.max(L,n.b+n.c+ur)),zn(g.c,w),pdt(w,oi,ys),L=b.Math.max(L,oi+ur+n.c),z=b.Math.max(z,B),oi+=ur+t,V=w;if(ra(e.a,g),vt(e.d,l(jt(g,g.c.length-1),163)),L=b.Math.max(L,r),jn=ys+z+n.a,jna.d.d+a.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(t=n);C&&(o=l(cr(e.f,f.d.i),60),t.bo.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(g=new hr(dr(ka(z).a.Kc(),new j));jr(g);)f=l(xr(g),18),f.a.b!=0&&(t=l(a0(f.a),8),f.d.j==(St(),Qn)&&(te=new QA(t,new lt(t.a,a.d.d),a,f),te.f.a=!0,te.a=f.d,zn(J.c,te)),f.d.j==Dr&&(te=new QA(t,new lt(t.a,a.d.d+a.d.a),a,f),te.f.d=!0,te.a=f.d,zn(J.c,te)))}return J}function _In(e,t,n){var r,a,o,f,g,w,E,C,L,B;for(w=new bt,L=t.length,f=z7e(n),E=0;E=V&&(Te>V&&(z.c.length=0,V=Te),zn(z.c,f));z.c.length!=0&&(B=l(jt(z,oU(t,z.c.length)),131),jn.a.Bc(B)!=null,B.s=J++,j9e(B,an,ot),z.c.length=0)}for($e=e.c.length+1,g=new G(e);g.aFn.s&&(mh(n),cl(Fn.i,r),r.c>0&&(r.a=Fn,vt(Fn.t,r),r.b=_t,vt(_t.i,r)))}function hwt(e,t,n,r,a){var o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn;for(J=new Ru(t.b),$e=new Ru(t.b),B=new Ru(t.b),on=new Ru(t.b),te=new Ru(t.b),_t=Rr(t,0);_t.b!=_t.d.c;)for(Je=l(Br(_t),12),g=new G(Je.g);g.a0,fe=Je.g.c.length>0,E&&fe?zn(B.c,Je):E?zn(J.c,Je):fe&&zn($e.c,Je);for(V=new G(J);V.aTe.nh()-E.b&&(B=Te.nh()-E.b),z>Te.oh()-E.d&&(z=Te.oh()-E.d),C0){for(Me=Rr(e.f,0);Me.b!=Me.d.c;)Te=l(Br(Me),10),Te.p+=B-e.e;i9e(e),Sh(e.f),Z9e(e,r,z)}else{for(li(e.f,z),z.p=r,e.e=b.Math.max(e.e,r),o=new hr(dr(ka(z).a.Kc(),new j));jr(o);)a=l(xr(o),18),!a.c.i.c&&a.c.i.k==(Zn(),hu)&&(li(e.f,a.c.i),a.c.i.p=r-1);e.c=r}else i9e(e),Sh(e.f),r=0,jr(new hr(dr(ka(z).a.Kc(),new j)))?(B=0,B=ydt(B,z),r=B+2,Z9e(e,r,z)):(li(e.f,z),z.p=0,e.e=b.Math.max(e.e,0),e.b=l(jt(e.d.b,0),30),e.c=0);for(e.f.b==0||i9e(e),e.d.a.c.length=0,fe=new bt,E=new G(e.d.b);E.a=48&&t<=57){for(r=t-48;a=48&&t<=57;)if(r=r*10+t-48,r<0)throw ue(new ni(ai((Jr(),SSe))))}else throw ue(new ni(ai((Jr(),Y4t))));if(n=r,t==44){if(a>=e.j)throw ue(new ni(ai((Jr(),Q4t))));if((t=ao(e.i,a++))>=48&&t<=57){for(n=t-48;a=48&&t<=57;)if(n=n*10+t-48,n<0)throw ue(new ni(ai((Jr(),SSe))));if(r>n)throw ue(new ni(ai((Jr(),J4t))))}else n=-1}if(t!=125)throw ue(new ni(ai((Jr(),X4t))));e.bm(a)?(o=(Ii(),Ii(),new Cy(9,o)),e.d=a+1):(o=(Ii(),Ii(),new Cy(3,o)),e.d=a),o.Om(r),o.Nm(n),Mi(e)}}return o}function OIn(e){var t,n,r,a,o;switch(n=l(Q(e,(ft(),Ou)),21),t=Nq(y8t),a=l(Q(e,(Nt(),b4)),346),a==(np(),L2)&&Ih(t,x8t),Rt(Bt(Q(e,sde)))?di(t,(oo(),w0),(bo(),g1e)):di(t,(oo(),wu),(bo(),g1e)),Q(e,(JH(),kM))!=null&&Ih(t,k8t),(Rt(Bt(Q(e,jMe)))||Rt(Bt(Q(e,PMe))))&&El(t,(oo(),vc),(bo(),NAe)),l(Q(e,jh),88).g){case 2:case 3:case 4:El(di(t,(oo(),w0),(bo(),BAe)),vc,PAe)}switch(n.Hc((Ho(),tW))&&El(di(di(t,(oo(),w0),(bo(),OAe)),Du,DAe),vc,IAe),qe(Q(e,qb))!==qe((Of(),LW))&&di(t,(oo(),wu),(bo(),QAe)),n.Hc(rW)&&(di(t,(oo(),w0),(bo(),tLe)),di(t,mg,ZAe),di(t,wu,eLe)),qe(Q(e,hW))!==qe((zE(),VL))&&qe(Q(e,pp))!==qe((rp(),JB))&&El(t,(oo(),vc),(bo(),UAe)),Rt(Bt(Q(e,FMe)))&&di(t,(oo(),wu),(bo(),VAe)),Rt(Bt(Q(e,tde)))&&di(t,(oo(),wu),(bo(),nLe)),GTn(e)&&(qe(Q(e,b4))===qe(L2)?r=l(Q(e,TB),299):r=l(Q(e,ede),299),o=r==(vE(),j1e)?(bo(),JAe):(bo(),sLe),di(t,(oo(),Du),o)),l(Q(e,hDe),388).g){case 1:di(t,(oo(),Du),(bo(),rLe));break;case 2:El(di(di(t,(oo(),wu),(bo(),_Ae)),Du,AAe),vc,LAe)}return qe(Q(e,wg))!==qe((yd(),T2))&&di(t,(oo(),wu),(bo(),iLe)),t}function pwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me;if(Uu(e.a,t)){if(G0(l(cr(e.a,t),49),n))return 1}else Ei(e.a,t,new Gs);if(Uu(e.a,n)){if(G0(l(cr(e.a,n),49),t))return-1}else Ei(e.a,n,new Gs);if(Uu(e.e,t)){if(G0(l(cr(e.e,t),49),n))return-1}else Ei(e.e,t,new Gs);if(Uu(e.e,n)){if(G0(l(cr(e.a,n),49),t))return 1}else Ei(e.e,n,new Gs);if(e.c==(yd(),xde)||!ts(t,(ft(),Ki))||!ts(n,(ft(),Ki))){for(L=null,E=new G(t.j);E.af?WE(e,t,n):WE(e,n,t),af?1:0}return r=l(Q(t,(ft(),Ki)),17).a,o=l(Q(n,Ki),17).a,r>o?WE(e,t,n):WE(e,n,t),ro?1:0}function Yw(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(n==null)return null;if(e.a!=t.jk())throw ue(new Yn(yT+t.xe()+r3));if(De(t,469)){if(te=TSn(l(t,685),n),!te)throw ue(new Yn(qfe+n+"' is not a valid enumerator of '"+t.xe()+"'"));return te}switch(c2((Sl(),io),t).Nl()){case 2:{n=Au(n,!1);break}case 3:{n=Au(n,!0);break}}if(r=c2(io,t).Jl(),r)return r.jk().wi().ti(r,n);if(B=c2(io,t).Ll(),B){for(te=new bt,E=Cce(n),C=0,L=E.length;C1)for(V=new q8((!e.a&&(e.a=new nt(os,e,6,6)),e.a));V.e!=V.i.gc();)jA(V);for(f=l(Oe((!e.a&&(e.a=new nt(os,e,6,6)),e.a),0),166),te=oi,oi>Je+$e?te=Je+$e:oiot+J?fe=ot+J:ysJe-$e&&teot-J&&feoi+ur?on=oi+ur:Jeys+_t?an=ys+_t:otoi-ur&&onys-_t&&ann&&(B=n-1),z=B2+Zl(t,24)*MP*L-L/2,z<0?z=1:z>r&&(z=r-1),a=(ib(),w=new AS,w),gV(a,B),dV(a,z),qr((!f.a&&(f.a=new Ws(Hh,f,5)),f.a),a)}function bwt(e){ow(e,new Xm(iw(tw(rw(nw(new v1,nh),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new c8))),gt(e,nh,Ox,1.3),gt(e,nh,hT,(Vn(),!1)),gt(e,nh,Jw,sOe),gt(e,nh,Zy,15),gt(e,nh,_G,It(OCt)),gt(e,nh,x6,It(BCt)),gt(e,nh,Px,It(RCt)),gt(e,nh,Nx,It(jCt)),gt(e,nh,fT,It(PCt)),gt(e,nh,fL,It(hge)),gt(e,nh,dT,It($Ct)),gt(e,nh,$Ce,It(uOe)),gt(e,nh,zCe,It(cOe)),gt(e,nh,jCe,It(dge)),gt(e,nh,RCe,It(lOe)),gt(e,nh,qCe,It(iOe)),gt(e,nh,HCe,It(fge)),gt(e,nh,VCe,It(rOe)),gt(e,nh,UCe,It(oOe)),gt(e,nh,hL,It(nOe)),gt(e,nh,LG,It(NCt)),gt(e,nh,BCe,It(jB)),gt(e,nh,PCe,It(tOe)),gt(e,nh,FCe,It($B)),gt(e,nh,NCe,It(aOe))}function Ile(e,t){mle();var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur,oi;if(on=e.e,V=e.d,a=e.a,on==0)switch(t){case 0:return"0";case 1:return sT;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return ot=new nb,t<0?ot.a+="0E+":ot.a+="0E",ot.a+=-t,ot.a}if(Me=V*10+1+7,$e=We(xf,Cd,28,Me+1,15,1),n=Me,V==1)if(g=a[0],g<0){oi=va(g,Vo);do J=oi,oi=KN(oi,10),$e[--n]=48+Yr(Mf(J,po(oi,10)))&Js;while(ou(oi,0)!=0)}else{oi=g;do J=oi,oi=oi/10|0,$e[--n]=48+(J-oi*10)&Js;while(oi!=0)}else{Fn=We(Vr,gi,28,V,15,1),ur=V,vu(a,0,Fn,0,ur);e:for(;;){for(_t=0,E=ur-1;E>=0;E--)jn=go(u0(_t,32),va(Fn[E],Vo)),fe=kxn(jn),Fn[E]=Yr(fe),_t=Yr(vw(fe,32));Te=Yr(_t),te=n;do $e[--n]=48+Te%10&Js;while((Te=Te/10|0)!=0&&n!=0);for(r=9-te+n,w=0;w0;w++)$e[--n]=48;for(L=ur-1;Fn[L]==0;L--)if(L==0)break e;ur=L+1}for(;$e[n]==48;)++n}if(z=on<0,f=Me-n-t-1,t==0)return z&&($e[--n]=45),Df($e,n,Me-n);if(t>0&&f>=-6){if(f>=0){for(C=n+f,B=Me-1;B>=C;B--)$e[B+1]=$e[B];return $e[++C]=46,z&&($e[--n]=45),Df($e,n,Me-n+1)}for(L=2;L<-f+1;L++)$e[--n]=48;return $e[--n]=46,$e[--n]=48,z&&($e[--n]=45),Df($e,n,Me-n)}return an=n+1,o=Me,Je=new S5,z&&(Je.a+="-"),o-an>=1?(fb(Je,$e[n]),Je.a+=".",Je.a+=Df($e,n+1,Me-n-1)):Je.a+=Df($e,n,Me-n),Je.a+="E",f>0&&(Je.a+="+"),Je.a+=""+f,Je.a}function mwt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot;switch(e.c=t,e.g=new Pr,n=(cw(),new ew(e.c)),r=new e_(n),_8e(r),Me=Zr(at(e.c,(YN(),LOe))),w=l(at(e.c,Ege),324),Je=l(at(e.c,Tge),437),f=l(at(e.c,SOe),490),$e=l(at(e.c,kge),438),e.j=ze(Ge(at(e.c,eSt))),g=e.a,w.g){case 0:g=e.a;break;case 1:g=e.b;break;case 2:g=e.i;break;case 3:g=e.e;break;case 4:g=e.f;break;default:throw ue(new Yn(RG+(w.f!=null?w.f:""+w.g)))}if(e.d=new lot(g,Je,f),rt(e.d,(pE(),jL),Bt(at(e.c,JCt))),e.d.c=Rt(Bt(at(e.c,_Oe))),LH(e.c).i==0)return e.d;for(L=new or(LH(e.c));L.e!=L.i.gc();){for(C=l(gr(L),27),z=C.g/2,B=C.f/2,ot=new lt(C.i+z,C.j+B);Uu(e.g,ot);)pw(ot,(b.Math.random()-.5)*Ad,(b.Math.random()-.5)*Ad);J=l(at(C,(bi(),tC)),140),te=new Tot(ot,new Zh(ot.a-z-e.j/2-J.b,ot.b-B-e.j/2-J.d,C.g+e.j+(J.b+J.c),C.f+e.j+(J.d+J.a))),vt(e.d.i,te),Ei(e.g,ot,new ua(te,C))}switch($e.g){case 0:if(Me==null)e.d.d=l(jt(e.d.i,0),68);else for(Te=new G(e.d.i);Te.a0?ur+1:1);for(f=new G(ot.g);f.a0?ur+1:1)}e.c[E]==0?li(e.e,J):e.a[E]==0&&li(e.f,J),++E}for(V=-1,z=1,L=new bt,e.d=l(Q(t,(ft(),Xx)),234);Vh>0;){for(;e.e.b!=0;)ys=l(Eae(e.e),10),e.b[ys.p]=V--,bke(e,ys),--Vh;for(;e.f.b!=0;)Ul=l(Eae(e.f),10),e.b[Ul.p]=z++,bke(e,Ul),--Vh;if(Vh>0){for(B=co,Te=new G(Me);Te.a=B&&($e>B&&(L.c.length=0,B=$e),zn(L.c,J)));C=e.sg(L),e.b[C.p]=z++,bke(e,C),--Vh}}for(oi=Me.c.length+1,E=0;Ee.b[hc]&&(Kw(r,!0),rt(t,yB,(Vn(),!0)));e.a=null,e.c=null,e.b=null,Sh(e.f),Sh(e.e),n.Vg()}function vwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot;for(Je=l(Oe((!e.a&&(e.a=new nt(os,e,6,6)),e.a),0),166),C=new wl,$e=new Pr,ot=_mt(Je),zu($e.f,Je,ot),B=new Pr,r=new as,V=ng(Mh(he(le(Rh,1),Rn,20,0,[(!t.d&&(t.d=new An(js,t,8,5)),t.d),(!t.e&&(t.e=new An(js,t,7,4)),t.e)])));jr(V);){if(z=l(xr(V),74),(!e.a&&(e.a=new nt(os,e,6,6)),e.a).i!=1)throw ue(new Yn(i4t+(!e.a&&(e.a=new nt(os,e,6,6)),e.a).i));z!=e&&(te=l(Oe((!z.a&&(z.a=new nt(os,z,6,6)),z.a),0),166),_s(r,te,r.c.b,r.c),J=l(fc(zo($e.f,te)),13),J||(J=_mt(te),zu($e.f,te,J)),L=n?ma(new xo(l(jt(ot,ot.c.length-1),8)),l(jt(J,J.c.length-1),8)):ma(new xo((Sn(0,ot.c.length),l(ot.c[0],8))),(Sn(0,J.c.length),l(J.c[0],8))),zu(B.f,te,L))}if(r.b!=0)for(fe=l(jt(ot,n?ot.c.length-1:0),8),E=1;E1&&_s(C,fe,C.c.b,C.c),Xoe(a)));fe=Te}return C}function wwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn;for(n.Ug(wyt,1),Fn=l(kc(Ri(new bn(null,new kn(t,16)),new cne),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15),C=l(kc(Ri(new bn(null,new kn(t,16)),new yXe(t)),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[Cc]))),15),V=l(kc(Ri(new bn(null,new kn(t,16)),new wXe(t)),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[Cc]))),15),J=We(BW,OG,40,t.gc(),0,1),f=0;f=0&&an=0&&!J[z]){J[z]=a,C.gd(g),--g;break}if(z=an-B,z=0&&!J[z]){J[z]=a,C.gd(g),--g;break}}for(V.jd(new une),w=J.length-1;w>=0;w--)!J[w]&&!V.dc()&&(J[w]=l(V.Xb(0),40),V.gd(0));for(E=0;E=0;w--)li(n,(Sn(w,f.c.length),l(f.c[w],8)));return n}function xwt(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;for(Me=ze(Ge(at(t,(cg(),C4)))),z=ze(Ge(at(t,mM))),B=ze(Ge(at(t,GW))),w7e((!t.a&&(t.a=new nt(Li,t,10,11)),t.a)),fe=hvt((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),Me,e.b),te=0;teB&&UN((Sn(B,t.c.length),l(t.c[B],186)),C),C=null;t.c.length>B&&(Sn(B,t.c.length),l(t.c[B],186)).a.c.length==0;)cl(t,(Sn(B,t.c.length),t.c[B]));if(!C){--f;continue}if(!Rt(Bt(l(jt(C.b,0),27).of((R1(),$B))))&&rAn(t,V,o,C,te,n,B,r)){J=!0;continue}if(te){if(z=V.b,L=C.f,!Rt(Bt(l(jt(C.b,0),27).of($B)))&&xMn(t,V,o,C,n,B,r,a)){if(J=!0,z=e.j){e.a=-1,e.c=1;return}if(t=ao(e.i,e.d++),e.a=t,e.b==1){switch(t){case 92:if(r=10,e.d>=e.j)throw ue(new ni(ai((Jr(),UG))));e.a=ao(e.i,e.d++);break;case 45:(e.e&512)==512&&e.d=e.j||ao(e.i,e.d)!=63)break;if(++e.d>=e.j)throw ue(new ni(ai((Jr(),t0e))));switch(t=ao(e.i,e.d++),t){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(e.d>=e.j)throw ue(new ni(ai((Jr(),t0e))));if(t=ao(e.i,e.d++),t==61)r=16;else if(t==33)r=17;else throw ue(new ni(ai((Jr(),D4t))));break;case 35:for(;e.d=e.j)throw ue(new ni(ai((Jr(),UG))));e.a=ao(e.i,e.d++);break;default:r=0}e.c=r}function HIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te;if(n.Ug("Process compaction",1),!!Rt(Bt(Q(t,(Uc(),lIe))))){for(a=l(Q(t,k3),88),z=ze(Ge(Q(t,qde))),bLn(e,t,a),aIn(t,z/2/2),V=t.b,$m(V,new fXe(a)),E=Rr(V,0);E.b!=E.d.c;)if(w=l(Br(E),40),!Rt(Bt(Q(w,(Qi(),Ub))))){if(r=qSn(w,a),J=FAn(w,t),L=0,B=0,r)switch(te=r.e,a.g){case 2:L=te.a-z-w.f.a,J.e.a-z-w.f.aL&&(L=J.e.a+J.f.a+z),B=L+w.f.a;break;case 4:L=te.b-z-w.f.b,J.e.b-z-w.f.bL&&(L=J.e.b+J.f.b+z),B=L+w.f.b}else if(J)switch(a.g){case 2:L=J.e.a-z-w.f.a,B=L+w.f.a;break;case 1:L=J.e.a+J.f.a+z,B=L+w.f.a;break;case 4:L=J.e.b-z-w.f.b,B=L+w.f.b;break;case 3:L=J.e.b+J.f.b+z,B=L+w.f.b}qe(Q(t,zde))===qe((xA(),OB))?(o=L,f=B,g=kE(Ri(new bn(null,new kn(e.a,16)),new rtt(o,f))),g.a!=null?a==(Qs(),lc)||a==wc?w.e.a=L:w.e.b=L:(a==(Qs(),lc)||a==vf?g=kE(Ri(Oht(new bn(null,new kn(e.a,16))),new dXe(o))):g=kE(Ri(Oht(new bn(null,new kn(e.a,16))),new gXe(o))),g.a!=null&&(a==lc||a==wc?w.e.a=ze(Ge((mr(g.a!=null),l(g.a,42)).a)):w.e.b=ze(Ge((mr(g.a!=null),l(g.a,42)).a)))),g.a!=null&&(C=pc(e.a,(mr(g.a!=null),g.a),0),C>0&&C!=l(Q(w,Fd),17).a&&(rt(w,nIe,(Vn(),!0)),rt(w,Fd,pt(C))))):a==(Qs(),lc)||a==wc?w.e.a=L:w.e.b=L}n.Vg()}}function kwt(e){var t,n,r,a,o,f,g,w,E;for(e.b=1,Mi(e),t=null,e.c==0&&e.a==94?(Mi(e),t=(Ii(),Ii(),new Ah(4)),_u(t,0,TT),g=new Ah(4)):g=(Ii(),Ii(),new Ah(4)),a=!0;(E=e.c)!=1;){if(E==0&&e.a==93&&!a){t&&(nL(t,g),g=t);break}if(n=e.a,r=!1,E==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:Wy(g,YE(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(Wy(g,YE(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(w=y9e(e,n),!w)throw ue(new ni(ai((Jr(),n0e))));Wy(g,w),r=!0;break;default:n=tke(e)}else if(E==24&&!a){if(t&&(nL(t,g),g=t),o=kwt(e),nL(g,o),e.c!=0||e.a!=93)throw ue(new ni(ai((Jr(),z4t))));break}if(Mi(e),!r){if(E==0){if(n==91)throw ue(new ni(ai((Jr(),TSe))));if(n==93)throw ue(new ni(ai((Jr(),CSe))));if(n==45&&!a&&e.a!=93)throw ue(new ni(ai((Jr(),r0e))))}if(e.c!=0||e.a!=45||n==45&&a)_u(g,n,n);else{if(Mi(e),(E=e.c)==1)throw ue(new ni(ai((Jr(),GG))));if(E==0&&e.a==93)_u(g,n,n),_u(g,45,45);else{if(E==0&&e.a==93||E==24)throw ue(new ni(ai((Jr(),r0e))));if(f=e.a,E==0){if(f==91)throw ue(new ni(ai((Jr(),TSe))));if(f==93)throw ue(new ni(ai((Jr(),CSe))));if(f==45)throw ue(new ni(ai((Jr(),r0e))))}else E==10&&(f=tke(e));if(Mi(e),n>f)throw ue(new ni(ai((Jr(),V4t))));_u(g,n,f)}}}a=!1}if(e.c==1)throw ue(new ni(ai((Jr(),GG))));return c6(g),eL(g),e.b=0,Mi(e),g}function VIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je;if(n.Ug("Coffman-Graham Layering",1),t.a.c.length==0){n.Vg();return}for(Je=l(Q(t,(Nt(),zMe)),17).a,w=0,f=0,B=new G(t.a);B.a=Je||!R5n(fe,r))&&(r=yat(t,C)),Va(fe,r),o=new hr(dr(ka(fe).a.Kc(),new j));jr(o);)a=l(xr(o),18),!e.a[a.p]&&(J=a.c.i,--e.e[J.p],e.e[J.p]==0&&K8($E(z,J),aT));for(E=C.c.length-1;E>=0;--E)vt(t.b,(Sn(E,C.c.length),l(C.c[E],30)));t.a.c.length=0,n.Vg()}function Ewt(e,t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e;$e=!1;do for($e=!1,o=t?new br(e.a.b).a.gc()-2:1;t?o>=0:ol(Q(te,Ki),17).a)&&(Me=!1);if(Me){for(w=t?o+1:o-1,g=a6e(e.a,pt(w)),f=!1,Te=!0,r=!1,C=Rr(g,0);C.b!=C.d.c;)E=l(Br(C),10),ts(E,Ki)?E.p!=L.p&&(f=f|(t?l(Q(E,Ki),17).al(Q(L,Ki),17).a),Te=!1):!f&&Te&&E.k==(Zn(),hu)&&(r=!0,t?B=l(xr(new hr(dr(ka(E).a.Kc(),new j))),18).c.i:B=l(xr(new hr(dr(zs(E).a.Kc(),new j))),18).d.i,B==L&&(t?n=l(xr(new hr(dr(zs(E).a.Kc(),new j))),18).d.i:n=l(xr(new hr(dr(ka(E).a.Kc(),new j))),18).c.i,(t?l(gy(e.a,n),17).a-l(gy(e.a,B),17).a:l(gy(e.a,B),17).a-l(gy(e.a,n),17).a)<=2&&(Te=!1)));if(r&&Te&&(t?n=l(xr(new hr(dr(zs(L).a.Kc(),new j))),18).d.i:n=l(xr(new hr(dr(ka(L).a.Kc(),new j))),18).c.i,(t?l(gy(e.a,n),17).a-l(gy(e.a,L),17).a:l(gy(e.a,L),17).a-l(gy(e.a,n),17).a)<=2&&n.k==(Zn(),Bs)&&(Te=!1)),f||Te){for(J=ebt(e,L,t);J.a.gc()!=0;)V=l(J.a.ec().Kc().Pb(),10),J.a.Bc(V)!=null,Ka(J,ebt(e,V,t));--z,$e=!0}}}while($e)}function UIn(e){Wr(e.c,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#decimal"])),Wr(e.d,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#integer"])),Wr(e.e,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#boolean"])),Wr(e.f,hi,he(le(zt,1),dt,2,6,[uo,"EBoolean",Ai,"EBoolean:Object"])),Wr(e.i,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#byte"])),Wr(e.g,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Wr(e.j,hi,he(le(zt,1),dt,2,6,[uo,"EByte",Ai,"EByte:Object"])),Wr(e.n,hi,he(le(zt,1),dt,2,6,[uo,"EChar",Ai,"EChar:Object"])),Wr(e.t,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#double"])),Wr(e.u,hi,he(le(zt,1),dt,2,6,[uo,"EDouble",Ai,"EDouble:Object"])),Wr(e.F,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#float"])),Wr(e.G,hi,he(le(zt,1),dt,2,6,[uo,"EFloat",Ai,"EFloat:Object"])),Wr(e.I,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#int"])),Wr(e.J,hi,he(le(zt,1),dt,2,6,[uo,"EInt",Ai,"EInt:Object"])),Wr(e.N,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#long"])),Wr(e.O,hi,he(le(zt,1),dt,2,6,[uo,"ELong",Ai,"ELong:Object"])),Wr(e.Z,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#short"])),Wr(e.$,hi,he(le(zt,1),dt,2,6,[uo,"EShort",Ai,"EShort:Object"])),Wr(e._,hi,he(le(zt,1),dt,2,6,[uo,"http://www.w3.org/2001/XMLSchema#string"]))}function GIn(e,t,n,r,a,o,f){var g,w,E,C,L,B,z,V;return B=l(r.a,17).a,z=l(r.b,17).a,L=e.b,V=e.c,g=0,C=0,t==(Qs(),lc)||t==wc?(C=fO(d1t(ky(dc(new bn(null,new kn(n.b,16)),new hne),new Xte))),L.e.b+L.f.b/2>C?(E=++z,g=ze(Ge(gh(wy(dc(new bn(null,new kn(n.b,16)),new att(a,E)),new o$))))):(w=++B,g=ze(Ge(gh(Y8(dc(new bn(null,new kn(n.b,16)),new ott(a,w)),new Qte)))))):(C=fO(d1t(ky(dc(new bn(null,new kn(n.b,16)),new ene),new a$))),L.e.a+L.f.a/2>C?(E=++z,g=ze(Ge(gh(wy(dc(new bn(null,new kn(n.b,16)),new itt(a,E)),new Jte))))):(w=++B,g=ze(Ge(gh(Y8(dc(new bn(null,new kn(n.b,16)),new stt(a,w)),new bI)))))),t==lc?(yo(e.a,new lt(ze(Ge(Q(L,(Qi(),a1))))-a,g)),yo(e.a,new lt(V.e.a+V.f.a+a+o,g)),yo(e.a,new lt(V.e.a+V.f.a+a+o,V.e.b+V.f.b/2)),yo(e.a,new lt(V.e.a+V.f.a,V.e.b+V.f.b/2))):t==wc?(yo(e.a,new lt(ze(Ge(Q(L,(Qi(),x0))))+a,L.e.b+L.f.b/2)),yo(e.a,new lt(L.e.a+L.f.a+a,g)),yo(e.a,new lt(V.e.a-a-o,g)),yo(e.a,new lt(V.e.a-a-o,V.e.b+V.f.b/2)),yo(e.a,new lt(V.e.a,V.e.b+V.f.b/2))):t==vf?(yo(e.a,new lt(g,ze(Ge(Q(L,(Qi(),a1))))-a)),yo(e.a,new lt(g,V.e.b+V.f.b+a+o)),yo(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+a+o)),yo(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+a))):(e.a.b==0||(l(a0(e.a),8).b=ze(Ge(Q(L,(Qi(),x0))))+a*l(f.b,17).a),yo(e.a,new lt(g,ze(Ge(Q(L,(Qi(),x0))))+a*l(f.b,17).a)),yo(e.a,new lt(g,V.e.b-a*l(f.a,17).a-o))),new ua(pt(B),pt(z))}function KIn(e){var t,n,r,a,o,f,g,w,E,C,L,B,z;if(f=!0,L=null,r=null,a=null,t=!1,z=F_t,E=null,o=null,g=0,w=eue(e,g,CPe,SPe),w=0&&wn(e.substr(g,2),"//")?(g+=2,w=eue(e,g,$M,zM),r=(Ga(g,w,e.length),e.substr(g,w-g)),g=w):L!=null&&(g==e.length||(Xn(g,e.length),e.charCodeAt(g)!=47))&&(f=!1,w=Mye(e,ll(35),g),w==-1&&(w=e.length),r=(Ga(g,w,e.length),e.substr(g,w-g)),g=w);if(!n&&g0&&ao(C,C.length-1)==58&&(a=C,g=w)),gYue(o))&&(L=o);for(!L&&(L=(Sn(0,te.c.length),l(te.c[0],185))),J=new G(t.b);J.aL&&(jn=0,ur+=C+_t,C=0),dmt(Je,f,jn,ur),t=b.Math.max(t,jn+ot.a),C=b.Math.max(C,ot.b),jn+=ot.a+_t;for($e=new Pr,n=new Pr,an=new G(e);an.a=-1900?1:0,n>=4?fi(e,he(le(zt,1),dt,2,6,[$wt,zwt])[g]):fi(e,he(le(zt,1),dt,2,6,["BC","AD"])[g]);break;case 121:d6n(e,n,r);break;case 77:I_n(e,n,r);break;case 107:w=a.q.getHours(),w==0?sg(e,24,n):sg(e,w,n);break;case 83:UTn(e,n,a);break;case 69:C=r.q.getDay(),n==5?fi(e,he(le(zt,1),dt,2,6,["S","M","T","W","T","F","S"])[C]):n==4?fi(e,he(le(zt,1),dt,2,6,[Jle,Zle,ehe,the,nhe,rhe,ihe])[C]):fi(e,he(le(zt,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:a.q.getHours()>=12&&a.q.getHours()<24?fi(e,he(le(zt,1),dt,2,6,["AM","PM"])[1]):fi(e,he(le(zt,1),dt,2,6,["AM","PM"])[0]);break;case 104:L=a.q.getHours()%12,L==0?sg(e,12,n):sg(e,L,n);break;case 75:B=a.q.getHours()%12,sg(e,B,n);break;case 72:z=a.q.getHours(),sg(e,z,n);break;case 99:V=r.q.getDay(),n==5?fi(e,he(le(zt,1),dt,2,6,["S","M","T","W","T","F","S"])[V]):n==4?fi(e,he(le(zt,1),dt,2,6,[Jle,Zle,ehe,the,nhe,rhe,ihe])[V]):n==3?fi(e,he(le(zt,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[V]):sg(e,V,1);break;case 76:J=r.q.getMonth(),n==5?fi(e,he(le(zt,1),dt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[J]):n==4?fi(e,he(le(zt,1),dt,2,6,[zle,qle,Hle,Vle,_x,Ule,Gle,Kle,Wle,Yle,Xle,Qle])[J]):n==3?fi(e,he(le(zt,1),dt,2,6,["Jan","Feb","Mar","Apr",_x,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[J]):sg(e,J+1,n);break;case 81:te=r.q.getMonth()/3|0,n<4?fi(e,he(le(zt,1),dt,2,6,["Q1","Q2","Q3","Q4"])[te]):fi(e,he(le(zt,1),dt,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[te]);break;case 100:fe=r.q.getDate(),sg(e,fe,n);break;case 109:E=a.q.getMinutes(),sg(e,E,n);break;case 115:f=a.q.getSeconds(),sg(e,f,n);break;case 122:n<4?fi(e,o.c[0]):fi(e,o.c[1]);break;case 118:fi(e,o.b);break;case 90:n<3?fi(e,Rkn(o)):n==3?fi(e,Hkn(o)):fi(e,Vkn(o.a));break;default:return!1}return!0}function Yke(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur,oi;if(nmt(t),w=l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84),C=l(Oe((!t.c&&(t.c=new An(Sr,t,5,8)),t.c),0),84),g=mc(w),E=mc(C),f=(!t.a&&(t.a=new nt(os,t,6,6)),t.a).i==0?null:l(Oe((!t.a&&(t.a=new nt(os,t,6,6)),t.a),0),166),_t=l(cr(e.a,g),10),jn=l(cr(e.a,E),10),on=null,ur=null,De(w,193)&&(ot=l(cr(e.a,w),305),De(ot,12)?on=l(ot,12):De(ot,10)&&(_t=l(ot,10),on=l(jt(_t.j,0),12))),De(C,193)&&(Fn=l(cr(e.a,C),305),De(Fn,12)?ur=l(Fn,12):De(Fn,10)&&(jn=l(Fn,10),ur=l(jt(jn.j,0),12))),!_t||!jn)throw ue(new I8("The source or the target of edge "+t+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(J=new Sw,bc(J,t),rt(J,(ft(),zi),t),rt(J,(Nt(),uc),null),z=l(Q(r,Ou),21),_t==jn&&z.Fc((Ho(),GL)),on||(Je=(qo(),Hu),an=null,f&&P5(l(Q(_t,Ds),101))&&(an=new lt(f.j,f.k),Gct(an,WO(t)),yut(an,n),My(E,g)&&(Je=zl,Ni(an,_t.n))),on=rvt(_t,an,Je,r)),ur||(Je=(qo(),zl),oi=null,f&&P5(l(Q(jn,Ds),101))&&(oi=new lt(f.b,f.c),Gct(oi,WO(t)),yut(oi,n)),ur=rvt(jn,oi,Je,eo(jn))),fo(J,on),Ba(J,ur),(on.e.c.length>1||on.g.c.length>1||ur.e.c.length>1||ur.g.c.length>1)&&z.Fc((Ho(),UL)),B=new or((!t.n&&(t.n=new nt(tc,t,1,7)),t.n));B.e!=B.i.gc();)if(L=l(gr(B),135),!Rt(Bt(at(L,mv)))&&L.a)switch(te=Nce(L),vt(J.b,te),l(Q(te,Bd),278).g){case 1:case 2:z.Fc((Ho(),jT));break;case 0:z.Fc((Ho(),RT)),rt(te,Bd,(N1(),nC))}if(o=l(Q(r,JL),322),fe=l(Q(r,xW),323),a=o==(dA(),mB)||fe==(OA(),wde),f&&(!f.a&&(f.a=new Ws(Hh,f,5)),f.a).i!=0&&a){for(Te=QN(f),V=new wl,$e=Rr(Te,0);$e.b!=$e.d.c;)Me=l(Br($e),8),li(V,new xo(Me));rt(J,HLe,V)}return J}function QIn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur,oi,ys;for(an=0,Fn=0,_t=new Pr,Je=l(gh(wy(dc(new bn(null,new kn(e.b,16)),new Zte),new ane)),17).a+1,on=We(Vr,gi,28,Je,15,1),te=We(Vr,gi,28,Je,15,1),J=0;J1)for(g=ur+1;gE.b.e.b*(1-fe)+E.c.e.b*fe));V++);if(ot.gc()>0&&(oi=E.a.b==0?Ja(E.b.e):l(a0(E.a),8),Me=Ni(Ja(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),B=Ni(Ja(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&oi.b>Me.b&&E.c.e.b>Me.b||V<=0&&oi.bE.b.e.a*(1-fe)+E.c.e.a*fe));V++);if(ot.gc()>0&&(oi=E.a.b==0?Ja(E.b.e):l(a0(E.a),8),Me=Ni(Ja(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),B=Ni(Ja(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&oi.a>Me.a&&E.c.e.a>Me.a||V<=0&&oi.a=ze(Ge(Q(e,(Qi(),sIe))))&&++Fn):(z.f&&z.d.e.a<=ze(Ge(Q(e,(Qi(),Fde))))&&++an,z.g&&z.c.e.a+z.c.f.a>=ze(Ge(Q(e,(Qi(),iIe))))&&++Fn)}else $e==0?m9e(E):$e<0&&(++on[ur],++te[ys],jn=GIn(E,t,e,new ua(pt(an),pt(Fn)),n,r,new ua(pt(te[ys]),pt(on[ur]))),an=l(jn.a,17).a,Fn=l(jn.b,17).a)}function JIn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;if(r=t,w=n,e.b&&r.j==(St(),er)&&w.j==(St(),er)&&(Te=r,r=w,w=Te),Uu(e.a,r)){if(G0(l(cr(e.a,r),49),w))return 1}else Ei(e.a,r,new Gs);if(Uu(e.a,w)){if(G0(l(cr(e.a,w),49),r))return-1}else Ei(e.a,w,new Gs);if(Uu(e.d,r)){if(G0(l(cr(e.d,r),49),w))return-1}else Ei(e.d,r,new Gs);if(Uu(e.d,w)){if(G0(l(cr(e.a,w),49),r))return 1}else Ei(e.d,w,new Gs);if(r.j!=w.j)return fe=$ln(r.j,w.j),fe==-1?ff(e,w,r):ff(e,r,w),fe;if(r.e.c.length!=0&&w.e.c.length!=0){if(e.b&&(fe=z0t(r,w),fe!=0))return fe==-1?ff(e,w,r):fe==1&&ff(e,r,w),fe;if(o=l(jt(r.e,0),18).c.i,C=l(jt(w.e,0),18).c.i,o==C)return a=l(Q(l(jt(r.e,0),18),(ft(),Ki)),17).a,E=l(Q(l(jt(w.e,0),18),Ki),17).a,a>E?ff(e,r,w):ff(e,w,r),aE?1:0;for(V=e.c,J=0,te=V.length;JE?ff(e,r,w):ff(e,w,r),aE?1:0):e.b&&(fe=z0t(r,w),fe!=0)?(fe==-1?ff(e,w,r):fe==1&&ff(e,r,w),fe):(f=0,L=0,ts(l(jt(r.g,0),18),Ki)&&(f=l(Q(l(jt(r.g,0),18),Ki),17).a),ts(l(jt(w.g,0),18),Ki)&&(L=l(Q(l(jt(r.g,0),18),Ki),17).a),g&&g==B?Rt(Bt(Q(l(jt(r.g,0),18),U1)))&&!Rt(Bt(Q(l(jt(w.g,0),18),U1)))?(ff(e,r,w),1):!Rt(Bt(Q(l(jt(r.g,0),18),U1)))&&Rt(Bt(Q(l(jt(w.g,0),18),U1)))?(ff(e,w,r),-1):(f>L?ff(e,r,w):ff(e,w,r),fL?1:0):(e.f&&(e.f._b(g)&&(f=l(e.f.xc(g),17).a),e.f._b(B)&&(L=l(e.f.xc(B),17).a)),f>L?ff(e,r,w):ff(e,w,r),fL?1:0))):r.e.c.length!=0&&w.g.c.length!=0?(ff(e,r,w),1):r.g.c.length!=0&&w.e.c.length!=0?(ff(e,w,r),-1):ts(r,(ft(),Ki))&&ts(w,Ki)?(a=l(Q(r,Ki),17).a,E=l(Q(w,Ki),17).a,a>E?ff(e,r,w):ff(e,w,r),aE?1:0):(ff(e,w,r),-1)}function ZIn(e){e.gb||(e.gb=!0,e.b=Vc(e,0),As(e.b,18),rs(e.b,19),e.a=Vc(e,1),As(e.a,1),rs(e.a,2),rs(e.a,3),rs(e.a,4),rs(e.a,5),e.o=Vc(e,2),As(e.o,8),As(e.o,9),rs(e.o,10),rs(e.o,11),rs(e.o,12),rs(e.o,13),rs(e.o,14),rs(e.o,15),rs(e.o,16),rs(e.o,17),rs(e.o,18),rs(e.o,19),rs(e.o,20),rs(e.o,21),rs(e.o,22),rs(e.o,23),ac(e.o),ac(e.o),ac(e.o),ac(e.o),ac(e.o),ac(e.o),ac(e.o),ac(e.o),ac(e.o),ac(e.o),e.p=Vc(e,3),As(e.p,2),As(e.p,3),As(e.p,4),As(e.p,5),rs(e.p,6),rs(e.p,7),ac(e.p),ac(e.p),e.q=Vc(e,4),As(e.q,8),e.v=Vc(e,5),rs(e.v,9),ac(e.v),ac(e.v),ac(e.v),e.w=Vc(e,6),As(e.w,2),As(e.w,3),As(e.w,4),rs(e.w,5),e.B=Vc(e,7),rs(e.B,1),ac(e.B),ac(e.B),ac(e.B),e.Q=Vc(e,8),rs(e.Q,0),ac(e.Q),e.R=Vc(e,9),As(e.R,1),e.S=Vc(e,10),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),ac(e.S),e.T=Vc(e,11),rs(e.T,10),rs(e.T,11),rs(e.T,12),rs(e.T,13),rs(e.T,14),ac(e.T),ac(e.T),e.U=Vc(e,12),As(e.U,2),As(e.U,3),rs(e.U,4),rs(e.U,5),rs(e.U,6),rs(e.U,7),ac(e.U),e.V=Vc(e,13),rs(e.V,10),e.W=Vc(e,14),As(e.W,18),As(e.W,19),As(e.W,20),rs(e.W,21),rs(e.W,22),rs(e.W,23),e.bb=Vc(e,15),As(e.bb,10),As(e.bb,11),As(e.bb,12),As(e.bb,13),As(e.bb,14),As(e.bb,15),As(e.bb,16),rs(e.bb,17),ac(e.bb),ac(e.bb),e.eb=Vc(e,16),As(e.eb,2),As(e.eb,3),As(e.eb,4),As(e.eb,5),As(e.eb,6),As(e.eb,7),rs(e.eb,8),rs(e.eb,9),e.ab=Vc(e,17),As(e.ab,0),As(e.ab,1),e.H=Vc(e,18),rs(e.H,0),rs(e.H,1),rs(e.H,2),rs(e.H,3),rs(e.H,4),rs(e.H,5),ac(e.H),e.db=Vc(e,19),rs(e.db,2),e.c=Ci(e,20),e.d=Ci(e,21),e.e=Ci(e,22),e.f=Ci(e,23),e.i=Ci(e,24),e.g=Ci(e,25),e.j=Ci(e,26),e.k=Ci(e,27),e.n=Ci(e,28),e.r=Ci(e,29),e.s=Ci(e,30),e.t=Ci(e,31),e.u=Ci(e,32),e.fb=Ci(e,33),e.A=Ci(e,34),e.C=Ci(e,35),e.D=Ci(e,36),e.F=Ci(e,37),e.G=Ci(e,38),e.I=Ci(e,39),e.J=Ci(e,40),e.L=Ci(e,41),e.M=Ci(e,42),e.N=Ci(e,43),e.O=Ci(e,44),e.P=Ci(e,45),e.X=Ci(e,46),e.Y=Ci(e,47),e.Z=Ci(e,48),e.$=Ci(e,49),e._=Ci(e,50),e.cb=Ci(e,51),e.K=Ci(e,52))}function eOn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur;for(f=new as,ot=l(Q(n,(Nt(),jh)),88),J=0,Ka(f,(!t.a&&(t.a=new nt(Li,t,10,11)),t.a));f.b!=0;)C=l(f.b==0?null:(mr(f.b!=0),sf(f,f.a.a)),27),E=gs(C),(qe(at(E,wg))!==qe((yd(),T2))||qe(at(E,dv))===qe((h2(),BT))||qe(at(E,dv))===qe((h2(),PT))||Rt(Bt(at(E,g3)))||qe(at(E,p4))!==qe((Km(),u4))||qe(at(E,qb))===qe((Of(),y3))||qe(at(E,qb))===qe((Of(),k4))||qe(at(E,pv))===qe((b2(),WT))||qe(at(E,pv))===qe((b2(),YT)))&&!Rt(Bt(at(C,dW)))&&Hi(C,(ft(),Ki),pt(J++)),fe=!Rt(Bt(at(C,mv))),fe&&(B=(!C.a&&(C.a=new nt(Li,C,10,11)),C.a).i!=0,V=Lxn(C),z=qe(at(C,b4))===qe((np(),L2)),ur=!I1(C,(bi(),eC))||Aut(Zr(at(C,eC))),$e=null,ur&&z&&(B||V)&&($e=Fmt(C),rt($e,jh,ot),ts($e,CB)&&BJe(new I8e(ze(Ge(Q($e,CB)))),$e),l(at(C,bv),181).gc()!=0&&(L=$e,Os(new bn(null,(!C.c&&(C.c=new nt(Vl,C,9,9)),new kn(C.c,16))),new HWe(L)),Lbt(C,$e))),_t=n,on=l(cr(e.a,gs(C)),10),on&&(_t=on.e),Me=lwt(e,C,_t),$e&&(Me.e=$e,$e.e=Me,Ka(f,(!C.a&&(C.a=new nt(Li,C,10,11)),C.a))));for(J=0,_s(f,t,f.c.b,f.c);f.b!=0;){for(o=l(f.b==0?null:(mr(f.b!=0),sf(f,f.a.a)),27),w=new or((!o.b&&(o.b=new nt(js,o,12,3)),o.b));w.e!=w.i.gc();)g=l(gr(w),74),nmt(g),(qe(at(t,wg))!==qe((yd(),T2))||qe(at(t,dv))===qe((h2(),BT))||qe(at(t,dv))===qe((h2(),PT))||Rt(Bt(at(t,g3)))||qe(at(t,p4))!==qe((Km(),u4))||qe(at(t,qb))===qe((Of(),y3))||qe(at(t,qb))===qe((Of(),k4))||qe(at(t,pv))===qe((b2(),WT))||qe(at(t,pv))===qe((b2(),YT)))&&Hi(g,(ft(),Ki),pt(J++)),Fn=mc(l(Oe((!g.b&&(g.b=new An(Sr,g,4,7)),g.b),0),84)),jn=mc(l(Oe((!g.c&&(g.c=new An(Sr,g,5,8)),g.c),0),84)),!(Rt(Bt(at(g,mv)))||Rt(Bt(at(Fn,mv)))||Rt(Bt(at(jn,mv))))&&(te=Vw(g)&&Rt(Bt(at(Fn,m4)))&&Rt(Bt(at(g,gv))),Je=o,te||My(jn,Fn)?Je=Fn:My(Fn,jn)&&(Je=jn),_t=n,on=l(cr(e.a,Je),10),on&&(_t=on.e),Te=Yke(e,g,Je,_t),rt(Te,(ft(),jLe),eSn(e,g,t,n)));if(z=qe(at(o,b4))===qe((np(),L2)),z)for(a=new or((!o.a&&(o.a=new nt(Li,o,10,11)),o.a));a.e!=a.i.gc();)r=l(gr(a),27),ur=!I1(r,(bi(),eC))||Aut(Zr(at(r,eC))),an=qe(at(r,b4))===qe(L2),ur&&an&&_s(f,r,f.c.b,f.c)}}function ft(){ft=U;var e,t;zi=new Ui(PEe),jLe=new Ui("coordinateOrigin"),W1e=new Ui("processors"),RLe=new ws("compoundNode",(Vn(),!1)),xB=new ws("insideConnections",!1),HLe=new Ui("originalBendpoints"),VLe=new Ui("originalDummyNodePosition"),ULe=new Ui("originalLabelEdge"),WL=new Ui("representedLabels"),KL=new Ui("endLabels"),Kx=new Ui("endLabel.origin"),Yx=new ws("labelSide",(Oh(),eF)),R6=new ws("maxEdgeThickness",0),U1=new ws("reversed",!1),Xx=new Ui(_3t),s1=new ws("longEdgeSource",null),jf=new ws("longEdgeTarget",null),d4=new ws("longEdgeHasLabelDummies",!1),kB=new ws("longEdgeBeforeLabelDummy",!1),aW=new ws("edgeConstraint",(Vm(),D1e)),h3=new Ui("inLayerLayoutUnit"),hv=new ws("inLayerConstraint",(Zg(),wB)),Wx=new ws("inLayerSuccessorConstraint",new bt),qLe=new ws("inLayerSuccessorConstraintBetweenNonDummies",!1),$l=new Ui("portDummy"),sW=new ws("crossingHint",pt(0)),Ou=new ws("graphProperties",(t=l(U0(R1e),9),new Jh(t,l(o0(t,t.length),9),0))),Xc=new ws("externalPortSide",(St(),Fc)),zLe=new ws("externalPortSize",new qa),H1e=new Ui("externalPortReplacedDummies"),oW=new Ui("externalPortReplacedDummy"),gp=new ws("externalPortConnections",(e=l(U0(Do),9),new Jh(e,l(o0(e,e.length),9),0))),f3=new ws(v3t,0),FLe=new Ui("barycenterAssociates"),Qx=new Ui("TopSideComments"),Gx=new Ui("BottomSideComments"),iW=new Ui("CommentConnectionPort"),U1e=new ws("inputCollect",!1),K1e=new ws("outputCollect",!1),yB=new ws("cyclic",!1),$Le=new Ui("crossHierarchyMap"),X1e=new Ui("targetOffset"),new ws("splineLabelSize",new qa),$6=new Ui("spacings"),cW=new ws("partitionConstraint",!1),l3=new Ui("breakingPoint.info"),WLe=new Ui("splines.survivingEdge"),fv=new Ui("splines.route.start"),z6=new Ui("splines.edgeChain"),KLe=new Ui("originalPortConstraints"),d3=new Ui("selfLoopHolder"),zT=new Ui("splines.nsPortY"),Ki=new Ui("modelOrder"),G1e=new Ui("longEdgeTargetNode"),$b=new ws(Z3t,!1),j6=new ws(Z3t,!1),V1e=new Ui("layerConstraints.hiddenNodes"),GLe=new Ui("layerConstraints.opposidePort"),Y1e=new Ui("targetNode.modelOrder")}function tOn(e,t,n,r){var a,o,f,g,w,E,C,L,B,z,V;for(L=Rr(e.b,0);L.b!=L.d.c;)if(C=l(Br(L),40),!wn(C.c,IG))for(o=l(kc(new bn(null,new kn(lEn(C,e),16)),Bl(new zr,new ht,new Nn,he(le(cc,1),it,108,0,[(Rl(),Cc)]))),15),t==(Qs(),lc)||t==wc?o.jd(new rne):o.jd(new c$),V=o.gc(),a=0;a0&&(g=l(a0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-B)/40)>50&&(z>w?yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f-r/2)):yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f+r/2)))),yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a,C.e.b+C.f.b*f))):t==wc?(E=ze(Ge(Q(C,(Qi(),a1)))),C.e.a-r>E?yo(l(o.Xb(a),65).a,new lt(E-n,C.e.b+C.f.b*f)):l(o.Xb(a),65).a.b>0&&(g=l(a0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-B)/40)>50&&(z>w?yo(l(o.Xb(a),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f-r/2)):yo(l(o.Xb(a),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f+r/2)))),yo(l(o.Xb(a),65).a,new lt(C.e.a,C.e.b+C.f.b*f))):t==vf?(E=ze(Ge(Q(C,(Qi(),x0)))),C.e.b+C.f.b+r0&&(g=l(a0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-B)/(b.Math.abs(w-z)/40)>50&&(B>g?yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b+r/5.3+C.f.b)):yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b+r/5.3+C.f.b)))),yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,C.e.b+C.f.b))):(E=ze(Ge(Q(C,(Qi(),a1)))),_0t(l(o.Xb(a),65),e)?yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,l(a0(l(o.Xb(a),65).a),8).b)):C.e.b-r>E?yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,E-n)):l(o.Xb(a),65).a.b>0&&(g=l(a0(l(o.Xb(a),65).a),8).a,B=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(a),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-B)/(b.Math.abs(w-z)/40)>50&&(B>g?yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b-r/5.3)):yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b-r/5.3)))),yo(l(o.Xb(a),65).a,new lt(C.e.a+C.f.a*f,C.e.b)))}function bi(){bi=U;var e,t;eC=new Ui(Ryt),a7=new Ui(jyt),tNe=(ag(),_ge),MSt=new pn(HTe,tNe),Z6=new pn(Ox,null),DSt=new Ui(nSe),rNe=(Ym(),ns(Mge,he(le(Dge,1),it,298,0,[Lge]))),UB=new pn(_G,rNe),GB=new pn(VP,(Vn(),!1)),iNe=(Qs(),Y1),xv=new pn(pfe,iNe),oNe=(rp(),Vge),aNe=new pn(HP,oNe),NSt=new pn(eSe,!1),lNe=(np(),cY),n7=new pn(SG,lNe),wNe=new fw(12),A2=new pn(Jw,wNe),WB=new pn(hL,!1),Pge=new pn(LG,!1),YB=new pn(fL,!1),TNe=(Fa(),Yb),_M=new pn(Phe,TNe),n9=new Ui(AG),XB=new Ui(NP),qge=new Ui(cG),Hge=new Ui(lL),hNe=new wl,E3=new pn(eCe,hNe),OSt=new pn(rCe,!1),PSt=new pn(iCe,!1),fNe=new s_,tC=new pn(aCe,fNe),iY=new pn(zTe,!1),jSt=new pn($yt,1),t7=new Ui(zyt),e7=new Ui(qyt),AM=new pn(PP,!1),new pn(Hyt,!0),pt(0),new pn(Vyt,pt(100)),new pn(Uyt,!1),pt(0),new pn(Gyt,pt(4e3)),pt(0),new pn(Kyt,pt(400)),new pn(Wyt,!1),new pn(Yyt,!1),new pn(Xyt,!0),new pn(Qyt,!1),nNe=(UV(),Wge),ISt=new pn(tSe,nNe),$St=new pn(MTe,10),zSt=new pn(DTe,10),ANe=new pn(Ahe,20),qSt=new pn(ITe,10),LNe=new pn(Nhe,2),MNe=new pn(gfe,10),DNe=new pn(OTe,0),sY=new pn(BTe,5),INe=new pn(NTe,1),ONe=new pn(PTe,1),Ev=new pn(Zy,20),HSt=new pn(FTe,10),BNe=new pn(RTe,10),r9=new Ui(jTe),PNe=new int,NNe=new pn(oCe,PNe),FSt=new Ui(mfe),yNe=!1,BSt=new pn(bfe,yNe),gNe=new fw(5),dNe=new pn(GTe,gNe),pNe=(Hy(),t=l(U0(Ko),9),new Jh(t,l(o0(t,t.length),9),0)),r7=new pn(fT,pNe),kNe=(t6(),Wb),xNe=new pn(YTe,kNe),Fge=new Ui(XTe),Rge=new Ui(QTe),jge=new Ui(JTe),Bge=new Ui(ZTe),bNe=(e=l(U0(BM),9),new Jh(e,l(o0(e,e.length),9),0)),kv=new pn(x6,bNe),vNe=un((eh(),aC)),Gb=new pn(Nx,vNe),mNe=new lt(0,0),i7=new pn(Px,mNe),S4=new pn(hT,!1),sNe=(N1(),nC),Oge=new pn(tCe,sNe),Ige=new pn(uG,!1),pt(1),new pn(Jyt,null),ENe=new Ui(sCe),$ge=new Ui(nCe),_Ne=(St(),Fc),s7=new pn(qTe,_Ne),ih=new Ui($Te),CNe=(jl(),un(Xb)),_4=new pn(dT,CNe),zge=new pn(KTe,!1),SNe=new pn(WTe,!0),oY=new pn(BP,1),FNe=new pn(rSe,null),QB=new pn(FP,150),aY=new pn(RP,1.414),i9=new pn(Zw,null),VSt=new pn(iSe,1),KB=new pn(VTe,!1),Nge=new pn(UTe,!1),cNe=new pn(Lhe,1),uNe=(wU(),Gge),new pn(Zyt,uNe),RSt=!0,GSt=(dx(),M4),KSt=M4,USt=M4}function bo(){bo=U,BAe=new Ks("DIRECTION_PREPROCESSOR",0),OAe=new Ks("COMMENT_PREPROCESSOR",1),D6=new Ks("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),d1e=new Ks("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),tLe=new Ks("PARTITION_PREPROCESSOR",4),IK=new Ks("LABEL_DUMMY_INSERTER",5),qK=new Ks("SELF_LOOP_PREPROCESSOR",6),h4=new Ks("LAYER_CONSTRAINT_PREPROCESSOR",7),ZAe=new Ks("PARTITION_MIDPROCESSOR",8),VAe=new Ks("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),QAe=new Ks("NODE_PROMOTION",10),l4=new Ks("LAYER_CONSTRAINT_POSTPROCESSOR",11),eLe=new Ks("PARTITION_POSTPROCESSOR",12),zAe=new Ks("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),nLe=new Ks("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),_Ae=new Ks("BREAKING_POINT_INSERTER",15),BK=new Ks("LONG_EDGE_SPLITTER",16),g1e=new Ks("PORT_SIDE_PROCESSOR",17),MK=new Ks("INVERTED_PORT_PROCESSOR",18),jK=new Ks("PORT_LIST_SORTER",19),iLe=new Ks("SORT_BY_INPUT_ORDER_OF_MODEL",20),RK=new Ks("NORTH_SOUTH_PORT_PREPROCESSOR",21),AAe=new Ks("BREAKING_POINT_PROCESSOR",22),JAe=new Ks(U3t,23),sLe=new Ks(G3t,24),$K=new Ks("SELF_LOOP_PORT_RESTORER",25),rLe=new Ks("SINGLE_EDGE_GRAPH_WRAPPER",26),DK=new Ks("IN_LAYER_CONSTRAINT_PROCESSOR",27),RAe=new Ks("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),YAe=new Ks("LABEL_AND_NODE_SIZE_PROCESSOR",29),WAe=new Ks("INNERMOST_NODE_MARGIN_CALCULATOR",30),HK=new Ks("SELF_LOOP_ROUTER",31),DAe=new Ks("COMMENT_NODE_MARGIN_CALCULATOR",32),LK=new Ks("END_LABEL_PREPROCESSOR",33),NK=new Ks("LABEL_DUMMY_SWITCHER",34),MAe=new Ks("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),LT=new Ks("LABEL_SIDE_SELECTOR",36),GAe=new Ks("HYPEREDGE_DUMMY_MERGER",37),qAe=new Ks("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),XAe=new Ks("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),zL=new Ks("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),NAe=new Ks("CONSTRAINTS_POSTPROCESSOR",41),IAe=new Ks("COMMENT_POSTPROCESSOR",42),KAe=new Ks("HYPERNODE_PROCESSOR",43),HAe=new Ks("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),PK=new Ks("LONG_EDGE_JOINER",45),zK=new Ks("SELF_LOOP_POSTPROCESSOR",46),LAe=new Ks("BREAKING_POINT_REMOVER",47),FK=new Ks("NORTH_SOUTH_PORT_POSTPROCESSOR",48),UAe=new Ks("HORIZONTAL_COMPACTOR",49),OK=new Ks("LABEL_DUMMY_REMOVER",50),jAe=new Ks("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),FAe=new Ks("END_LABEL_SORTER",52),gB=new Ks("REVERSED_EDGE_RESTORER",53),AK=new Ks("END_LABEL_POSTPROCESSOR",54),$Ae=new Ks("HIERARCHICAL_NODE_RESIZER",55),PAe=new Ks("DIRECTION_POSTPROCESSOR",56)}function Xke(){Xke=U,sMe=(pN(),QK),s9t=new pn(UEe,sMe),m9t=new pn(GEe,(Vn(),!1)),hMe=(qH(),q1e),k9t=new pn(dG,hMe),F9t=new pn(KEe,!1),R9t=new pn(WEe,!0),Dxt=new pn(YEe,!1),wMe=(dN(),Ede),Z9t=new pn(XEe,wMe),pt(1),okt=new pn(QEe,pt(7)),ckt=new pn(JEe,!1),v9t=new pn(ZEe,!1),iMe=(h2(),L1e),i9t=new pn(qhe,iMe),gMe=(b2(),pde),B9t=new pn(qP,gMe),fMe=(lf(),EB),A9t=new pn(eTe,fMe),pt(-1),_9t=new pn(tTe,null),pt(-1),L9t=new pn(nTe,pt(-1)),pt(-1),M9t=new pn(Hhe,pt(4)),pt(-1),I9t=new pn(Vhe,pt(2)),dMe=(Of(),LW),P9t=new pn(Uhe,dMe),pt(0),N9t=new pn(Ghe,pt(0)),C9t=new pn(Khe,pt(Oi)),rMe=(dA(),HL),r9t=new pn(pL,rMe),qxt=new pn(rTe,!1),Yxt=new pn(Whe,.1),t9t=new pn(Yhe,!1),Qxt=new pn(iTe,null),Jxt=new pn(sTe,null),pt(-1),Zxt=new pn(aTe,null),pt(-1),e9t=new pn(oTe,pt(-1)),pt(0),Hxt=new pn(cTe,pt(40)),nMe=(vE(),$1e),Kxt=new pn(Xhe,nMe),tMe=vB,Vxt=new pn(gG,tMe),vMe=(OA(),rM),J9t=new pn(k6,vMe),H9t=new Ui(pG),pMe=(cN(),ZK),j9t=new pn(Qhe,pMe),bMe=(WN(),eW),z9t=new pn(Jhe,bMe),G9t=new pn(Zhe,.3),W9t=new Ui(efe),mMe=(Fy(),AW),Y9t=new pn(tfe,mMe),cMe=(MV(),Cde),l9t=new pn(uTe,cMe),uMe=(yA(),_de),h9t=new pn(lTe,uMe),lMe=(SE(),aM),f9t=new pn(bG,lMe),g9t=new pn(mG,.2),c9t=new pn(nfe,2),rkt=new pn(hTe,null),skt=new pn(fTe,10),ikt=new pn(dTe,10),akt=new pn(gTe,20),pt(0),ekt=new pn(pTe,pt(0)),pt(0),tkt=new pn(bTe,pt(0)),pt(0),nkt=new pn(mTe,pt(0)),Ixt=new pn(rfe,!1),QLe=(zE(),VL),Nxt=new pn(vTe,QLe),XLe=(ZH(),_1e),Oxt=new pn(wTe,XLe),y9t=new pn(vG,!1),pt(0),w9t=new pn(ife,pt(16)),pt(0),x9t=new pn(sfe,pt(5)),kMe=(NV(),Mde),Akt=new pn(hp,kMe),ukt=new pn(wG,10),fkt=new pn(yG,1),xMe=(bV(),XK),wkt=new pn(bL,xMe),pkt=new Ui(afe),yMe=pt(1),pt(0),mkt=new pn(ofe,yMe),EMe=(pV(),Lde),Ikt=new pn(xG,EMe),Lkt=new Ui(kG),Tkt=new pn(EG,!0),kkt=new pn(TG,2),Skt=new pn(cfe,!0),oMe=(xU(),JK),o9t=new pn(yTe,oMe),aMe=(yx(),OT),a9t=new pn(xTe,aMe),eMe=(yd(),T2),zxt=new pn(CG,eMe),$xt=new pn(kTe,!1),jxt=new pn(ETe,!1),JLe=(Km(),u4),Pxt=new pn(ufe,JLe),ZLe=(EA(),bde),Rxt=new pn(TTe,ZLe),Bxt=new pn(lfe,0),Fxt=new pn(hfe,0),T9t=M1e,E9t=mB,D9t=SW,O9t=SW,S9t=gde,Xxt=(np(),L2),n9t=HL,Wxt=HL,Uxt=HL,Gxt=L2,V9t=iM,U9t=rM,$9t=rM,q9t=rM,K9t=yde,Q9t=iM,X9t=iM,d9t=(rp(),s9),p9t=s9,b9t=aM,u9t=JB,lkt=XT,hkt=E4,dkt=XT,gkt=E4,ykt=XT,xkt=E4,bkt=A1e,vkt=XK,Okt=XT,Nkt=E4,Mkt=XT,Dkt=E4,Ckt=E4,Ekt=E4,_kt=E4}function nOn(e,t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn,jn,ur,oi,ys,Ul,hc,Vh,f7,B2,A0,L0,_v,h9,im,f9,jd,Sg,A3,d9,d7,$d,Av,wp,NAt,aBe,L3,YM,hpe,g9,XM,R4,QM,fpe,PAt;for(aBe=0,oi=t,hc=0,B2=oi.length;hc0&&(e.a[jd.p]=aBe++)}for(XM=0,ys=n,Vh=0,A0=ys.length;Vh0;){for(jd=(mr(d7.b>0),l(d7.a.Xb(d7.c=--d7.b),12)),d9=0,g=new G(jd.e);g.a0&&(jd.j==(St(),Qn)?(e.a[jd.p]=XM,++XM):(e.a[jd.p]=XM+L0+h9,++h9))}XM+=h9}for(A3=new Pr,V=new dd,ur=t,Ul=0,f7=ur.length;UlE.b&&(E.b=$d)):jd.i.c==NAt&&($dE.c&&(E.c=$d));for(nE(J,0,J.length,null),g9=We(Vr,gi,28,J.length,15,1),r=We(Vr,gi,28,XM+1,15,1),fe=0;fe0;)_t%2>0&&(a+=fpe[_t+1]),_t=(_t-1)/2|0,++fpe[_t];for(an=We(IEt,Rn,374,J.length*2,0,1),$e=0;$e0&&GO(Ul.f),at(fe,FNe)!=null&&(g=l(at(fe,FNe),347),A3=g.Tg(fe),F5(fe,b.Math.max(fe.g,A3.a),b.Math.max(fe.f,A3.b)));if(A0=l(at(t,A2),107),z=t.g-(A0.b+A0.c),B=t.f-(A0.d+A0.a),$d.bh("Available Child Area: ("+z+"|"+B+")"),Hi(t,Z6,z/B),odt(t,a,r.eh(f7)),l(at(t,i9),280)==gY&&(Gke(t),F5(t,A0.b+ze(Ge(at(t,t7)))+A0.c,A0.d+ze(Ge(at(t,e7)))+A0.a)),$d.bh("Executed layout algorithm: "+Zr(at(t,eC))+" on node "+t.k),l(at(t,i9),280)==M4){if(z<0||B<0)throw ue(new Up("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+t.k));for(I1(t,t7)||I1(t,e7)||Gke(t),J=ze(Ge(at(t,t7))),V=ze(Ge(at(t,e7))),$d.bh("Desired Child Area: ("+J+"|"+V+")"),_v=z/J,h9=B/V,L0=b.Math.min(_v,b.Math.min(h9,ze(Ge(at(t,VSt))))),Hi(t,oY,L0),$d.bh(t.k+" -- Local Scale Factor (X|Y): ("+_v+"|"+h9+")"),$e=l(at(t,UB),21),o=0,f=0,L0<_v&&($e.Hc((Ym(),EM))?o=(z/2-J*L0/2)/L0:$e.Hc(TM)&&(o=(z-J*L0)/L0)),L0'?":wn(D4t,e)?"'(?<' or '(? toIndex: ",dEe=", toIndex: ",gEe="Index: ",pEe=", Size: ",oT="org.eclipse.elk.alg.common",ri={50:1},e3t="org.eclipse.elk.alg.common.compaction",t3t="Scanline/EventHandler",dg="org.eclipse.elk.alg.common.compaction.oned",n3t="CNode belongs to another CGroup.",r3t="ISpacingsHandler/1",bhe="The ",mhe=" instance has been finished already.",i3t="The direction ",s3t=" is not supported by the CGraph instance.",a3t="OneDimensionalCompactor",o3t="OneDimensionalCompactor/lambda$0$Type",c3t="Quadruplet",u3t="ScanlineConstraintCalculator",l3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler",h3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",f3t="ScanlineConstraintCalculator/Timestamp",d3t="ScanlineConstraintCalculator/lambda$0$Type",Sd={178:1,46:1},vhe="org.eclipse.elk.alg.common.compaction.options",Bc="org.eclipse.elk.core.data",bEe="org.eclipse.elk.polyomino.traversalStrategy",mEe="org.eclipse.elk.polyomino.lowLevelSort",vEe="org.eclipse.elk.polyomino.highLevelSort",wEe="org.eclipse.elk.polyomino.fill",Nf={134:1},whe="polyomino",oL="org.eclipse.elk.alg.common.networksimplex",gg={183:1,3:1,4:1},g3t="org.eclipse.elk.alg.common.nodespacing",ev="org.eclipse.elk.alg.common.nodespacing.cellsystem",cT="CENTER",p3t={217:1,336:1},yEe={3:1,4:1,5:1,603:1},Mx="LEFT",Dx="RIGHT",xEe="Vertical alignment cannot be null",kEe="BOTTOM",nG="org.eclipse.elk.alg.common.nodespacing.internal",cL="UNDEFINED",$1=.01,DP="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",b3t="LabelPlacer/lambda$0$Type",m3t="LabelPlacer/lambda$1$Type",v3t="portRatioOrPosition",uT="org.eclipse.elk.alg.common.overlaps",yhe="DOWN",_d="org.eclipse.elk.alg.common.polyomino",rG="NORTH",xhe="EAST",khe="SOUTH",Ehe="WEST",iG="org.eclipse.elk.alg.common.polyomino.structures",EEe="Direction",The="Grid is only of size ",Che=". Requested point (",She=") is out of bounds.",sG=" Given center based coordinates were (",IP="org.eclipse.elk.graph.properties",w3t="IPropertyHolder",TEe={3:1,96:1,137:1},Ix="org.eclipse.elk.alg.common.spore",y3t="org.eclipse.elk.alg.common.utils",tv={205:1},v6="org.eclipse.elk.core",x3t="Connected Components Compaction",k3t="org.eclipse.elk.alg.disco",aG="org.eclipse.elk.alg.disco.graph",_he="org.eclipse.elk.alg.disco.options",CEe="CompactionStrategy",SEe="org.eclipse.elk.disco.componentCompaction.strategy",_Ee="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",AEe="org.eclipse.elk.disco.debug.discoGraph",LEe="org.eclipse.elk.disco.debug.discoPolys",E3t="componentCompaction",nv="org.eclipse.elk.disco",Ahe="org.eclipse.elk.spacing.componentComponent",Lhe="org.eclipse.elk.edge.thickness",Ox="org.eclipse.elk.aspectRatio",Jw="org.eclipse.elk.padding",w6="org.eclipse.elk.alg.disco.transform",Mhe=1.5707963267948966,y6=17976931348623157e292,Jy={3:1,4:1,5:1,198:1},T3t={3:1,6:1,4:1,5:1,100:1,115:1},Dhe="org.eclipse.elk.alg.force",MEe="ComponentsProcessor",C3t="ComponentsProcessor/1",DEe="ElkGraphImporter/lambda$0$Type",OP="org.eclipse.elk.alg.force.graph",S3t="Component Layout",IEe="org.eclipse.elk.alg.force.model",oG="org.eclipse.elk.force.model",OEe="org.eclipse.elk.force.iterations",NEe="org.eclipse.elk.force.repulsivePower",Ihe="org.eclipse.elk.force.temperature",Ad=.001,Ohe="org.eclipse.elk.force.repulsion",uL="org.eclipse.elk.alg.force.options",lT=1.600000023841858,Qu="org.eclipse.elk.force",NP="org.eclipse.elk.priority",Zy="org.eclipse.elk.spacing.nodeNode",Nhe="org.eclipse.elk.spacing.edgeLabel",cG="org.eclipse.elk.randomSeed",lL="org.eclipse.elk.separateConnectedComponents",hL="org.eclipse.elk.interactive",Phe="org.eclipse.elk.portConstraints",uG="org.eclipse.elk.edgeLabels.inline",fL="org.eclipse.elk.omitNodeMicroLayout",hT="org.eclipse.elk.nodeSize.fixedGraphSize",Nx="org.eclipse.elk.nodeSize.options",x6="org.eclipse.elk.nodeSize.constraints",fT="org.eclipse.elk.nodeLabels.placement",dT="org.eclipse.elk.portLabels.placement",PP="org.eclipse.elk.topdownLayout",BP="org.eclipse.elk.topdown.scaleFactor",FP="org.eclipse.elk.topdown.hierarchicalNodeWidth",RP="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",Zw="org.eclipse.elk.topdown.nodeType",PEe="origin",_3t="random",A3t="boundingBox.upLeft",L3t="boundingBox.lowRight",BEe="org.eclipse.elk.stress.fixed",FEe="org.eclipse.elk.stress.desiredEdgeLength",REe="org.eclipse.elk.stress.dimension",jEe="org.eclipse.elk.stress.epsilon",$Ee="org.eclipse.elk.stress.iterationLimit",Db="org.eclipse.elk.stress",M3t="ELK Stress",Px="org.eclipse.elk.nodeSize.minimum",lG="org.eclipse.elk.alg.force.stress",D3t="Layered layout",Bx="org.eclipse.elk.alg.layered",jP="org.eclipse.elk.alg.layered.compaction.components",dL="org.eclipse.elk.alg.layered.compaction.oned",hG="org.eclipse.elk.alg.layered.compaction.oned.algs",rv="org.eclipse.elk.alg.layered.compaction.recthull",z1="org.eclipse.elk.alg.layered.components",Ld="NONE",zEe="MODEL_ORDER",uu={3:1,6:1,4:1,9:1,5:1,126:1},I3t={3:1,6:1,4:1,5:1,150:1,100:1,115:1},fG="org.eclipse.elk.alg.layered.compound",es={47:1},Lu="org.eclipse.elk.alg.layered.graph",Bhe=" -> ",O3t="Not supported by LGraph",qEe="Port side is undefined",Fhe={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},v2={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},N3t={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},P3t=`([{"' \r +`,B3t=`)]}"' \r +`,F3t="The given string contains parts that cannot be parsed as numbers.",$P="org.eclipse.elk.core.math",R3t={3:1,4:1,140:1,214:1,423:1},j3t={3:1,4:1,107:1,214:1,423:1},w2="org.eclipse.elk.alg.layered.graph.transform",$3t="ElkGraphImporter",z3t="ElkGraphImporter/lambda$1$Type",q3t="ElkGraphImporter/lambda$2$Type",H3t="ElkGraphImporter/lambda$4$Type",rr="org.eclipse.elk.alg.layered.intermediate",V3t="Node margin calculation",U3t="ONE_SIDED_GREEDY_SWITCH",G3t="TWO_SIDED_GREEDY_SWITCH",Rhe="No implementation is available for the layout processor ",jhe="IntermediateProcessorStrategy",$he="Node '",K3t="FIRST_SEPARATE",W3t="LAST_SEPARATE",Y3t="Odd port side processing",aa="org.eclipse.elk.alg.layered.intermediate.compaction",gL="org.eclipse.elk.alg.layered.intermediate.greedyswitch",pg="org.eclipse.elk.alg.layered.p3order.counting",zP={230:1},Fx="org.eclipse.elk.alg.layered.intermediate.loops",Fh="org.eclipse.elk.alg.layered.intermediate.loops.ordering",Ib="org.eclipse.elk.alg.layered.intermediate.loops.routing",HEe="org.eclipse.elk.alg.layered.intermediate.preserveorder",Md="org.eclipse.elk.alg.layered.intermediate.wrapping",lu="org.eclipse.elk.alg.layered.options",zhe="INTERACTIVE",VEe="GREEDY",X3t="DEPTH_FIRST",Q3t="EDGE_LENGTH",J3t="SELF_LOOPS",Z3t="firstTryWithInitialOrder",UEe="org.eclipse.elk.layered.directionCongruency",GEe="org.eclipse.elk.layered.feedbackEdges",dG="org.eclipse.elk.layered.interactiveReferencePoint",KEe="org.eclipse.elk.layered.mergeEdges",WEe="org.eclipse.elk.layered.mergeHierarchyEdges",YEe="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",XEe="org.eclipse.elk.layered.portSortingStrategy",QEe="org.eclipse.elk.layered.thoroughness",JEe="org.eclipse.elk.layered.unnecessaryBendpoints",ZEe="org.eclipse.elk.layered.generatePositionAndLayerIds",qhe="org.eclipse.elk.layered.cycleBreaking.strategy",qP="org.eclipse.elk.layered.layering.strategy",eTe="org.eclipse.elk.layered.layering.layerConstraint",tTe="org.eclipse.elk.layered.layering.layerChoiceConstraint",nTe="org.eclipse.elk.layered.layering.layerId",Hhe="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",Vhe="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",Uhe="org.eclipse.elk.layered.layering.nodePromotion.strategy",Ghe="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",Khe="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",pL="org.eclipse.elk.layered.crossingMinimization.strategy",rTe="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",Whe="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",Yhe="org.eclipse.elk.layered.crossingMinimization.semiInteractive",iTe="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",sTe="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",aTe="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",oTe="org.eclipse.elk.layered.crossingMinimization.positionId",cTe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",Xhe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",gG="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",k6="org.eclipse.elk.layered.nodePlacement.strategy",pG="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",Qhe="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",Jhe="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",Zhe="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",efe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",tfe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",uTe="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",lTe="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",bG="org.eclipse.elk.layered.edgeRouting.splines.mode",mG="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",nfe="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",hTe="org.eclipse.elk.layered.spacing.baseValue",fTe="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",dTe="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",gTe="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",pTe="org.eclipse.elk.layered.priority.direction",bTe="org.eclipse.elk.layered.priority.shortness",mTe="org.eclipse.elk.layered.priority.straightness",rfe="org.eclipse.elk.layered.compaction.connectedComponents",vTe="org.eclipse.elk.layered.compaction.postCompaction.strategy",wTe="org.eclipse.elk.layered.compaction.postCompaction.constraints",vG="org.eclipse.elk.layered.highDegreeNodes.treatment",ife="org.eclipse.elk.layered.highDegreeNodes.threshold",sfe="org.eclipse.elk.layered.highDegreeNodes.treeHeight",hp="org.eclipse.elk.layered.wrapping.strategy",wG="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",yG="org.eclipse.elk.layered.wrapping.correctionFactor",bL="org.eclipse.elk.layered.wrapping.cutting.strategy",afe="org.eclipse.elk.layered.wrapping.cutting.cuts",ofe="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",xG="org.eclipse.elk.layered.wrapping.validify.strategy",kG="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",EG="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",TG="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",cfe="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",yTe="org.eclipse.elk.layered.edgeLabels.sideSelection",xTe="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",CG="org.eclipse.elk.layered.considerModelOrder.strategy",kTe="org.eclipse.elk.layered.considerModelOrder.portModelOrder",ETe="org.eclipse.elk.layered.considerModelOrder.noModelOrder",ufe="org.eclipse.elk.layered.considerModelOrder.components",TTe="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",lfe="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",hfe="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",ffe="layering",eyt="layering.minWidth",tyt="layering.nodePromotion",gT="crossingMinimization",SG="org.eclipse.elk.hierarchyHandling",nyt="crossingMinimization.greedySwitch",ryt="nodePlacement",iyt="nodePlacement.bk",syt="edgeRouting",HP="org.eclipse.elk.edgeRouting",q1="spacing",CTe="priority",STe="compaction",ayt="compaction.postCompaction",oyt="Specifies whether and how post-process compaction is applied.",_Te="highDegreeNodes",ATe="wrapping",cyt="wrapping.cutting",uyt="wrapping.validify",LTe="wrapping.multiEdge",dfe="edgeLabels",mL="considerModelOrder",MTe="org.eclipse.elk.spacing.commentComment",DTe="org.eclipse.elk.spacing.commentNode",ITe="org.eclipse.elk.spacing.edgeEdge",gfe="org.eclipse.elk.spacing.edgeNode",OTe="org.eclipse.elk.spacing.labelLabel",NTe="org.eclipse.elk.spacing.labelPortHorizontal",PTe="org.eclipse.elk.spacing.labelPortVertical",BTe="org.eclipse.elk.spacing.labelNode",FTe="org.eclipse.elk.spacing.nodeSelfLoop",RTe="org.eclipse.elk.spacing.portPort",jTe="org.eclipse.elk.spacing.individual",$Te="org.eclipse.elk.port.borderOffset",zTe="org.eclipse.elk.noLayout",qTe="org.eclipse.elk.port.side",VP="org.eclipse.elk.debugMode",HTe="org.eclipse.elk.alignment",VTe="org.eclipse.elk.insideSelfLoops.activate",UTe="org.eclipse.elk.insideSelfLoops.yo",pfe="org.eclipse.elk.direction",GTe="org.eclipse.elk.nodeLabels.padding",KTe="org.eclipse.elk.portLabels.nextToPortIfPossible",WTe="org.eclipse.elk.portLabels.treatAsGroup",YTe="org.eclipse.elk.portAlignment.default",XTe="org.eclipse.elk.portAlignment.north",QTe="org.eclipse.elk.portAlignment.south",JTe="org.eclipse.elk.portAlignment.west",ZTe="org.eclipse.elk.portAlignment.east",_G="org.eclipse.elk.contentAlignment",eCe="org.eclipse.elk.junctionPoints",tCe="org.eclipse.elk.edgeLabels.placement",nCe="org.eclipse.elk.port.index",rCe="org.eclipse.elk.commentBox",iCe="org.eclipse.elk.hypernode",sCe="org.eclipse.elk.port.anchor",bfe="org.eclipse.elk.partitioning.activate",mfe="org.eclipse.elk.partitioning.partition",AG="org.eclipse.elk.position",aCe="org.eclipse.elk.margins",oCe="org.eclipse.elk.spacing.portsSurrounding",LG="org.eclipse.elk.interactiveLayout",Kc="org.eclipse.elk.core.util",cCe={3:1,4:1,5:1,601:1},lyt="NETWORK_SIMPLEX",uCe="SIMPLE",Uo={106:1,47:1},MG="org.eclipse.elk.alg.layered.p1cycles",fp="org.eclipse.elk.alg.layered.p2layers",lCe={413:1,230:1},hyt={846:1,3:1,4:1},Al="org.eclipse.elk.alg.layered.p3order",Go="org.eclipse.elk.alg.layered.p4nodes",fyt={3:1,4:1,5:1,854:1},Dd=1e-5,Ob="org.eclipse.elk.alg.layered.p4nodes.bk",vfe="org.eclipse.elk.alg.layered.p5edges",n1="org.eclipse.elk.alg.layered.p5edges.orthogonal",wfe="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",yfe=1e-6,e4="org.eclipse.elk.alg.layered.p5edges.splines",xfe=.09999999999999998,DG=1e-8,dyt=4.71238898038469,hCe=3.141592653589793,dp="org.eclipse.elk.alg.mrtree",kfe=.10000000149011612,IG="SUPER_ROOT",vL="org.eclipse.elk.alg.mrtree.graph",fCe=-17976931348623157e292,Mu="org.eclipse.elk.alg.mrtree.intermediate",gyt="Processor compute fanout",OG={3:1,6:1,4:1,5:1,534:1,100:1,115:1},pyt="Set neighbors in level",UP="org.eclipse.elk.alg.mrtree.options",byt="DESCENDANTS",dCe="org.eclipse.elk.mrtree.compaction",gCe="org.eclipse.elk.mrtree.edgeEndTextureLength",pCe="org.eclipse.elk.mrtree.treeLevel",bCe="org.eclipse.elk.mrtree.positionConstraint",mCe="org.eclipse.elk.mrtree.weighting",vCe="org.eclipse.elk.mrtree.edgeRoutingMode",wCe="org.eclipse.elk.mrtree.searchOrder",myt="Position Constraint",Ju="org.eclipse.elk.mrtree",vyt="org.eclipse.elk.tree",wyt="Processor arrange level",pT="org.eclipse.elk.alg.mrtree.p2order",yh="org.eclipse.elk.alg.mrtree.p4route",yCe="org.eclipse.elk.alg.radial",iv=6.283185307179586,xCe="Before",kCe=5e-324,NG="After",ECe="org.eclipse.elk.alg.radial.intermediate",yyt="COMPACTION",Efe="org.eclipse.elk.alg.radial.intermediate.compaction",xyt={3:1,4:1,5:1,100:1},TCe="org.eclipse.elk.alg.radial.intermediate.optimization",Tfe="No implementation is available for the layout option ",wL="org.eclipse.elk.alg.radial.options",CCe="org.eclipse.elk.radial.centerOnRoot",SCe="org.eclipse.elk.radial.orderId",_Ce="org.eclipse.elk.radial.radius",PG="org.eclipse.elk.radial.rotate",Cfe="org.eclipse.elk.radial.compactor",Sfe="org.eclipse.elk.radial.compactionStepSize",ACe="org.eclipse.elk.radial.sorter",LCe="org.eclipse.elk.radial.wedgeCriteria",MCe="org.eclipse.elk.radial.optimizationCriteria",_fe="org.eclipse.elk.radial.rotation.targetAngle",Afe="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",DCe="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",kyt="Compaction",ICe="rotation",df="org.eclipse.elk.radial",Eyt="org.eclipse.elk.alg.radial.p1position.wedge",OCe="org.eclipse.elk.alg.radial.sorting",Tyt=5.497787143782138,Cyt=3.9269908169872414,Syt=2.356194490192345,_yt="org.eclipse.elk.alg.rectpacking",BG="org.eclipse.elk.alg.rectpacking.intermediate",Lfe="org.eclipse.elk.alg.rectpacking.options",NCe="org.eclipse.elk.rectpacking.trybox",PCe="org.eclipse.elk.rectpacking.currentPosition",BCe="org.eclipse.elk.rectpacking.desiredPosition",FCe="org.eclipse.elk.rectpacking.inNewRow",RCe="org.eclipse.elk.rectpacking.widthApproximation.strategy",jCe="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",$Ce="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",zCe="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",qCe="org.eclipse.elk.rectpacking.packing.strategy",HCe="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",VCe="org.eclipse.elk.rectpacking.packing.compaction.iterations",UCe="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",Mfe="widthApproximation",Ayt="Compaction Strategy",Lyt="packing.compaction",nh="org.eclipse.elk.rectpacking",bT="org.eclipse.elk.alg.rectpacking.p1widthapproximation",FG="org.eclipse.elk.alg.rectpacking.p2packing",Myt="No Compaction",GCe="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",GP="org.eclipse.elk.alg.rectpacking.util",RG="No implementation available for ",t4="org.eclipse.elk.alg.spore",n4="org.eclipse.elk.alg.spore.options",e3="org.eclipse.elk.sporeCompaction",Dfe="org.eclipse.elk.underlyingLayoutAlgorithm",KCe="org.eclipse.elk.processingOrder.treeConstruction",WCe="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Ife="org.eclipse.elk.processingOrder.preferredRoot",Ofe="org.eclipse.elk.processingOrder.rootSelection",Nfe="org.eclipse.elk.structure.structureExtractionStrategy",YCe="org.eclipse.elk.compaction.compactionStrategy",XCe="org.eclipse.elk.compaction.orthogonal",QCe="org.eclipse.elk.overlapRemoval.maxIterations",JCe="org.eclipse.elk.overlapRemoval.runScanline",Pfe="processingOrder",Dyt="overlapRemoval",mT="org.eclipse.elk.sporeOverlap",Iyt="org.eclipse.elk.alg.spore.p1structure",Bfe="org.eclipse.elk.alg.spore.p2processingorder",Ffe="org.eclipse.elk.alg.spore.p3execution",Oyt="Topdown Layout",Nyt="Invalid index: ",vT="org.eclipse.elk.core.alg",E6={341:1},r4={295:1},Pyt="Make sure its type is registered with the ",ZCe=" utility class.",wT="true",Rfe="false",Byt="Couldn't clone property '",t3=.05,rh="org.eclipse.elk.core.options",Fyt=1.2999999523162842,n3="org.eclipse.elk.box",eSe="org.eclipse.elk.expandNodes",tSe="org.eclipse.elk.box.packingMode",Ryt="org.eclipse.elk.algorithm",jyt="org.eclipse.elk.resolvedAlgorithm",nSe="org.eclipse.elk.bendPoints",oOn="org.eclipse.elk.labelManager",$yt="org.eclipse.elk.scaleFactor",zyt="org.eclipse.elk.childAreaWidth",qyt="org.eclipse.elk.childAreaHeight",Hyt="org.eclipse.elk.animate",Vyt="org.eclipse.elk.animTimeFactor",Uyt="org.eclipse.elk.layoutAncestors",Gyt="org.eclipse.elk.maxAnimTime",Kyt="org.eclipse.elk.minAnimTime",Wyt="org.eclipse.elk.progressBar",Yyt="org.eclipse.elk.validateGraph",Xyt="org.eclipse.elk.validateOptions",Qyt="org.eclipse.elk.zoomToFit",cOn="org.eclipse.elk.font.name",Jyt="org.eclipse.elk.font.size",rSe="org.eclipse.elk.topdown.sizeApproximator",iSe="org.eclipse.elk.topdown.scaleCap",Zyt="org.eclipse.elk.edge.type",e4t="partitioning",t4t="nodeLabels",jG="portAlignment",jfe="nodeSize",$fe="port",sSe="portLabels",KP="topdown",n4t="insideSelfLoops",yL="org.eclipse.elk.fixed",$G="org.eclipse.elk.random",aSe={3:1,34:1,22:1,347:1},r4t="port must have a parent node to calculate the port side",i4t="The edge needs to have exactly one edge section. Found: ",xL="org.eclipse.elk.core.util.adapters",gf="org.eclipse.emf.ecore",T6="org.eclipse.elk.graph",s4t="EMapPropertyHolder",a4t="ElkBendPoint",o4t="ElkGraphElement",c4t="ElkConnectableShape",oSe="ElkEdge",u4t="ElkEdgeSection",l4t="EModelElement",h4t="ENamedElement",cSe="ElkLabel",uSe="ElkNode",lSe="ElkPort",f4t={94:1,93:1},Rx="org.eclipse.emf.common.notify.impl",Nb="The feature '",kL="' is not a valid changeable feature",d4t="Expecting null",zfe="' is not a valid feature",g4t="The feature ID",p4t=" is not a valid feature ID",ru=32768,b4t={110:1,94:1,93:1,58:1,54:1,99:1},Gn="org.eclipse.emf.ecore.impl",sv="org.eclipse.elk.graph.impl",EL="Recursive containment not allowed for ",yT="The datatype '",r3="' is not a valid classifier",qfe="The value '",C6={195:1,3:1,4:1},Hfe="The class '",xT="http://www.eclipse.org/elk/ElkGraph",hSe="property",TL="value",Vfe="source",m4t="properties",v4t="identifier",Ufe="height",Gfe="width",Kfe="parent",Wfe="text",Yfe="children",w4t="hierarchical",fSe="sources",Xfe="targets",dSe="sections",zG="bendPoints",gSe="outgoingShape",pSe="incomingShape",bSe="outgoingSections",mSe="incomingSections",To="org.eclipse.emf.common.util",vSe="Severe implementation error in the Json to ElkGraph importer.",Id="id",no="org.eclipse.elk.graph.json",wSe="Unhandled parameter types: ",y4t="startPoint",x4t="An edge must have at least one source and one target (edge id: '",kT="').",k4t="Referenced edge section does not exist: ",E4t=" (edge id: '",ySe="target",T4t="sourcePoint",C4t="targetPoint",qG="group",Ai="name",S4t="connectableShape cannot be null",_4t="edge cannot be null",Qfe="Passed edge is not 'simple'.",HG="org.eclipse.elk.graph.util",WP="The 'no duplicates' constraint is violated",Jfe="targetIndex=",av=", size=",Zfe="sourceIndex=",Od={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},e0e={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},VG="logging",A4t="measureExecutionTime",L4t="parser.parse.1",M4t="parser.parse.2",UG="parser.next.1",t0e="parser.next.2",D4t="parser.next.3",I4t="parser.next.4",ov="parser.factor.1",xSe="parser.factor.2",O4t="parser.factor.3",N4t="parser.factor.4",P4t="parser.factor.5",B4t="parser.factor.6",F4t="parser.atom.1",R4t="parser.atom.2",j4t="parser.atom.3",kSe="parser.atom.4",n0e="parser.atom.5",ESe="parser.cc.1",GG="parser.cc.2",$4t="parser.cc.3",z4t="parser.cc.5",TSe="parser.cc.6",CSe="parser.cc.7",r0e="parser.cc.8",q4t="parser.ope.1",H4t="parser.ope.2",V4t="parser.ope.3",y2="parser.descape.1",U4t="parser.descape.2",G4t="parser.descape.3",K4t="parser.descape.4",W4t="parser.descape.5",pf="parser.process.1",Y4t="parser.quantifier.1",X4t="parser.quantifier.2",Q4t="parser.quantifier.3",J4t="parser.quantifier.4",SSe="parser.quantifier.5",Z4t="org.eclipse.emf.common.notify",_Se={424:1,686:1},e5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},YP={378:1,152:1},CL="index=",i0e={3:1,4:1,5:1,129:1},t5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},ASe={3:1,6:1,4:1,5:1,198:1},n5t={3:1,4:1,5:1,173:1,379:1},r5t=";/?:@&=+$,",i5t="invalid authority: ",s5t="EAnnotation",a5t="ETypedElement",o5t="EStructuralFeature",c5t="EAttribute",u5t="EClassifier",l5t="EEnumLiteral",h5t="EGenericType",f5t="EOperation",d5t="EParameter",g5t="EReference",p5t="ETypeParameter",cs="org.eclipse.emf.ecore.util",s0e={79:1},LSe={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},b5t="org.eclipse.emf.ecore.util.FeatureMap$Entry",Ll=8192,i4=2048,SL="byte",KG="char",_L="double",AL="float",LL="int",ML="long",DL="short",m5t="java.lang.Object",S6={3:1,4:1,5:1,254:1},MSe={3:1,4:1,5:1,688:1},v5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},Tc={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},XP="mixed",hi="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Pf="kind",w5t={3:1,4:1,5:1,689:1},DSe={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},WG={20:1,31:1,56:1,16:1,15:1,61:1,71:1},YG={51:1,128:1,287:1},XG={76:1,343:1},QG="The value of type '",JG="' must be of type '",_6=1352,Bf="http://www.eclipse.org/emf/2002/Ecore",ZG=-32768,i3="constraints",uo="baseType",y5t="getEStructuralFeature",x5t="getFeatureID",IL="feature",k5t="getOperationID",ISe="operation",E5t="defaultValue",T5t="eTypeParameters",C5t="isInstance",S5t="getEEnumLiteral",_5t="eContainingClass",ki={57:1},A5t={3:1,4:1,5:1,124:1},L5t="org.eclipse.emf.ecore.resource",M5t={94:1,93:1,599:1,2034:1},a0e="org.eclipse.emf.ecore.resource.impl",OSe="unspecified",QP="simple",eK="attribute",D5t="attributeWildcard",tK="element",o0e="elementWildcard",r1="collapse",c0e="itemType",nK="namespace",JP="##targetNamespace",Ff="whiteSpace",NSe="wildcards",cv="http://www.eclipse.org/emf/2003/XMLType",u0e="##any",ET="uninitialized",ZP="The multiplicity constraint is violated",rK="org.eclipse.emf.ecore.xml.type",I5t="ProcessingInstruction",O5t="SimpleAnyType",N5t="XMLTypeDocumentRoot",Zs="org.eclipse.emf.ecore.xml.type.impl",eB="INF",P5t="processing",B5t="ENTITIES_._base",PSe="minLength",BSe="ENTITY",iK="NCName",F5t="IDREFS_._base",FSe="integer",l0e="token",h0e="pattern",R5t="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",RSe="\\i\\c*",j5t="[\\i-[:]][\\c-[:]]*",$5t="nonPositiveInteger",tB="maxInclusive",jSe="NMTOKEN",z5t="NMTOKENS_._base",$Se="nonNegativeInteger",nB="minInclusive",q5t="normalizedString",H5t="unsignedByte",V5t="unsignedInt",U5t="18446744073709551615",G5t="unsignedShort",K5t="processingInstruction",x2="org.eclipse.emf.ecore.xml.type.internal",TT=1114111,W5t="Internal Error: shorthands: \\u",OL="xml:isDigit",f0e="xml:isWord",d0e="xml:isSpace",g0e="xml:isNameChar",p0e="xml:isInitialNameChar",Y5t="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",X5t="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",Q5t="Private Use",b0e="ASSIGNED",m0e="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",zSe="UNASSIGNED",CT={3:1,122:1},J5t="org.eclipse.emf.ecore.xml.type.util",sK={3:1,4:1,5:1,381:1},qSe="org.eclipse.xtext.xbase.lib",Z5t="Cannot add elements to a Range",e6t="Cannot set elements in a Range",t6t="Cannot remove elements from a Range",n6t="user.agent",h,aK,v0e;b.goog=b.goog||{},b.goog.global=b.goog.global||b,aK={},D(1,null,{},T),h.Fb=function(t){return ent(this,t)},h.Gb=function(){return this.Rm},h.Hb=function(){return gw(this)},h.Ib=function(){var t;return _m(vh(this))+"@"+(t=Zi(this)>>>0,t.toString(16))},h.equals=function(e){return this.Fb(e)},h.hashCode=function(){return this.Hb()},h.toString=function(){return this.Ib()};var r6t,i6t,s6t;D(297,1,{297:1,2124:1},F7e),h.ve=function(t){var n;return n=new F7e,n.i=4,t>1?n.c=kot(this,t-1):n.c=this,n},h.we=function(){return Ug(this),this.b},h.xe=function(){return _m(this)},h.ye=function(){return Ug(this),this.k},h.ze=function(){return(this.i&4)!=0},h.Ae=function(){return(this.i&1)!=0},h.Ib=function(){return W6e(this)},h.i=0;var wa=I(Gc,"Object",1),HSe=I(Gc,"Class",297);D(2096,1,yP),I(xP,"Optional",2096),D(1191,2096,yP,_),h.Fb=function(t){return t===this},h.Hb=function(){return 2040732332},h.Ib=function(){return"Optional.absent()"},h.Jb=function(t){return Xr(t),o_(),w0e};var w0e;I(xP,"Absent",1191),D(636,1,{},ese),I(xP,"Joiner",636);var uOn=Es(xP,"Predicate");D(589,1,{178:1,589:1,3:1,46:1},pz),h.Mb=function(t){return k0t(this,t)},h.Lb=function(t){return k0t(this,t)},h.Fb=function(t){var n;return De(t,589)?(n=l(t,589),N9e(this.a,n.a)):!1},h.Hb=function(){return H7e(this.a)+306654252},h.Ib=function(){return Y9n(this.a)},I(xP,"Predicates/AndPredicate",589),D(419,2096,{419:1,3:1},JS),h.Fb=function(t){var n;return De(t,419)?(n=l(t,419),Bi(this.a,n.a)):!1},h.Hb=function(){return 1502476572+Zi(this.a)},h.Ib=function(){return Mwt+this.a+")"},h.Jb=function(t){return new JS(AH(t.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},I(xP,"Present",419),D(204,1,eT),h.Nb=function(t){Za(this,t)},h.Qb=function(){zJe()},I(dn,"UnmodifiableIterator",204),D(2076,204,tT),h.Qb=function(){zJe()},h.Rb=function(t){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(dn,"UnmodifiableListIterator",2076),D(399,2076,tT),h.Ob=function(){return this.c0},h.Pb=function(){if(this.c>=this.d)throw ue(new Lc);return this.Xb(this.c++)},h.Tb=function(){return this.c},h.Ub=function(){if(this.c<=0)throw ue(new Lc);return this.Xb(--this.c)},h.Vb=function(){return this.c-1},h.c=0,h.d=0,I(dn,"AbstractIndexedListIterator",399),D(713,204,eT),h.Ob=function(){return nce(this)},h.Pb=function(){return q6e(this)},h.e=1,I(dn,"AbstractIterator",713),D(2084,1,{229:1}),h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.Fb=function(t){return Tce(this,t)},h.Hb=function(){return Zi(this.Zb())},h.dc=function(){return this.gc()==0},h.ec=function(){return W8(this)},h.Ib=function(){return Ec(this.Zb())},I(dn,"AbstractMultimap",2084),D(742,2084,Jm),h.$b=function(){vV(this)},h._b=function(t){return aZe(this,t)},h.ac=function(){return new Lk(this,this.c)},h.ic=function(t){return this.hc()},h.bc=function(){return new q5(this,this.c)},h.jc=function(){return this.mc(this.hc())},h.kc=function(){return new CJe(this)},h.lc=function(){return Oue(this.c.vc().Nc(),new P,64,this.d)},h.cc=function(t){return $i(this,t)},h.fc=function(t){return DN(this,t)},h.gc=function(){return this.d},h.mc=function(t){return Cn(),new $a(t)},h.nc=function(){return new TJe(this)},h.oc=function(){return Oue(this.c.Cc().Nc(),new A,64,this.d)},h.pc=function(t,n){return new XH(this,t,n,null)},h.d=0,I(dn,"AbstractMapBasedMultimap",742),D(1696,742,Jm),h.hc=function(){return new Ru(this.a)},h.jc=function(){return Cn(),Cn(),Co},h.cc=function(t){return l($i(this,t),15)},h.fc=function(t){return l(DN(this,t),15)},h.Zb=function(){return ex(this)},h.Fb=function(t){return Tce(this,t)},h.qc=function(t){return l($i(this,t),15)},h.rc=function(t){return l(DN(this,t),15)},h.mc=function(t){return soe(l(t,15))},h.pc=function(t,n){return Lct(this,t,l(n,15),null)},I(dn,"AbstractListMultimap",1696),D(748,1,Oa),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.c.Ob()||this.e.Ob()},h.Pb=function(){var t;return this.e.Ob()||(t=l(this.c.Pb(),44),this.b=t.ld(),this.a=l(t.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},h.Qb=function(){this.e.Qb(),l(Af(this.a),16).dc()&&this.c.Qb(),--this.d.d},I(dn,"AbstractMapBasedMultimap/Itr",748),D(1129,748,Oa,TJe),h.sc=function(t,n){return n},I(dn,"AbstractMapBasedMultimap/1",1129),D(1130,1,{},A),h.Kb=function(t){return l(t,16).Nc()},I(dn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),D(1131,748,Oa,CJe),h.sc=function(t,n){return new aw(t,n)},I(dn,"AbstractMapBasedMultimap/2",1131);var VSe=Es(Lr,"Map");D(2065,1,Xw),h.wc=function(t){mA(this,t)},h.yc=function(t,n,r){return Hce(this,t,n,r)},h.$b=function(){this.vc().$b()},h.tc=function(t){return pue(this,t)},h._b=function(t){return!!Ixe(this,t,!1)},h.uc=function(t){var n,r,a;for(r=this.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),a=n.md(),qe(t)===qe(a)||t!=null&&Bi(t,a))return!0;return!1},h.Fb=function(t){var n,r,a;if(t===this)return!0;if(!De(t,85)||(a=l(t,85),this.gc()!=a.gc()))return!1;for(r=a.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),!this.tc(n))return!1;return!0},h.xc=function(t){return fc(Ixe(this,t,!1))},h.Hb=function(){return O7e(this.vc())},h.dc=function(){return this.gc()==0},h.ec=function(){return new br(this)},h.zc=function(t,n){throw ue(new Vp("Put not supported on this map"))},h.Ac=function(t){bA(this,t)},h.Bc=function(t){return fc(Ixe(this,t,!0))},h.gc=function(){return this.vc().gc()},h.Ib=function(){return Ngt(this)},h.Cc=function(){return new pi(this)},I(Lr,"AbstractMap",2065),D(2085,2065,Xw),h.bc=function(){return new Xz(this)},h.vc=function(){return Cst(this)},h.ec=function(){var t;return t=this.g,t||(this.g=this.bc())},h.Cc=function(){var t;return t=this.i,t||(this.i=new XZe(this))},I(dn,"Maps/ViewCachingAbstractMap",2085),D(402,2085,Xw,Lk),h.xc=function(t){return gwn(this,t)},h.Bc=function(t){return Fyn(this,t)},h.$b=function(){this.d==this.e.c?this.e.$b():sH(new U4e(this))},h._b=function(t){return a1t(this.d,t)},h.Ec=function(){return new bz(this)},h.Dc=function(){return this.Ec()},h.Fb=function(t){return this===t||Bi(this.d,t)},h.Hb=function(){return Zi(this.d)},h.ec=function(){return this.e.ec()},h.gc=function(){return this.d.gc()},h.Ib=function(){return Ec(this.d)},I(dn,"AbstractMapBasedMultimap/AsMap",402);var Rh=Es(Gc,"Iterable");D(31,1,Yy),h.Jc=function(t){to(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new bn(null,this.Nc())},h.Fc=function(t){throw ue(new Vp("Add not supported on this collection"))},h.Gc=function(t){return Ka(this,t)},h.$b=function(){D5e(this)},h.Hc=function(t){return Py(this,t,!1)},h.Ic=function(t){return EN(this,t)},h.dc=function(){return this.gc()==0},h.Mc=function(t){return Py(this,t,!0)},h.Pc=function(){return t5e(this)},h.Qc=function(t){return PA(this,t)},h.Ib=function(){return Cb(this)},I(Lr,"AbstractCollection",31);var Rf=Es(Lr,"Set");D(j1,31,_l),h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return Q1t(this,t)},h.Hb=function(){return O7e(this)},I(Lr,"AbstractSet",j1),D(2068,j1,_l),I(dn,"Sets/ImprovedAbstractSet",2068),D(2069,2068,_l),h.$b=function(){this.Rc().$b()},h.Hc=function(t){return P1t(this,t)},h.dc=function(){return this.Rc().dc()},h.Mc=function(t){var n;return this.Hc(t)&&De(t,44)?(n=l(t,44),this.Rc().ec().Mc(n.ld())):!1},h.gc=function(){return this.Rc().gc()},I(dn,"Maps/EntrySet",2069),D(1127,2069,_l,bz),h.Hc=function(t){return a8e(this.a.d.vc(),t)},h.Kc=function(){return new U4e(this.a)},h.Rc=function(){return this.a},h.Mc=function(t){var n;return a8e(this.a.d.vc(),t)?(n=l(Af(l(t,44)),44),nvn(this.a.e,n.ld()),!0):!1},h.Nc=function(){return NO(this.a.d.vc().Nc(),new mz(this.a))},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),D(1128,1,{},mz),h.Kb=function(t){return _ut(this.a,l(t,44))},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),D(746,1,Oa,U4e),h.Nb=function(t){Za(this,t)},h.Pb=function(){var t;return t=l(this.b.Pb(),44),this.a=l(t.md(),16),_ut(this.c,t)},h.Ob=function(){return this.b.Ob()},h.Qb=function(){Rk(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},I(dn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),D(542,2068,_l,Xz),h.$b=function(){this.b.$b()},h.Hc=function(t){return this.b._b(t)},h.Jc=function(t){Xr(t),this.b.wc(new kz(t))},h.dc=function(){return this.b.dc()},h.Kc=function(){return new c_(this.b.vc().Kc())},h.Mc=function(t){return this.b._b(t)?(this.b.Bc(t),!0):!1},h.gc=function(){return this.b.gc()},I(dn,"Maps/KeySet",542),D(327,542,_l,q5),h.$b=function(){var t;sH((t=this.b.vc().Kc(),new p3e(this,t)))},h.Ic=function(t){return this.b.ec().Ic(t)},h.Fb=function(t){return this===t||Bi(this.b.ec(),t)},h.Hb=function(){return Zi(this.b.ec())},h.Kc=function(){var t;return t=this.b.vc().Kc(),new p3e(this,t)},h.Mc=function(t){var n,r;return r=0,n=l(this.b.Bc(t),16),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},h.Nc=function(){return this.b.ec().Nc()},I(dn,"AbstractMapBasedMultimap/KeySet",327),D(747,1,Oa,p3e),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.c.Ob()},h.Pb=function(){return this.a=l(this.c.Pb(),44),this.a.ld()},h.Qb=function(){var t;Rk(!!this.a),t=l(this.a.md(),16),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},I(dn,"AbstractMapBasedMultimap/KeySet/1",747),D(503,402,{85:1,133:1},_O),h.bc=function(){return this.Sc()},h.ec=function(){return this.Uc()},h.Sc=function(){return new tO(this.c,this.Wc())},h.Tc=function(){return this.Wc().Tc()},h.Uc=function(){var t;return t=this.b,t||(this.b=this.Sc())},h.Vc=function(){return this.Wc().Vc()},h.Wc=function(){return l(this.d,133)},I(dn,"AbstractMapBasedMultimap/SortedAsMap",503),D(446,503,eEe,q_),h.bc=function(){return new Ak(this.a,l(l(this.d,133),139))},h.Sc=function(){return new Ak(this.a,l(l(this.d,133),139))},h.ec=function(){var t;return t=this.b,l(t||(this.b=new Ak(this.a,l(l(this.d,133),139))),277)},h.Uc=function(){var t;return t=this.b,l(t||(this.b=new Ak(this.a,l(l(this.d,133),139))),277)},h.Wc=function(){return l(l(this.d,133),139)},h.Xc=function(t){return l(l(this.d,133),139).Xc(t)},h.Yc=function(t){return l(l(this.d,133),139).Yc(t)},h.Zc=function(t,n){return new q_(this.a,l(l(this.d,133),139).Zc(t,n))},h.$c=function(t){return l(l(this.d,133),139).$c(t)},h._c=function(t){return l(l(this.d,133),139)._c(t)},h.ad=function(t,n){return new q_(this.a,l(l(this.d,133),139).ad(t,n))},I(dn,"AbstractMapBasedMultimap/NavigableAsMap",446),D(502,327,Dwt,tO),h.Nc=function(){return this.b.ec().Nc()},I(dn,"AbstractMapBasedMultimap/SortedKeySet",502),D(401,502,tEe,Ak),I(dn,"AbstractMapBasedMultimap/NavigableKeySet",401),D(551,31,Yy,XH),h.Fc=function(t){var n,r;return Jl(this),r=this.d.dc(),n=this.d.Fc(t),n&&(++this.f.d,r&&DO(this)),n},h.Gc=function(t){var n,r,a;return t.dc()?!1:(a=(Jl(this),this.d.gc()),n=this.d.Gc(t),n&&(r=this.d.gc(),this.f.d+=r-a,a==0&&DO(this)),n)},h.$b=function(){var t;t=(Jl(this),this.d.gc()),t!=0&&(this.d.$b(),this.f.d-=t,hH(this))},h.Hc=function(t){return Jl(this),this.d.Hc(t)},h.Ic=function(t){return Jl(this),this.d.Ic(t)},h.Fb=function(t){return t===this?!0:(Jl(this),Bi(this.d,t))},h.Hb=function(){return Jl(this),Zi(this.d)},h.Kc=function(){return Jl(this),new A4e(this)},h.Mc=function(t){var n;return Jl(this),n=this.d.Mc(t),n&&(--this.f.d,hH(this)),n},h.gc=function(){return $tt(this)},h.Nc=function(){return Jl(this),this.d.Nc()},h.Ib=function(){return Jl(this),Ec(this.d)},I(dn,"AbstractMapBasedMultimap/WrappedCollection",551);var bf=Es(Lr,"List");D(744,551,{20:1,31:1,16:1,15:1},i5e),h.jd=function(t){$m(this,t)},h.Nc=function(){return Jl(this),this.d.Nc()},h.bd=function(t,n){var r;Jl(this),r=this.d.dc(),l(this.d,15).bd(t,n),++this.a.d,r&&DO(this)},h.cd=function(t,n){var r,a,o;return n.dc()?!1:(o=(Jl(this),this.d.gc()),r=l(this.d,15).cd(t,n),r&&(a=this.d.gc(),this.a.d+=a-o,o==0&&DO(this)),r)},h.Xb=function(t){return Jl(this),l(this.d,15).Xb(t)},h.dd=function(t){return Jl(this),l(this.d,15).dd(t)},h.ed=function(){return Jl(this),new bnt(this)},h.fd=function(t){return Jl(this),new jat(this,t)},h.gd=function(t){var n;return Jl(this),n=l(this.d,15).gd(t),--this.a.d,hH(this),n},h.hd=function(t,n){return Jl(this),l(this.d,15).hd(t,n)},h.kd=function(t,n){return Jl(this),Lct(this.a,this.e,l(this.d,15).kd(t,n),this.b?this.b:this)},I(dn,"AbstractMapBasedMultimap/WrappedList",744),D(1126,744,{20:1,31:1,16:1,15:1,59:1},srt),I(dn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),D(628,1,Oa,A4e),h.Nb=function(t){Za(this,t)},h.Ob=function(){return Yk(this),this.b.Ob()},h.Pb=function(){return Yk(this),this.b.Pb()},h.Qb=function(){Hnt(this)},I(dn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),D(745,628,ug,bnt,jat),h.Qb=function(){Hnt(this)},h.Rb=function(t){var n;n=$tt(this.a)==0,(Yk(this),l(this.b,128)).Rb(t),++this.a.a.d,n&&DO(this.a)},h.Sb=function(){return(Yk(this),l(this.b,128)).Sb()},h.Tb=function(){return(Yk(this),l(this.b,128)).Tb()},h.Ub=function(){return(Yk(this),l(this.b,128)).Ub()},h.Vb=function(){return(Yk(this),l(this.b,128)).Vb()},h.Wb=function(t){(Yk(this),l(this.b,128)).Wb(t)},I(dn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),D(743,551,Dwt,Kye),h.Nc=function(){return Jl(this),this.d.Nc()},I(dn,"AbstractMapBasedMultimap/WrappedSortedSet",743),D(1125,743,tEe,hnt),I(dn,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),D(1124,551,_l,Srt),h.Nc=function(){return Jl(this),this.d.Nc()},I(dn,"AbstractMapBasedMultimap/WrappedSet",1124),D(1133,1,{},P),h.Kb=function(t){return fvn(l(t,44))},I(dn,"AbstractMapBasedMultimap/lambda$1$Type",1133),D(1132,1,{},mie),h.Kb=function(t){return new aw(this.a,t)},I(dn,"AbstractMapBasedMultimap/lambda$2$Type",1132);var uv=Es(Lr,"Map/Entry");D(358,1,Ple),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),md(this.ld(),n.ld())&&md(this.md(),n.md())):!1},h.Hb=function(){var t,n;return t=this.ld(),n=this.md(),(t==null?0:Zi(t))^(n==null?0:Zi(n))},h.nd=function(t){throw ue(new Qr)},h.Ib=function(){return this.ld()+"="+this.md()},I(dn,Iwt,358),D(2086,31,Yy),h.$b=function(){this.od().$b()},h.Hc=function(t){var n;return De(t,44)?(n=l(t,44),Obn(this.od(),n.ld(),n.md())):!1},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),lct(this.od(),n.ld(),n.md())):!1},h.gc=function(){return this.od().d},I(dn,"Multimaps/Entries",2086),D(749,2086,Yy,wz),h.Kc=function(){return this.a.kc()},h.od=function(){return this.a},h.Nc=function(){return this.a.lc()},I(dn,"AbstractMultimap/Entries",749),D(750,749,_l,Gwe),h.Nc=function(){return this.a.lc()},h.Fb=function(t){return Jxe(this,t)},h.Hb=function(){return xft(this)},I(dn,"AbstractMultimap/EntrySet",750),D(751,31,Yy,J2),h.$b=function(){this.a.$b()},h.Hc=function(t){return Dyn(this.a,t)},h.Kc=function(){return this.a.nc()},h.gc=function(){return this.a.d},h.Nc=function(){return this.a.oc()},I(dn,"AbstractMultimap/Values",751),D(2087,31,{849:1,20:1,31:1,16:1}),h.Jc=function(t){Xr(t),V5(this).Jc(new Eie(t))},h.Nc=function(){var t;return t=V5(this).Nc(),Oue(t,new be,64|t.yd()&1296,this.a.d)},h.Fc=function(t){return e3e(),!0},h.Gc=function(t){return Xr(this),Xr(t),De(t,552)?Bbn(l(t,849)):!t.dc()&&Koe(this,t.Kc())},h.Hc=function(t){var n;return n=l(Ny(ex(this.a),t),16),(n?n.gc():0)>0},h.Fb=function(t){return iTn(this,t)},h.Hb=function(){return Zi(V5(this))},h.dc=function(){return V5(this).dc()},h.Mc=function(t){return Kpt(this,t,1)>0},h.Ib=function(){return Ec(V5(this))},I(dn,"AbstractMultiset",2087),D(2089,2068,_l),h.$b=function(){vV(this.a.a)},h.Hc=function(t){var n,r;return De(t,504)?(r=l(t,425),l(r.a.md(),16).gc()<=0?!1:(n=Fot(this.a,r.a.ld()),n==l(r.a.md(),16).gc())):!1},h.Mc=function(t){var n,r,a,o;return De(t,504)&&(r=l(t,425),n=r.a.ld(),a=l(r.a.md(),16).gc(),a!=0)?(o=this.a,Wkn(o,n,a)):!1},I(dn,"Multisets/EntrySet",2089),D(1139,2089,_l,vie),h.Kc=function(){return new MJe(Cst(ex(this.a.a)).Kc())},h.gc=function(){return ex(this.a.a).gc()},I(dn,"AbstractMultiset/EntrySet",1139),D(627,742,Jm),h.hc=function(){return this.pd()},h.jc=function(){return this.qd()},h.cc=function(t){return this.rd(t)},h.fc=function(t){return this.sd(t)},h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.qd=function(){return Cn(),Cn(),fK},h.Fb=function(t){return Tce(this,t)},h.rd=function(t){return l($i(this,t),21)},h.sd=function(t){return l(DN(this,t),21)},h.mc=function(t){return Cn(),new Ek(l(t,21))},h.pc=function(t,n){return new Srt(this,t,l(n,21))},I(dn,"AbstractSetMultimap",627),D(1723,627,Jm),h.hc=function(){return new Wp(this.b)},h.pd=function(){return new Wp(this.b)},h.jc=function(){return C5e(new Wp(this.b))},h.qd=function(){return C5e(new Wp(this.b))},h.cc=function(t){return l(l($i(this,t),21),87)},h.rd=function(t){return l(l($i(this,t),21),87)},h.fc=function(t){return l(l(DN(this,t),21),87)},h.sd=function(t){return l(l(DN(this,t),21),87)},h.mc=function(t){return De(t,277)?C5e(l(t,277)):(Cn(),new Iye(l(t,87)))},h.Zb=function(){var t;return t=this.f,t||(this.f=De(this.c,139)?new q_(this,l(this.c,139)):De(this.c,133)?new _O(this,l(this.c,133)):new Lk(this,this.c))},h.pc=function(t,n){return De(n,277)?new hnt(this,t,l(n,277)):new Kye(this,t,l(n,87))},I(dn,"AbstractSortedSetMultimap",1723),D(1724,1723,Jm),h.Zb=function(){var t;return t=this.f,l(l(t||(this.f=De(this.c,139)?new q_(this,l(this.c,139)):De(this.c,133)?new _O(this,l(this.c,133)):new Lk(this,this.c)),133),139)},h.ec=function(){var t;return t=this.i,l(l(t||(this.i=De(this.c,139)?new Ak(this,l(this.c,139)):De(this.c,133)?new tO(this,l(this.c,133)):new q5(this,this.c)),87),277)},h.bc=function(){return De(this.c,139)?new Ak(this,l(this.c,139)):De(this.c,133)?new tO(this,l(this.c,133)):new q5(this,this.c)},I(dn,"AbstractSortedKeySortedSetMultimap",1724),D(2109,1,{2046:1}),h.Fb=function(t){return L8n(this,t)},h.Hb=function(){var t;return O7e((t=this.g,t||(this.g=new $I(this))))},h.Ib=function(){var t;return Ngt((t=this.f,t||(this.f=new Aye(this))))},I(dn,"AbstractTable",2109),D(679,j1,_l,$I),h.$b=function(){qJe()},h.Hc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(Ny(Yst(this.a),ob(n.c.e,n.b)),85),!!r&&a8e(r.vc(),new aw(ob(n.c.c,n.a),ox(n.c,n.b,n.a)))):!1},h.Kc=function(){return Opn(this.a)},h.Mc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(Ny(Yst(this.a),ob(n.c.e,n.b)),85),!!r&&l4n(r.vc(),new aw(ob(n.c.c,n.a),ox(n.c,n.b,n.a)))):!1},h.gc=function(){return Jit(this.a)},h.Nc=function(){return jbn(this.a)},I(dn,"AbstractTable/CellSet",679),D(2025,31,Yy,yie),h.$b=function(){qJe()},h.Hc=function(t){return xxn(this.a,t)},h.Kc=function(){return Npn(this.a)},h.gc=function(){return Jit(this.a)},h.Nc=function(){return uct(this.a)},I(dn,"AbstractTable/Values",2025),D(1697,1696,Jm),I(dn,"ArrayListMultimapGwtSerializationDependencies",1697),D(520,1697,Jm,rse,K5e),h.hc=function(){return new Ru(this.a)},h.a=0,I(dn,"ArrayListMultimap",520),D(678,2109,{678:1,2046:1,3:1},a2t),I(dn,"ArrayTable",678),D(2021,399,tT,Vnt),h.Xb=function(t){return new R7e(this.a,t)},I(dn,"ArrayTable/1",2021),D(2022,1,{},pie),h.td=function(t){return new R7e(this.a,t)},I(dn,"ArrayTable/1methodref$getCell$Type",2022),D(2110,1,{697:1}),h.Fb=function(t){var n;return t===this?!0:De(t,479)?(n=l(t,697),md(ob(this.c.e,this.b),ob(n.c.e,n.b))&&md(ob(this.c.c,this.a),ob(n.c.c,n.a))&&md(ox(this.c,this.b,this.a),ox(n.c,n.b,n.a))):!1},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[ob(this.c.e,this.b),ob(this.c.c,this.a),ox(this.c,this.b,this.a)]))},h.Ib=function(){return"("+ob(this.c.e,this.b)+","+ob(this.c.c,this.a)+")="+ox(this.c,this.b,this.a)},I(dn,"Tables/AbstractCell",2110),D(479,2110,{479:1,697:1},R7e),h.a=0,h.b=0,h.d=0,I(dn,"ArrayTable/2",479),D(2024,1,{},bie),h.td=function(t){return Nlt(this.a,t)},I(dn,"ArrayTable/2methodref$getValue$Type",2024),D(2023,399,tT,Unt),h.Xb=function(t){return Nlt(this.a,t)},I(dn,"ArrayTable/3",2023),D(2077,2065,Xw),h.$b=function(){sH(this.kc())},h.vc=function(){return new xz(this)},h.lc=function(){return new Lat(this.kc(),this.gc())},I(dn,"Maps/IteratorBasedAbstractMap",2077),D(842,2077,Xw),h.$b=function(){throw ue(new Qr)},h._b=function(t){return oZe(this.c,t)},h.kc=function(){return new Gnt(this,this.c.b.c.gc())},h.lc=function(){return Sae(this.c.b.c.gc(),16,new vz(this))},h.xc=function(t){var n;return n=l(H_(this.c,t),17),n?this.vd(n.a):null},h.dc=function(){return this.c.b.c.dc()},h.ec=function(){return Nae(this.c)},h.zc=function(t,n){var r;if(r=l(H_(this.c,t),17),!r)throw ue(new Yn(this.ud()+" "+t+" not in "+Nae(this.c)));return this.wd(r.a,n)},h.Bc=function(t){throw ue(new Qr)},h.gc=function(){return this.c.b.c.gc()},I(dn,"ArrayTable/ArrayMap",842),D(2020,1,{},vz),h.td=function(t){return Qst(this.a,t)},I(dn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),D(2018,358,Ple,OZe),h.ld=function(){return Khn(this.a,this.b)},h.md=function(){return this.a.vd(this.b)},h.nd=function(t){return this.a.wd(this.b,t)},h.b=0,I(dn,"ArrayTable/ArrayMap/1",2018),D(2019,399,tT,Gnt),h.Xb=function(t){return Qst(this.a,t)},I(dn,"ArrayTable/ArrayMap/2",2019),D(2017,842,Xw,Rst),h.ud=function(){return"Column"},h.vd=function(t){return ox(this.b,this.a,t)},h.wd=function(t,n){return o0t(this.b,this.a,t,n)},h.a=0,I(dn,"ArrayTable/Row",2017),D(843,842,Xw,Aye),h.vd=function(t){return new Rst(this.a,t)},h.zc=function(t,n){return l(n,85),gun()},h.wd=function(t,n){return l(n,85),pun()},h.ud=function(){return"Row"},I(dn,"ArrayTable/RowMap",843),D(1157,1,Bh,NZe),h.Ad=function(t){return(this.a.yd()&-262&t)!=0},h.yd=function(){return this.a.yd()&-262},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Nb(new BZe(t,this.b))},h.Bd=function(t){return this.a.Bd(new PZe(t,this.b))},I(dn,"CollectSpliterators/1",1157),D(1158,1,fr,PZe),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(dn,"CollectSpliterators/1/lambda$0$Type",1158),D(1159,1,fr,BZe),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(dn,"CollectSpliterators/1/lambda$1$Type",1159),D(1154,1,Bh,oit),h.Ad=function(t){return((16464|this.b)&t)!=0},h.yd=function(){return 16464|this.b},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Qe(new RZe(t,this.c))},h.Bd=function(t){return this.a.Re(new FZe(t,this.c))},h.b=0,I(dn,"CollectSpliterators/1WithCharacteristics",1154),D(1155,1,kP,FZe),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(dn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),D(1156,1,kP,RZe),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(dn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),D(1150,1,Bh),h.Ad=function(t){return(this.a&t)!=0},h.yd=function(){return this.a},h.zd=function(){return this.e&&(this.b=bye(this.b,this.e.zd())),bye(this.b,0)},h.Nb=function(t){this.e&&(this.e.Nb(t),this.e=null),this.c.Nb(new jZe(this,t)),this.b=0},h.Bd=function(t){for(;;){if(this.e&&this.e.Bd(t))return I_(this.b,EP)&&(this.b=Mf(this.b,1)),!0;if(this.e=null,!this.c.Bd(new xie(this)))return!1}},h.a=0,h.b=0,I(dn,"CollectSpliterators/FlatMapSpliterator",1150),D(1152,1,fr,xie),h.Cd=function(t){Ufn(this.a,t)},I(dn,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),D(1153,1,fr,jZe),h.Cd=function(t){bpn(this.a,this.b,t)},I(dn,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),D(1151,1150,Bh,_ct),I(dn,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),D(253,1,Ble),h.Fd=function(t){return this.Ed(l(t,253))},h.Ed=function(t){var n;return t==(Kie(),x0e)?1:t==(Gie(),y0e)?-1:(n=(eH(),vN(this.a,t.a)),n!=0?n:De(this,526)==De(t,526)?0:De(this,526)?1:-1)},h.Id=function(){return this.a},h.Fb=function(t){return ixe(this,t)},I(dn,"Cut",253),D(1823,253,Ble,EJe),h.Ed=function(t){return t==this?0:1},h.Gd=function(t){throw ue(new _we)},h.Hd=function(t){t.a+="+∞)"},h.Id=function(){throw ue(new rc(Nwt))},h.Hb=function(){return Hg(),H8e(this)},h.Jd=function(t){return!1},h.Ib=function(){return"+∞"};var y0e;I(dn,"Cut/AboveAll",1823),D(526,253,{253:1,526:1,3:1,34:1},Jnt),h.Gd=function(t){Eu((t.a+="(",t),this.a)},h.Hd=function(t){fb(Eu(t,this.a),93)},h.Hb=function(){return~Zi(this.a)},h.Jd=function(t){return eH(),vN(this.a,t)<0},h.Ib=function(){return"/"+this.a+"\\"},I(dn,"Cut/AboveValue",526),D(1822,253,Ble,kJe),h.Ed=function(t){return t==this?0:-1},h.Gd=function(t){t.a+="(-∞"},h.Hd=function(t){throw ue(new _we)},h.Id=function(){throw ue(new rc(Nwt))},h.Hb=function(){return Hg(),H8e(this)},h.Jd=function(t){return!0},h.Ib=function(){return"-∞"};var x0e;I(dn,"Cut/BelowAll",1822),D(1824,253,Ble,Znt),h.Gd=function(t){Eu((t.a+="[",t),this.a)},h.Hd=function(t){fb(Eu(t,this.a),41)},h.Hb=function(){return Zi(this.a)},h.Jd=function(t){return eH(),vN(this.a,t)<=0},h.Ib=function(){return"\\"+this.a+"/"},I(dn,"Cut/BelowValue",1824),D(547,1,lg),h.Jc=function(t){to(this,t)},h.Ib=function(){return D4n(l(AH(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},I(dn,"FluentIterable",547),D(442,547,lg,P_),h.Kc=function(){return new hr(dr(this.a.Kc(),new j))},I(dn,"FluentIterable/2",442),D(1059,547,lg,ont),h.Kc=function(){return ng(this)},I(dn,"FluentIterable/3",1059),D(724,399,tT,Lye),h.Xb=function(t){return this.a[t].Kc()},I(dn,"FluentIterable/3/1",724),D(2070,1,{}),h.Ib=function(){return Ec(this.Kd().b)},I(dn,"ForwardingObject",2070),D(2071,2070,Pwt),h.Kd=function(){return this.Ld()},h.Jc=function(t){to(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new bn(null,this.Nc())},h.Fc=function(t){return this.Ld(),uZe()},h.Gc=function(t){return this.Ld(),lZe()},h.$b=function(){this.Ld(),hZe()},h.Hc=function(t){return this.Ld().Hc(t)},h.Ic=function(t){return this.Ld().Ic(t)},h.dc=function(){return this.Ld().b.dc()},h.Kc=function(){return this.Ld().Kc()},h.Mc=function(t){return this.Ld(),fZe()},h.gc=function(){return this.Ld().b.gc()},h.Pc=function(){return this.Ld().Pc()},h.Qc=function(t){return this.Ld().Qc(t)},I(dn,"ForwardingCollection",2071),D(2078,31,nEe),h.Kc=function(){return this.Od()},h.Fc=function(t){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.Md=function(){var t;return t=this.c,t||(this.c=this.Nd())},h.$b=function(){throw ue(new Qr)},h.Hc=function(t){return t!=null&&Py(this,t,!1)},h.Nd=function(){switch(this.gc()){case 0:return xw(),xw(),k0e;case 1:return xw(),new _ae(Xr(this.Od().Pb()));default:return new c5e(this,this.Pc())}},h.Mc=function(t){throw ue(new Qr)},I(dn,"ImmutableCollection",2078),D(727,2078,nEe,Cwe),h.Kc=function(){return cx(this.a.Kc())},h.Hc=function(t){return t!=null&&this.a.Hc(t)},h.Ic=function(t){return this.a.Ic(t)},h.dc=function(){return this.a.dc()},h.Od=function(){return cx(this.a.Kc())},h.gc=function(){return this.a.gc()},h.Pc=function(){return this.a.Pc()},h.Qc=function(t){return this.a.Qc(t)},h.Ib=function(){return Ec(this.a)},I(dn,"ForwardingImmutableCollection",727),D(307,2078,nT),h.Kc=function(){return this.Od()},h.ed=function(){return this.Pd(0)},h.fd=function(t){return this.Pd(t)},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.kd=function(t,n){return this.Qd(t,n)},h.bd=function(t,n){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Md=function(){return this},h.Fb=function(t){return GEn(this,t)},h.Hb=function(){return $3n(this)},h.dd=function(t){return t==null?-1:u7n(this,t)},h.Od=function(){return this.Pd(0)},h.Pd=function(t){return sae(this,t)},h.gd=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},h.Qd=function(t,n){var r;return jV((r=new YZe(this),new e2(r,t,n)))};var k0e;I(dn,"ImmutableList",307),D(2105,307,nT),h.Kc=function(){return cx(this.Rd().Kc())},h.kd=function(t,n){return jV(this.Rd().kd(t,n))},h.Hc=function(t){return t!=null&&this.Rd().Hc(t)},h.Ic=function(t){return this.Rd().Ic(t)},h.Fb=function(t){return Bi(this.Rd(),t)},h.Xb=function(t){return ob(this,t)},h.Hb=function(){return Zi(this.Rd())},h.dd=function(t){return this.Rd().dd(t)},h.dc=function(){return this.Rd().dc()},h.Od=function(){return cx(this.Rd().Kc())},h.gc=function(){return this.Rd().gc()},h.Qd=function(t,n){return jV(this.Rd().kd(t,n))},h.Pc=function(){return this.Rd().Qc(We(wa,Rn,1,this.Rd().gc(),5,1))},h.Qc=function(t){return this.Rd().Qc(t)},h.Ib=function(){return Ec(this.Rd())},I(dn,"ForwardingImmutableList",2105),D(729,1,rT),h.vc=function(){return Mm(this)},h.wc=function(t){mA(this,t)},h.ec=function(){return Nae(this)},h.yc=function(t,n,r){return Hce(this,t,n,r)},h.Cc=function(){return this.Vd()},h.$b=function(){throw ue(new Qr)},h._b=function(t){return this.xc(t)!=null},h.uc=function(t){return this.Vd().Hc(t)},h.Td=function(){return new DQe(this)},h.Ud=function(){return new IQe(this)},h.Fb=function(t){return Iyn(this,t)},h.Hb=function(){return Mm(this).Hb()},h.dc=function(){return this.gc()==0},h.zc=function(t,n){return dun()},h.Bc=function(t){throw ue(new Qr)},h.Ib=function(){return w9n(this)},h.Vd=function(){return this.e?this.e:this.e=this.Ud()},h.c=null,h.d=null,h.e=null;var a6t;I(dn,"ImmutableMap",729),D(730,729,rT),h._b=function(t){return oZe(this,t)},h.uc=function(t){return tet(this.b,t)},h.Sd=function(){return r1t(new wie(this))},h.Td=function(){return r1t(wat(this.b))},h.Ud=function(){return bd(),new Cwe(vat(this.b))},h.Fb=function(t){return net(this.b,t)},h.xc=function(t){return H_(this,t)},h.Hb=function(){return Zi(this.b.c)},h.dc=function(){return this.b.c.dc()},h.gc=function(){return this.b.c.gc()},h.Ib=function(){return Ec(this.b.c)},I(dn,"ForwardingImmutableMap",730),D(2072,2071,Fle),h.Kd=function(){return this.Wd()},h.Ld=function(){return this.Wd()},h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return t===this||this.Wd().Fb(t)},h.Hb=function(){return this.Wd().Hb()},I(dn,"ForwardingSet",2072),D(1085,2072,Fle,wie),h.Kd=function(){return Kk(this.a.b)},h.Ld=function(){return Kk(this.a.b)},h.Hc=function(t){if(De(t,44)&&l(t,44).ld()==null)return!1;try{return eet(Kk(this.a.b),t)}catch(n){if(n=ms(n),De(n,212))return!1;throw ue(n)}},h.Wd=function(){return Kk(this.a.b)},h.Qc=function(t){var n;return n=rot(Kk(this.a.b),t),Kk(this.a.b).b.gc()=0?"+":"")+(r/60|0),n=Oq(b.Math.abs(r)%60),(Ggt(),C6t)[this.q.getDay()]+" "+S6t[this.q.getMonth()]+" "+Oq(this.q.getDate())+" "+Oq(this.q.getHours())+":"+Oq(this.q.getMinutes())+":"+Oq(this.q.getSeconds())+" GMT"+t+n+" "+this.q.getFullYear()};var uK=I(Lr,"Date",206);D(2015,206,Vwt,pgt),h.a=!1,h.b=0,h.c=0,h.d=0,h.e=0,h.f=0,h.g=!1,h.i=0,h.j=0,h.k=0,h.n=0,h.o=0,h.p=0,I("com.google.gwt.i18n.shared.impl","DateRecord",2015),D(2064,1,{}),h.pe=function(){return null},h.qe=function(){return null},h.re=function(){return null},h.se=function(){return null},h.te=function(){return null},I(Ax,"JSONValue",2064),D(221,2064,{221:1},zp,_z),h.Fb=function(t){return De(t,221)?Y5e(this.a,l(t,221).a):!1},h.oe=function(){return Rcn},h.Hb=function(){return R5e(this.a)},h.pe=function(){return this},h.Ib=function(){var t,n,r;for(r=new Ch("["),n=0,t=this.a.length;n0&&(r.a+=","),Eu(r,Ay(this,n));return r.a+="]",r.a},I(Ax,"JSONArray",221),D(493,2064,{493:1},zc),h.oe=function(){return jcn},h.qe=function(){return this},h.Ib=function(){return Vn(),""+this.a},h.a=!1;var d6t,g6t;I(Ax,"JSONBoolean",493),D(997,63,up,DJe),I(Ax,"JSONException",997),D(1036,2064,{},K),h.oe=function(){return $cn},h.Ib=function(){return hl};var p6t;I(Ax,"JSONNull",1036),D(263,2064,{263:1},vk),h.Fb=function(t){return De(t,263)?this.a==l(t,263).a:!1},h.oe=function(){return Bcn},h.Hb=function(){return j8(this.a)},h.re=function(){return this},h.Ib=function(){return this.a+""},h.a=0,I(Ax,"JSONNumber",263),D(190,2064,{190:1},M8,wk),h.Fb=function(t){return De(t,190)?Y5e(this.a,l(t,190).a):!1},h.oe=function(){return Fcn},h.Hb=function(){return R5e(this.a)},h.se=function(){return this},h.Ib=function(){var t,n,r,a,o,f,g;for(g=new Ch("{"),t=!0,f=oce(this,We(zt,dt,2,0,6,1)),r=f,a=0,o=r.length;a=0?":"+this.c:"")+")"},h.c=0;var o_e=I(Gc,"StackTraceElement",319);s6t={3:1,484:1,34:1,2:1};var zt=I(Gc,rEe,2);D(111,427,{484:1},Gp,h_,_f),I(Gc,"StringBuffer",111),D(104,427,{484:1},nb,S5,Ch),I(Gc,"StringBuilder",104),D(702,77,ahe,t3e),I(Gc,"StringIndexOutOfBoundsException",702),D(2145,1,{});var w6t;D(48,63,{3:1,103:1,63:1,82:1,48:1},Qr,Vp),I(Gc,"UnsupportedOperationException",48),D(247,242,{3:1,34:1,242:1,247:1},NN,f3e),h.Fd=function(t){return jmt(this,l(t,247))},h.ue=function(){return $y(dvt(this))},h.Fb=function(t){var n;return this===t?!0:De(t,247)?(n=l(t,247),this.e==n.e&&jmt(this,n)==0):!1},h.Hb=function(){var t;return this.b!=0?this.b:this.a<54?(t=nu(this.f),this.b=Yr(va(t,-1)),this.b=33*this.b+Yr(va(vw(t,32),-1)),this.b=17*this.b+la(this.e),this.b):(this.b=17*J0t(this.c)+la(this.e),this.b)},h.Ib=function(){return dvt(this)},h.a=0,h.b=0,h.d=0,h.e=0,h.f=0;var y6t,lv,c_e,u_e,l_e,h_e,f_e,d_e,M0e=I("java.math","BigDecimal",247);D(92,242,{3:1,34:1,242:1,92:1},Xg,Vot,Im,Z1t,cb),h.Fd=function(t){return Y1t(this,l(t,92))},h.ue=function(){return $y(Ile(this,0))},h.Fb=function(t){return S8e(this,t)},h.Hb=function(){return J0t(this)},h.Ib=function(){return Ile(this,0)},h.b=-2,h.c=0,h.d=0,h.e=0;var x6t,lK,k6t,D0e,hK,BL,A6=I("java.math","BigInteger",92),E6t,T6t,$x,FL;D(498,2065,Xw),h.$b=function(){Pl(this)},h._b=function(t){return Uu(this,t)},h.uc=function(t){return O0t(this,t,this.i)||O0t(this,t,this.f)},h.vc=function(){return new Cr(this)},h.xc=function(t){return cr(this,t)},h.zc=function(t,n){return Ei(this,t,n)},h.Bc=function(t){return ax(this,t)},h.gc=function(){return d_(this)},h.g=0,I(Lr,"AbstractHashMap",498),D(267,j1,_l,Cr),h.$b=function(){this.a.$b()},h.Hc=function(t){return yct(this,t)},h.Kc=function(){return new qm(this.a)},h.Mc=function(t){var n;return yct(this,t)?(n=l(t,44).ld(),this.a.Bc(n),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractHashMap/EntrySet",267),D(268,1,Oa,qm),h.Nb=function(t){Za(this,t)},h.Pb=function(){return Bw(this)},h.Ob=function(){return this.b},h.Qb=function(){Ylt(this)},h.b=!1,h.d=0,I(Lr,"AbstractHashMap/EntrySetIterator",268),D(426,1,Oa,kr),h.Nb=function(t){Za(this,t)},h.Ob=function(){return hse(this)},h.Pb=function(){return O5e(this)},h.Qb=function(){mh(this)},h.b=0,h.c=-1,I(Lr,"AbstractList/IteratorImpl",426),D(98,426,ug,Ua),h.Qb=function(){mh(this)},h.Rb=function(t){my(this,t)},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Ub=function(){return mr(this.b>0),this.a.Xb(this.c=--this.b)},h.Vb=function(){return this.b-1},h.Wb=function(t){py(this.c!=-1),this.a.hd(this.c,t)},I(Lr,"AbstractList/ListIteratorImpl",98),D(244,56,iT,e2),h.bd=function(t,n){Ty(t,this.b),this.c.bd(this.a+t,n),++this.b},h.Xb=function(t){return Sn(t,this.b),this.c.Xb(this.a+t)},h.gd=function(t){var n;return Sn(t,this.b),n=this.c.gd(this.a+t),--this.b,n},h.hd=function(t,n){return Sn(t,this.b),this.c.hd(this.a+t,n)},h.gc=function(){return this.b},h.a=0,h.b=0,I(Lr,"AbstractList/SubList",244),D(266,j1,_l,br),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new Di(t)},h.Mc=function(t){return this.a._b(t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractMap/1",266),D(541,1,Oa,Di),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.ld()},h.Qb=function(){this.a.Qb()},I(Lr,"AbstractMap/1/1",541),D(231,31,Yy,pi),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a.uc(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new ds(t)},h.gc=function(){return this.a.gc()},I(Lr,"AbstractMap/2",231),D(301,1,Oa,ds),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.md()},h.Qb=function(){this.a.Qb()},I(Lr,"AbstractMap/2/1",301),D(494,1,{494:1,44:1}),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),tu(this.d,n.ld())&&tu(this.e,n.md())):!1},h.ld=function(){return this.d},h.md=function(){return this.e},h.Hb=function(){return R5(this.d)^R5(this.e)},h.nd=function(t){return e4e(this,t)},h.Ib=function(){return this.d+"="+this.e},I(Lr,"AbstractMap/AbstractEntry",494),D(397,494,{494:1,397:1,44:1},uq),I(Lr,"AbstractMap/SimpleEntry",397),D(2082,1,uhe),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),tu(this.ld(),n.ld())&&tu(this.md(),n.md())):!1},h.Hb=function(){return R5(this.ld())^R5(this.md())},h.Ib=function(){return this.ld()+"="+this.md()},I(Lr,Iwt,2082),D(2090,2065,eEe),h.Xc=function(t){return ise(this.Ee(t))},h.tc=function(t){return Sut(this,t)},h._b=function(t){return t4e(this,t)},h.vc=function(){return new Rs(this)},h.Tc=function(){return $st(this.Ge())},h.Yc=function(t){return ise(this.He(t))},h.xc=function(t){var n;return n=t,fc(this.Fe(n))},h.$c=function(t){return ise(this.Ie(t))},h.ec=function(){return new Fs(this)},h.Vc=function(){return $st(this.Je())},h._c=function(t){return ise(this.Ke(t))},I(Lr,"AbstractNavigableMap",2090),D(629,j1,_l,Rs),h.Hc=function(t){return De(t,44)&&Sut(this.b,l(t,44))},h.Kc=function(){return this.b.De()},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),this.b.Le(n)):!1},h.gc=function(){return this.b.gc()},I(Lr,"AbstractNavigableMap/EntrySet",629),D(1146,j1,tEe,Fs),h.Nc=function(){return new oq(this)},h.$b=function(){this.a.$b()},h.Hc=function(t){return t4e(this.a,t)},h.Kc=function(){var t;return t=this.a.vc().b.De(),new ks(t)},h.Mc=function(t){return t4e(this.a,t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(Lr,"AbstractNavigableMap/NavigableKeySet",1146),D(1147,1,Oa,ks),h.Nb=function(t){Za(this,t)},h.Ob=function(){return hse(this.a.a)},h.Pb=function(){var t;return t=urt(this.a),t.ld()},h.Qb=function(){pit(this.a)},I(Lr,"AbstractNavigableMap/NavigableKeySet/1",1147),D(2103,31,Yy),h.Fc=function(t){return K8($E(this,t),aT),!0},h.Gc=function(t){return nr(t),BO(t!=this,"Can't add a queue to itself"),Ka(this,t)},h.$b=function(){for(;Woe(this)!=null;);},I(Lr,"AbstractQueue",2103),D(310,31,{4:1,20:1,31:1,16:1},z5,pct),h.Fc=function(t){return s6e(this,t),!0},h.$b=function(){h6e(this)},h.Hc=function(t){return t0t(new nA(this),t)},h.dc=function(){return l_(this)},h.Kc=function(){return new nA(this)},h.Mc=function(t){return x2n(new nA(this),t)},h.gc=function(){return this.c-this.b&this.a.length-1},h.Nc=function(){return new kn(this,272)},h.Qc=function(t){var n;return n=this.c-this.b&this.a.length-1,t.lengthn&&Ss(t,n,null),t},h.b=0,h.c=0,I(Lr,"ArrayDeque",310),D(459,1,Oa,nA),h.Nb=function(t){Za(this,t)},h.Ob=function(){return this.a!=this.b},h.Pb=function(){return RV(this)},h.Qb=function(){Qht(this)},h.a=0,h.b=0,h.c=-1,I(Lr,"ArrayDeque/IteratorImpl",459),D(13,56,Kwt,bt,Ru,Nl),h.bd=function(t,n){mw(this,t,n)},h.Fc=function(t){return vt(this,t)},h.cd=function(t,n){return J7e(this,t,n)},h.Gc=function(t){return ra(this,t)},h.$b=function(){oy(this.c,0)},h.Hc=function(t){return pc(this,t,0)!=-1},h.Jc=function(t){Gu(this,t)},h.Xb=function(t){return jt(this,t)},h.dd=function(t){return pc(this,t,0)},h.dc=function(){return this.c.length==0},h.Kc=function(){return new G(this)},h.gd=function(t){return n2(this,t)},h.Mc=function(t){return cl(this,t)},h.ce=function(t,n){Rot(this,t,n)},h.hd=function(t,n){return nf(this,t,n)},h.gc=function(){return this.c.length},h.jd=function(t){Hs(this,t)},h.Pc=function(){return tH(this.c)},h.Qc=function(t){return B1(this,t)};var lOn=I(Lr,"ArrayList",13);D(7,1,Oa,G),h.Nb=function(t){Za(this,t)},h.Ob=function(){return Dc(this)},h.Pb=function(){return re(this)},h.Qb=function(){Q_(this)},h.a=0,h.b=-1,I(Lr,"ArrayList/1",7),D(2112,b.Function,{},Ne),h.Me=function(t,n){return Yi(t,n)},D(151,56,Wwt,Ol),h.Hc=function(t){return Jht(this,t)!=-1},h.Jc=function(t){var n,r,a,o;for(nr(t),r=this.a,a=0,o=r.length;a0)throw ue(new Yn(hEe+t+" greater than "+this.e));return this.f.Te()?oot(this.c,this.b,this.a,t,n):jot(this.c,t,n)},h.zc=function(t,n){if(!kue(this.c,this.f,t,this.b,this.a,this.e,this.d))throw ue(new Yn(t+" outside the range "+this.b+" to "+this.e));return v0t(this.c,t,n)},h.Bc=function(t){var n;return n=t,kue(this.c,this.f,n,this.b,this.a,this.e,this.d)?cot(this.c,n):null},h.Le=function(t){return xH(this,t.ld())&&M6e(this.c,t)},h.gc=function(){var t,n,r;if(this.f.Te()?this.a?n=OE(this.c,this.b,!0):n=OE(this.c,this.b,!1):n=$6e(this.c),!(n&&xH(this,n.d)&&n))return 0;for(t=0,r=new cce(this.c,this.f,this.b,this.a,this.e,this.d);hse(r.a);r.b=l(O5e(r.a),44))++t;return t},h.ad=function(t,n){if(this.f.Te()&&this.c.a.Ne(t,this.b)<0)throw ue(new Yn(hEe+t+Qwt+this.b));return this.f.Ue()?oot(this.c,t,n,this.e,this.d):$ot(this.c,t,n)},h.a=!1,h.d=!1,I(Lr,"TreeMap/SubMap",631),D(304,22,dhe,cq),h.Te=function(){return!1},h.Ue=function(){return!1};var N0e,P0e,B0e,F0e,dK=Fr(Lr,"TreeMap/SubMapType",304,Hr,Wbn,i0n);D(1143,304,dhe,dnt),h.Ue=function(){return!0},Fr(Lr,"TreeMap/SubMapType/1",1143,dK,null,null),D(1144,304,dhe,knt),h.Te=function(){return!0},h.Ue=function(){return!0},Fr(Lr,"TreeMap/SubMapType/2",1144,dK,null,null),D(1145,304,dhe,fnt),h.Te=function(){return!0},Fr(Lr,"TreeMap/SubMapType/3",1145,dK,null,null);var I6t;D(157,j1,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},Mwe,Wp,ba),h.Nc=function(){return new oq(this)},h.Fc=function(t){return jO(this,t)},h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){return this.a.ec().Kc()},h.Mc=function(t){return nae(this,t)},h.gc=function(){return this.a.gc()};var bOn=I(Lr,"TreeSet",157);D(1082,1,{},wo),h.Ve=function(t,n){return xfn(this.a,t,n)},I(ghe,"BinaryOperator/lambda$0$Type",1082),D(1083,1,{},fh),h.Ve=function(t,n){return kfn(this.a,t,n)},I(ghe,"BinaryOperator/lambda$1$Type",1083),D(952,1,{},Pt),h.Kb=function(t){return t},I(ghe,"Function/lambda$0$Type",952),D(395,1,ei,Yl),h.Mb=function(t){return!this.a.Mb(t)},I(ghe,"Predicate/lambda$2$Type",395),D(581,1,{581:1});var O6t=I(aL,"Handler",581);D(2107,1,yP),h.xe=function(){return"DUMMY"},h.Ib=function(){return this.xe()};var y_e;I(aL,"Level",2107),D(1706,2107,yP,Ze),h.xe=function(){return"INFO"},I(aL,"Level/LevelInfo",1706),D(1843,1,{},jQe);var R0e;I(aL,"LogManager",1843),D(1896,1,yP,git),h.b=null,I(aL,"LogRecord",1896),D(525,1,{525:1},_oe),h.e=!1;var N6t=!1,P6t=!1,H1=!1,B6t=!1,F6t=!1;I(aL,"Logger",525),D(835,581,{581:1},At),I(aL,"SimpleConsoleLogHandler",835),D(108,22,{3:1,34:1,22:1,108:1},gse);var x_e,Cc,s4,cc=Fr(sa,"Collector/Characteristics",108,Hr,P2n,s0n),R6t;D(758,1,{},f5e),I(sa,"CollectorImpl",758),D(1074,1,{},Tt),h.Ve=function(t,n){return p4n(l(t,213),l(n,213))},I(sa,"Collectors/10methodref$merge$Type",1074),D(1075,1,{},On),h.Kb=function(t){return bct(l(t,213))},I(sa,"Collectors/11methodref$toString$Type",1075),D(1076,1,{},eb),h.Kb=function(t){return Vn(),!!aye(t)},I(sa,"Collectors/12methodref$test$Type",1076),D(144,1,{},ht),h.Yd=function(t,n){l(t,16).Fc(n)},I(sa,"Collectors/20methodref$add$Type",144),D(146,1,{},zr),h.Xe=function(){return new bt},I(sa,"Collectors/21methodref$ctor$Type",146),D(359,1,{},yt),h.Xe=function(){return new Gs},I(sa,"Collectors/23methodref$ctor$Type",359),D(360,1,{},Fi),h.Yd=function(t,n){na(l(t,49),n)},I(sa,"Collectors/24methodref$add$Type",360),D(1069,1,{},yi),h.Ve=function(t,n){return set(l(t,15),l(n,16))},I(sa,"Collectors/4methodref$addAll$Type",1069),D(1073,1,{},Pa),h.Yd=function(t,n){Qg(l(t,213),l(n,484))},I(sa,"Collectors/9methodref$add$Type",1073),D(1072,1,{},Dit),h.Xe=function(){return new Hm(this.a,this.b,this.c)},I(sa,"Collectors/lambda$15$Type",1072),D(1077,1,{},ta),h.Xe=function(){var t;return t=new t2,f2(t,(Vn(),!1),new bt),f2(t,!0,new bt),t},I(sa,"Collectors/lambda$22$Type",1077),D(1078,1,{},tb),h.Xe=function(){return he(le(wa,1),Rn,1,5,[this.a])},I(sa,"Collectors/lambda$25$Type",1078),D(1079,1,{},V0),h.Yd=function(t,n){zdn(this.a,jm(t))},I(sa,"Collectors/lambda$26$Type",1079),D(1080,1,{},qp),h.Ve=function(t,n){return pgn(this.a,jm(t),jm(n))},I(sa,"Collectors/lambda$27$Type",1080),D(1081,1,{},$o),h.Kb=function(t){return jm(t)[0]},I(sa,"Collectors/lambda$28$Type",1081),D(728,1,{},Ar),h.Ve=function(t,n){return G4e(t,n)},I(sa,"Collectors/lambda$4$Type",728),D(145,1,{},Nn),h.Ve=function(t,n){return Xun(l(t,16),l(n,16))},I(sa,"Collectors/lambda$42$Type",145),D(361,1,{},$n),h.Ve=function(t,n){return Qun(l(t,49),l(n,49))},I(sa,"Collectors/lambda$50$Type",361),D(362,1,{},qn),h.Kb=function(t){return l(t,49)},I(sa,"Collectors/lambda$51$Type",362),D(1068,1,{},ud),h.Yd=function(t,n){xyn(this.a,l(t,85),n)},I(sa,"Collectors/lambda$7$Type",1068),D(1070,1,{},Lt),h.Ve=function(t,n){return Q3n(l(t,85),l(n,85),new yi)},I(sa,"Collectors/lambda$8$Type",1070),D(1071,1,{},Xv),h.Kb=function(t){return W4n(this.a,l(t,85))},I(sa,"Collectors/lambda$9$Type",1071),D(550,1,{}),h.$e=function(){tA(this)},h.d=!1,I(sa,"TerminatableStream",550),D(827,550,fEe,Uye),h.$e=function(){tA(this)},I(sa,"DoubleStreamImpl",827),D(1847,736,Bh,Iit),h.Re=function(t){return Q6n(this,l(t,189))},h.a=null,I(sa,"DoubleStreamImpl/2",1847),D(1848,1,LP,ay),h.Pe=function(t){Vln(this.a,t)},I(sa,"DoubleStreamImpl/2/lambda$0$Type",1848),D(1845,1,LP,E8),h.Pe=function(t){Hln(this.a,t)},I(sa,"DoubleStreamImpl/lambda$0$Type",1845),D(1846,1,LP,x5),h.Pe=function(t){I1t(this.a,t)},I(sa,"DoubleStreamImpl/lambda$2$Type",1846),D(1397,735,Bh,xut),h.Re=function(t){return Fbn(this,l(t,202))},h.a=0,h.b=0,h.c=0,I(sa,"IntStream/5",1397),D(806,550,fEe,Gye),h.$e=function(){tA(this)},h._e=function(){return db(this),this.a},I(sa,"IntStreamImpl",806),D(807,550,fEe,m3e),h.$e=function(){tA(this)},h._e=function(){return db(this),_ye(),D6t},I(sa,"IntStreamImpl/Empty",807),D(1687,1,kP,T8),h.Dd=function(t){qft(this.a,t)},I(sa,"IntStreamImpl/lambda$4$Type",1687);var mOn=Es(sa,"Stream");D(26,550,{533:1,687:1,848:1},bn),h.$e=function(){tA(this)};var zx;I(sa,"StreamImpl",26),D(1102,500,Bh,ait),h.Bd=function(t){for(;$vn(this);){if(this.a.Bd(t))return!0;tA(this.b),this.b=null,this.a=null}return!1},I(sa,"StreamImpl/1",1102),D(1103,1,fr,ZS),h.Cd=function(t){ddn(this.a,l(t,848))},I(sa,"StreamImpl/1/lambda$0$Type",1103),D(1104,1,ei,k5),h.Mb=function(t){return na(this.a,t)},I(sa,"StreamImpl/1methodref$add$Type",1104),D(1105,500,Bh,$at),h.Bd=function(t){var n;return this.a||(n=new bt,this.b.a.Nb(new Xd(n)),Cn(),Hs(n,this.c),this.a=new kn(n,16)),Eht(this.a,t)},h.a=null,I(sa,"StreamImpl/5",1105),D(1106,1,fr,Xd),h.Cd=function(t){vt(this.a,t)},I(sa,"StreamImpl/5/2methodref$add$Type",1106),D(737,500,Bh,z6e),h.Bd=function(t){for(this.b=!1;!this.b&&this.c.Bd(new Eet(this,t)););return this.b},h.b=!1,I(sa,"StreamImpl/FilterSpliterator",737),D(1096,1,fr,Eet),h.Cd=function(t){ugn(this.a,this.b,t)},I(sa,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),D(1091,736,Bh,Iut),h.Re=function(t){return Hfn(this,l(t,189))},I(sa,"StreamImpl/MapToDoubleSpliterator",1091),D(1095,1,fr,Tet),h.Cd=function(t){dln(this.a,this.b,t)},I(sa,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),D(1090,735,Bh,Out),h.Re=function(t){return Vfn(this,l(t,202))},I(sa,"StreamImpl/MapToIntSpliterator",1090),D(1094,1,fr,Cet),h.Cd=function(t){gln(this.a,this.b,t)},I(sa,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),D(734,500,Bh,S6e),h.Bd=function(t){return rit(this,t)},I(sa,"StreamImpl/MapToObjSpliterator",734),D(1093,1,fr,_et),h.Cd=function(t){pln(this.a,this.b,t)},I(sa,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),D(1092,500,Bh,cft),h.Bd=function(t){for(;fse(this.b,0);){if(!this.a.Bd(new wt))return!1;this.b=Mf(this.b,1)}return this.a.Bd(t)},h.b=0,I(sa,"StreamImpl/SkipSpliterator",1092),D(1097,1,fr,wt),h.Cd=function(t){},I(sa,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),D(626,1,fr,cn),h.Cd=function(t){Tie(this,t)},I(sa,"StreamImpl/ValueConsumer",626),D(1098,1,fr,fn),h.Cd=function(t){Am()},I(sa,"StreamImpl/lambda$0$Type",1098),D(1099,1,fr,Mn),h.Cd=function(t){Am()},I(sa,"StreamImpl/lambda$1$Type",1099),D(1100,1,{},T1),h.Ve=function(t,n){return k0n(this.a,t,n)},I(sa,"StreamImpl/lambda$4$Type",1100),D(1101,1,fr,Aet),h.Cd=function(t){Afn(this.b,this.a,t)},I(sa,"StreamImpl/lambda$5$Type",1101),D(1107,1,fr,Qd),h.Cd=function(t){j3n(this.a,l(t,380))},I(sa,"TerminatableStream/lambda$0$Type",1107),D(2142,1,{}),D(2014,1,{},mo),I("javaemul.internal","ConsoleLogger",2014);var vOn=0;D(2134,1,{}),D(1830,1,fr,Oo),h.Cd=function(t){l(t,317)},I(oT,"BowyerWatsonTriangulation/lambda$0$Type",1830),D(1831,1,fr,Em),h.Cd=function(t){Ka(this.a,l(t,317).e)},I(oT,"BowyerWatsonTriangulation/lambda$1$Type",1831),D(1832,1,fr,Xa),h.Cd=function(t){l(t,177)},I(oT,"BowyerWatsonTriangulation/lambda$2$Type",1832),D(1827,1,ri,Mz),h.Ne=function(t,n){return kmn(this.a,l(t,177),l(n,177))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(oT,"NaiveMinST/lambda$0$Type",1827),D(449,1,{},Qv),I(oT,"NodeMicroLayout",449),D(177,1,{177:1},B8),h.Fb=function(t){var n;return De(t,177)?(n=l(t,177),tu(this.a,n.a)&&tu(this.b,n.b)||tu(this.a,n.b)&&tu(this.b,n.a)):!1},h.Hb=function(){return R5(this.a)+R5(this.b)};var wOn=I(oT,"TEdge",177);D(317,1,{317:1},Ske),h.Fb=function(t){var n;return De(t,317)?(n=l(t,317),iV(this,n.a)&&iV(this,n.b)&&iV(this,n.c)):!1},h.Hb=function(){return R5(this.a)+R5(this.b)+R5(this.c)},I(oT,"TTriangle",317),D(225,1,{225:1},Pq),I(oT,"Tree",225),D(1218,1,{},Cot),I(e3t,"Scanline",1218);var j6t=Es(e3t,t3t);D(1758,1,{},yht),I(dg,"CGraph",1758),D(316,1,{316:1},Aot),h.b=0,h.c=0,h.d=0,h.g=0,h.i=0,h.k=ia,I(dg,"CGroup",316),D(830,1,{},Owe),I(dg,"CGroup/CGroupBuilder",830),D(60,1,{60:1},$rt),h.Ib=function(){var t;return this.j?Zr(this.j.Kb(this)):(Ug(gK),gK.o+"@"+(t=gw(this)>>>0,t.toString(16)))},h.f=0,h.i=ia;var gK=I(dg,"CNode",60);D(829,1,{},Nwe),I(dg,"CNode/CNodeBuilder",829);var $6t;D(1590,1,{},ca),h.ff=function(t,n){return 0},h.gf=function(t,n){return 0},I(dg,r3t,1590),D(1853,1,{},No),h.cf=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te;for(C=ps,a=new G(t.a.b);a.aa.d.c||a.d.c==f.d.c&&a.d.b0?t+this.n.d+this.n.a:0},h.kf=function(){var t,n,r,a,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].kf());else if(this.g)o=T8e(this,Tue(this,null,!0));else for(n=(Z0(),he(le(a4,1),it,237,0,[Wc,qu,Yc])),r=0,a=n.length;r0?o+this.n.b+this.n.c:0},h.lf=function(){var t,n,r,a,o;if(this.g)for(t=Tue(this,null,!1),r=(Z0(),he(le(a4,1),it,237,0,[Wc,qu,Yc])),a=0,o=r.length;a0&&(a[0]+=this.d,r-=a[0]),a[2]>0&&(a[2]+=this.d,r-=a[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+t.d+(this.c.a-r)/2,a[1]=b.Math.max(a[1],r),k6e(this,qu,n.d+t.d+a[0]-(a[1]-r)/2,a)},h.b=null,h.d=0,h.e=!1,h.f=!1,h.g=!1;var H0e=0,pK=0;I(ev,"GridContainerCell",1538),D(471,22,{3:1,34:1,22:1,471:1},bse);var Fb,Nd,m0,X6t=Fr(ev,"HorizontalLabelAlignment",471,Hr,F2n,l0n),Q6t;D(314,217,{217:1,314:1},hot,kht,iot),h.jf=function(){return Uit(this)},h.kf=function(){return $4e(this)},h.a=0,h.c=!1;var yOn=I(ev,"LabelCell",314);D(252,336,{217:1,336:1,252:1},DA),h.jf=function(){return tP(this)},h.kf=function(){return nP(this)},h.lf=function(){fle(this)},h.mf=function(){dle(this)},h.b=0,h.c=0,h.d=!1,I(ev,"StripContainerCell",252),D(1691,1,ei,yc),h.Mb=function(t){return lun(l(t,217))},I(ev,"StripContainerCell/lambda$0$Type",1691),D(1692,1,{},Jc),h.Ye=function(t){return l(t,217).kf()},I(ev,"StripContainerCell/lambda$1$Type",1692),D(1693,1,ei,Ra),h.Mb=function(t){return hun(l(t,217))},I(ev,"StripContainerCell/lambda$2$Type",1693),D(1694,1,{},du),h.Ye=function(t){return l(t,217).jf()},I(ev,"StripContainerCell/lambda$3$Type",1694),D(472,22,{3:1,34:1,22:1,472:1},mse);var v0,Rb,i1,J6t=Fr(ev,"VerticalLabelAlignment",472,Hr,B2n,h0n),Z6t;D(800,1,{},qke),h.c=0,h.d=0,h.k=0,h.s=0,h.t=0,h.v=!1,h.w=0,h.D=!1,I(nG,"NodeContext",800),D(1536,1,ri,Sa),h.Ne=function(t,n){return rnt(l(t,64),l(n,64))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(nG,"NodeContext/0methodref$comparePortSides$Type",1536),D(1537,1,ri,Bo),h.Ne=function(t,n){return $xn(l(t,117),l(n,117))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(nG,"NodeContext/1methodref$comparePortContexts$Type",1537),D(164,22,{3:1,34:1,22:1,164:1},af);var e7t,t7t,n7t,r7t,i7t,s7t,a7t,o7t,c7t,u7t,l7t,h7t,f7t,d7t,g7t,p7t,b7t,m7t,v7t,w7t,y7t,V0e,x7t=Fr(nG,"NodeLabelLocation",164,Hr,tue,f0n),k7t;D(117,1,{117:1},l2t),h.a=!1,I(nG,"PortContext",117),D(1541,1,fr,Rc),h.Cd=function(t){yZe(l(t,314))},I(DP,b3t,1541),D(1542,1,ei,Qa),h.Mb=function(t){return!!l(t,117).c},I(DP,m3t,1542),D(1543,1,fr,ja),h.Cd=function(t){yZe(l(t,117).c)},I(DP,"LabelPlacer/lambda$2$Type",1543);var H_e;D(1540,1,fr,xa),h.Cd=function(t){by(),Hcn(l(t,117))},I(DP,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),D(801,1,fr,w4e),h.Cd=function(t){rln(this.b,this.c,this.a,l(t,187))},h.a=!1,h.c=!1,I(DP,"NodeLabelCellCreator/lambda$0$Type",801),D(1539,1,fr,Iie),h.Cd=function(t){Gcn(this.a,l(t,187))},I(DP,"PortContextCreator/lambda$0$Type",1539);var bK;D(1902,1,{},xu),I(uT,"GreedyRectangleStripOverlapRemover",1902),D(1903,1,ri,jc),h.Ne=function(t,n){return Phn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),D(1849,1,{},HQe),h.a=5,h.e=0,I(uT,"RectangleStripOverlapRemover",1849),D(1850,1,ri,o5),h.Ne=function(t,n){return Bhn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),D(1852,1,ri,jg),h.Ne=function(t,n){return Cgn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(uT,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),D(417,22,{3:1,34:1,22:1,417:1},lq);var rB,U0e,G0e,iB,E7t=Fr(uT,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,Hr,Qbn,d0n),T7t;D(226,1,{226:1},Iae),I(uT,"RectangleStripOverlapRemover/RectangleNode",226),D(1851,1,fr,Oie),h.Cd=function(t){f7n(this.a,l(t,226))},I(uT,"RectangleStripOverlapRemover/lambda$1$Type",1851),D(1323,1,ri,id),h.Ne=function(t,n){return ILn(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(_d,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),D(1326,1,{},Hd),h.Kb=function(t){return l(t,334).a},I(_d,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),D(1327,1,ei,uh),h.Mb=function(t){return l(t,332).a},I(_d,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),D(1328,1,ei,Vd),h.Mb=function(t){return l(t,332).a},I(_d,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),D(1321,1,ri,Ud),h.Ne=function(t,n){return c_n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(_d,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),D(1324,1,{},Gd),h.Kb=function(t){return l(t,334).a},I(_d,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),D(781,1,ri,sd),h.Ne=function(t,n){return V3n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(_d,"PolyominoCompactor/MinNumOfExtensionsComparator",781),D(1319,1,ri,R0),h.Ne=function(t,n){return Jwn(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(_d,"PolyominoCompactor/MinPerimeterComparator",1319),D(1320,1,ri,ls),h.Ne=function(t,n){return B6n(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(_d,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),D(1322,1,ri,vn),h.Ne=function(t,n){return L_n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(_d,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),D(1325,1,{},si),h.Kb=function(t){return l(t,334).a},I(_d,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),D(782,1,{},M3e),h.Ve=function(t,n){return Hbn(this,l(t,42),l(n,176))},I(_d,"SuccessorCombination",782),D(649,1,{},ss),h.Ve=function(t,n){var r;return sEn((r=l(t,42),l(n,176),r))},I(_d,"SuccessorJitter",649),D(648,1,{},Zc),h.Ve=function(t,n){var r;return UCn((r=l(t,42),l(n,176),r))},I(_d,"SuccessorLineByLine",648),D(573,1,{},bl),h.Ve=function(t,n){var r;return sTn((r=l(t,42),l(n,176),r))},I(_d,"SuccessorManhattan",573),D(1344,1,{},ku),h.Ve=function(t,n){var r;return pCn((r=l(t,42),l(n,176),r))},I(_d,"SuccessorMaxNormWindingInMathPosSense",1344),D(409,1,{},E5),h.Ve=function(t,n){return l5e(this,t,n)},h.c=!1,h.d=!1,h.e=!1,h.f=!1,I(_d,"SuccessorQuadrantsGeneric",409),D(1345,1,{},Wi),h.Kb=function(t){return l(t,334).a},I(_d,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),D(332,22,{3:1,34:1,22:1,332:1},hq),h.a=!1;var sB,aB,oB,cB,C7t=Fr(iG,EEe,332,Hr,Ybn,g0n),S7t;D(1317,1,{}),h.Ib=function(){var t,n,r,a,o,f;for(r=" ",t=pt(0),o=0;o=0?"b"+t+"["+Soe(this.a)+"]":"b["+Soe(this.a)+"]"):"b_"+gw(this)},I(OP,"FBendpoint",250),D(290,137,{3:1,290:1,96:1,137:1},zrt),h.Ib=function(){return Soe(this)},I(OP,"FEdge",290),D(235,137,{3:1,235:1,96:1,137:1},WH);var kOn=I(OP,"FGraph",235);D(454,309,{3:1,454:1,309:1,96:1,137:1},Hct),h.Ib=function(){return this.b==null||this.b.length==0?"l["+Soe(this.a)+"]":"l_"+this.b},I(OP,"FLabel",454),D(153,309,{3:1,153:1,309:1,96:1,137:1},xnt),h.Ib=function(){return Q5e(this)},h.a=0,I(OP,"FNode",153),D(2100,1,{}),h.vf=function(t){xke(this,t)},h.wf=function(){Vdt(this)},h.d=0,I(IEe,"AbstractForceModel",2100),D(641,2100,{641:1},zft),h.uf=function(t,n){var r,a,o,f,g;return mvt(this.f,t,n),o=ma(Ja(n.d),t.d),g=b.Math.sqrt(o.a*o.a+o.b*o.b),a=b.Math.max(0,g-eA(t.e)/2-eA(n.e)/2),r=Zpt(this.e,t,n),r>0?f=-kgn(a,this.c)*r:f=Qhn(a,this.b)*l(Q(t,(p0(),qx)),17).a,gd(o,f/g),o},h.vf=function(t){xke(this,t),this.a=l(Q(t,(p0(),kK)),17).a,this.c=ze(Ge(Q(t,EK))),this.b=ze(Ge(Q(t,Z0e)))},h.xf=function(t){return t0&&(f-=aun(a,this.a)*r),gd(o,f*this.b/g),o},h.vf=function(t){var n,r,a,o,f,g,w;for(xke(this,t),this.b=ze(Ge(Q(t,(p0(),e1e)))),this.c=this.b/l(Q(t,kK),17).a,a=t.e.c.length,f=0,o=0,w=new G(t.e);w.a0},h.a=0,h.b=0,h.c=0,I(IEe,"FruchtermanReingoldModel",642),D(860,1,Nf,KS),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,oG),""),"Force Model"),"Determines the model for force calculation."),J_e),(p2(),bs)),Z_e),un((t1(),Bn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,OEe),""),"Iterations"),"The number of iterations on the force model."),pt(300)),Sc),ro),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,NEe),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),pt(0)),Sc),ro),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ihe),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Ad),lo),ea),un(Bn)))),Xs(t,Ihe,oG,G7t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ohe),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),lo),ea),un(Bn)))),Xs(t,Ohe,oG,H7t),swt((new WS,t))};var $7t,z7t,J_e,q7t,H7t,V7t,U7t,G7t;I(uL,"ForceMetaDataProvider",860),D(432,22,{3:1,34:1,22:1,432:1},I3e);var J0e,xK,Z_e=Fr(uL,"ForceModelStrategy",432,Hr,Hpn,m0n),K7t;D(m2,1,Nf,WS),h.hf=function(t){swt(t)};var W7t,Y7t,eAe,kK,tAe,X7t,Q7t,J7t,Z7t,nAe,e8t,rAe,iAe,t8t,qx,n8t,Z0e,sAe,r8t,i8t,EK,e1e,s8t,a8t,o8t,aAe,c8t;I(uL,"ForceOptions",m2),D(1001,1,{},od),h.sf=function(){var t;return t=new Iwe,t},h.tf=function(t){},I(uL,"ForceOptions/ForceFactory",1001);var hB,$L,Hx,TK;D(861,1,Nf,iz),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BEe),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Vn(),!1)),(p2(),ya)),Ps),un((t1(),fa))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FEe),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),lo),ea),ns(Bn,he(le(yg,1),it,170,0,[Rd]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,REe),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),oAe),bs),gAe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,jEe),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Ad),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,$Ee),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),pt(Oi)),Sc),ro),un(Bn)))),Ovt((new sz,t))};var u8t,l8t,oAe,h8t,f8t,d8t;I(uL,"StressMetaDataProvider",861),D(1004,1,Nf,sz),h.hf=function(t){Ovt(t)};var CK,cAe,uAe,lAe,hAe,fAe,g8t,p8t,b8t,m8t,dAe,v8t;I(uL,"StressOptions",1004),D(1005,1,{},m1),h.sf=function(){var t;return t=new qrt,t},h.tf=function(t){},I(uL,"StressOptions/StressFactory",1005),D(1110,205,tv,qrt),h.rf=function(t,n){var r,a,o,f,g;for(n.Ug(M3t,1),Rt(Bt(at(t,(VN(),hAe))))?Rt(Bt(at(t,dAe)))||KO((r=new Qv((cw(),new ew(t))),r)):X2t(new Iwe,t,n.eh(1)),o=h0t(t),a=qmt(this.a,o),g=a.Kc();g.Ob();)f=l(g.Pb(),235),!(f.e.c.length<=1)&&(LLn(this.b,f),eTn(this.b),Gu(f.d,new ad));o=nwt(a),fwt(o),n.Vg()},I(lG,"StressLayoutProvider",1110),D(1111,1,fr,ad),h.Cd=function(t){Lke(l(t,454))},I(lG,"StressLayoutProvider/lambda$0$Type",1111),D(1002,1,{},RQe),h.c=0,h.e=0,h.g=0,I(lG,"StressMajorization",1002),D(391,22,{3:1,34:1,22:1,391:1},vse);var t1e,n1e,r1e,gAe=Fr(lG,"StressMajorization/Dimension",391,Hr,j2n,v0n),w8t;D(1003,1,ri,Iz),h.Ne=function(t,n){return Gfn(this.a,l(t,153),l(n,153))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(lG,"StressMajorization/lambda$0$Type",1003),D(1192,1,{},Wot),I(Bx,"ElkLayered",1192),D(1193,1,fr,Oz),h.Cd=function(t){Lkn(this.a,l(t,36))},I(Bx,"ElkLayered/lambda$0$Type",1193),D(1194,1,fr,Nie),h.Cd=function(t){Kfn(this.a,l(t,36))},I(Bx,"ElkLayered/lambda$1$Type",1194),D(1281,1,{},Dnt);var y8t,x8t,k8t;I(Bx,"GraphConfigurator",1281),D(770,1,fr,Hp),h.Cd=function(t){rpt(this.a,l(t,10))},I(Bx,"GraphConfigurator/lambda$0$Type",770),D(771,1,{},u5),h.Kb=function(t){return vxe(),new bn(null,new kn(l(t,30).a,16))},I(Bx,"GraphConfigurator/lambda$1$Type",771),D(772,1,fr,n_),h.Cd=function(t){rpt(this.a,l(t,10))},I(Bx,"GraphConfigurator/lambda$2$Type",772),D(1109,205,tv,VQe),h.rf=function(t,n){var r;r=uLn(new GQe,t),qe(at(t,(Nt(),b4)))===qe((np(),L2))?z4n(this.a,r,n):XEn(this.a,r,n),n.$g()||Yvt(new b8,r)},I(Bx,"LayeredLayoutProvider",1109),D(367,22,{3:1,34:1,22:1,367:1},oO);var w0,mg,wu,Du,vc,pAe=Fr(Bx,"LayeredPhases",367,Hr,Hmn,w0n),E8t;D(1717,1,{},sft),h.i=0;var T8t;I(jP,"ComponentsToCGraphTransformer",1717);var C8t;D(1718,1,{},mm),h.yf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(jP,"ComponentsToCGraphTransformer/1",1718),D(86,1,{86:1}),h.i=0,h.k=!0,h.o=ia;var i1e=I(dL,"CNode",86);D(470,86,{470:1,86:1},Bye,G8e),h.Ib=function(){return""},I(jP,"ComponentsToCGraphTransformer/CRectNode",470),D(1688,1,{},q9);var s1e,a1e;I(jP,"OneDimensionalComponentsCompaction",1688),D(1689,1,{},Gv),h.Kb=function(t){return M2n(l(t,42))},h.Fb=function(t){return this===t},I(jP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),D(1690,1,{},Y7),h.Kb=function(t){return H4n(l(t,42))},h.Fb=function(t){return this===t},I(jP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),D(1720,1,{},tat),I(dL,"CGraph",1720),D(194,1,{194:1},Jce),h.b=0,h.c=0,h.e=0,h.g=!0,h.i=ia,I(dL,"CGroup",194),D(1719,1,{},K2),h.yf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(dL,r3t,1719),D(1721,1,{},t2t),h.d=!1;var S8t,o1e=I(dL,a3t,1721);D(1722,1,{},X7),h.Kb=function(t){return w3e(),Vn(),l(l(t,42).a,86).d.e!=0},h.Fb=function(t){return this===t},I(dL,o3t,1722),D(833,1,{},K4e),h.a=!1,h.b=!1,h.c=!1,h.d=!1,I(dL,c3t,833),D(1898,1,{},mst),I(hG,u3t,1898);var fB=Es(rv,t3t);D(1899,1,{382:1},Qat),h.bf=function(t){iSn(this,l(t,476))},I(hG,l3t,1899),D(Mb,1,ri,l5),h.Ne=function(t,n){return dpn(l(t,86),l(n,86))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(hG,h3t,Mb),D(476,1,{476:1},N3e),h.a=!1,I(hG,f3t,476),D(1901,1,ri,Q3),h.Ne=function(t,n){return g8n(l(t,476),l(n,476))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(hG,d3t,1901),D(148,1,{148:1},Ik,M4e),h.Fb=function(t){var n;return t==null||EOn!=vh(t)?!1:(n=l(t,148),tu(this.c,n.c)&&tu(this.d,n.d))},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.c,this.d]))},h.Ib=function(){return"("+this.c+Eo+this.d+(this.a?"cx":"")+this.b+")"},h.a=!0,h.c=0,h.d=0;var EOn=I(rv,"Point",148);D(416,22,{3:1,34:1,22:1,416:1},dq);var o3,o4,M6,c4,_8t=Fr(rv,"Point/Quadrant",416,Hr,Jbn,y0n),A8t;D(1708,1,{},qQe),h.b=null,h.c=null,h.d=null,h.e=null,h.f=null;var L8t,M8t,D8t,I8t,O8t;I(rv,"RectilinearConvexHull",1708),D(583,1,{382:1},rU),h.bf=function(t){qvn(this,l(t,148))},h.b=0;var bAe;I(rv,"RectilinearConvexHull/MaximalElementsEventHandler",583),D(1710,1,ri,Rp),h.Ne=function(t,n){return gpn(Ge(t),Ge(n))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),D(1709,1,{382:1},xht),h.bf=function(t){wCn(this,l(t,148))},h.a=0,h.b=null,h.c=null,h.d=null,h.e=null,I(rv,"RectilinearConvexHull/RectangleEventHandler",1709),D(1711,1,ri,nI),h.Ne=function(t,n){return kbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$0$Type",1711),D(1712,1,ri,zJ),h.Ne=function(t,n){return Ebn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$1$Type",1712),D(1713,1,ri,vm),h.Ne=function(t,n){return xbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$2$Type",1713),D(1714,1,ri,gu),h.Ne=function(t,n){return Tbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$3$Type",1714),D(1715,1,ri,qJ),h.Ne=function(t,n){return t9n(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rv,"RectilinearConvexHull/lambda$4$Type",1715),D(1716,1,{},Sot),I(rv,"Scanline",1716),D(2104,1,{}),I(z1,"AbstractGraphPlacer",2104),D(335,1,{335:1},drt),h.Ff=function(t){return this.Gf(t)?(xn(this.b,l(Q(t,(ft(),gp)),21),t),!0):!1},h.Gf=function(t){var n,r,a,o;for(n=l(Q(t,(ft(),gp)),21),o=l($i(Xi,n),21),a=o.Kc();a.Ob();)if(r=l(a.Pb(),21),!l($i(this.b,r),15).dc())return!1;return!0};var Xi;I(z1,"ComponentGroup",335),D(779,2104,{},Pwe),h.Hf=function(t){var n,r;for(r=new G(this.a);r.ar&&(L=0,B+=w+a,w=0),E=f.c,KE(f,L+E.a,B+E.b),K0(E),o=b.Math.max(o,L+C.a),w=b.Math.max(w,C.b),L+=C.a+a;n.f.a=o,n.f.b=B+w},h.Jf=function(t,n){var r,a,o,f,g;if(qe(Q(n,(Nt(),p4)))===qe((Km(),u4))){for(a=t.Kc();a.Ob();){for(r=l(a.Pb(),36),g=0,f=new G(r.a);f.ar&&!l(Q(f,(ft(),gp)),21).Hc((St(),Qn))||E&&l(Q(E,(ft(),gp)),21).Hc((St(),ar))||l(Q(f,(ft(),gp)),21).Hc((St(),er)))&&(z=B,V+=w+a,w=0),C=f.c,l(Q(f,(ft(),gp)),21).Hc((St(),Qn))&&(z=o+a),KE(f,z+C.a,V+C.b),o=b.Math.max(o,z+L.a),l(Q(f,gp),21).Hc(Dr)&&(B=b.Math.max(B,z+L.a+a)),K0(C),w=b.Math.max(w,L.b),z+=L.a+a,E=f;n.f.a=o,n.f.b=V+w},h.Jf=function(t,n){},I(z1,"ModelOrderRowGraphPlacer",1313),D(1311,1,ri,uj),h.Ne=function(t,n){return z3n(l(t,36),l(n,36))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(z1,"SimpleRowGraphPlacer/1",1311);var P8t;D(1280,1,Sd,$0),h.Lb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),uc)),75),!!n&&n.b!=0},h.Fb=function(t){return this===t},h.Mb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),uc)),75),!!n&&n.b!=0},I(fG,"CompoundGraphPostprocessor/1",1280),D(1279,1,es,KQe),h.Kf=function(t,n){Tdt(this,l(t,36),n)},I(fG,"CompoundGraphPreprocessor",1279),D(453,1,{453:1},g1t),h.c=!1,I(fG,"CompoundGraphPreprocessor/ExternalPort",453),D(249,1,{249:1},Wq),h.Ib=function(){return oae(this.c)+":"+Ypt(this.b)},I(fG,"CrossHierarchyEdge",249),D(777,1,ri,GI),h.Ne=function(t,n){return q7n(this,l(t,249),l(n,249))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(fG,"CrossHierarchyEdgeComparator",777),D(305,137,{3:1,305:1,96:1,137:1}),h.p=0,I(Lu,"LGraphElement",305),D(18,305,{3:1,18:1,305:1,96:1,137:1},Sw),h.Ib=function(){return Ypt(this)};var l1e=I(Lu,"LEdge",18);D(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},c7e),h.Jc=function(t){to(this,t)},h.Kc=function(){return new G(this.b)},h.Ib=function(){return this.b.c.length==0?"G-unlayered"+Cb(this.a):this.a.c.length==0?"G-layered"+Cb(this.b):"G[layerless"+Cb(this.a)+", layers"+Cb(this.b)+"]"};var B8t=I(Lu,"LGraph",36),F8t;D(666,1,{}),h.Lf=function(){return this.e.n},h.of=function(t){return Q(this.e,t)},h.Mf=function(){return this.e.o},h.Nf=function(){return this.e.p},h.pf=function(t){return ts(this.e,t)},h.Of=function(t){this.e.n.a=t.a,this.e.n.b=t.b},h.Pf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},h.Qf=function(t){this.e.p=t},I(Lu,"LGraphAdapters/AbstractLShapeAdapter",666),D(474,1,{853:1},Tm),h.Rf=function(){var t,n;if(!this.b)for(this.b=Zd(this.a.b.c.length),n=new G(this.a.b);n.a0&&U0t((Xn(n-1,t.length),t.charCodeAt(n-1)),B3t);)--n;if(f> ",t),dU(r)),fi(Eu((t.a+="[",t),r.i),"]")),t.a},h.c=!0,h.d=!1;var xAe,kAe,EAe,TAe,CAe,SAe,j8t=I(Lu,"LPort",12);D(408,1,lg,T5),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=new G(this.a.e),new zWe(t)},I(Lu,"LPort/1",408),D(1309,1,Oa,zWe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(re(this.a),18).c},h.Ob=function(){return Dc(this.a)},h.Qb=function(){Q_(this.a)},I(Lu,"LPort/1/1",1309),D(369,1,lg,C8),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=new G(this.a.g),new wwe(t)},I(Lu,"LPort/2",369),D(776,1,Oa,wwe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(re(this.a),18).d},h.Ob=function(){return Dc(this.a)},h.Qb=function(){Q_(this.a)},I(Lu,"LPort/2/1",776),D(1302,1,lg,Iet),h.Jc=function(t){to(this,t)},h.Kc=function(){return new D1(this)},I(Lu,"LPort/CombineIter",1302),D(208,1,Oa,D1),h.Nb=function(t){Za(this,t)},h.Qb=function(){cZe()},h.Ob=function(){return $_(this)},h.Pb=function(){return Dc(this.a)?re(this.a):re(this.b)},I(Lu,"LPort/CombineIter/1",208),D(1303,1,Sd,W2),h.Lb=function(t){return Dst(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return Cl(),l(t,12).g.c.length!=0},I(Lu,"LPort/lambda$0$Type",1303),D(1304,1,Sd,Z3),h.Lb=function(t){return Ist(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return Cl(),l(t,12).e.c.length!=0},I(Lu,"LPort/lambda$1$Type",1304),D(1305,1,Sd,VJ),h.Lb=function(t){return Cl(),l(t,12).j==(St(),Qn)},h.Fb=function(t){return this===t},h.Mb=function(t){return Cl(),l(t,12).j==(St(),Qn)},I(Lu,"LPort/lambda$2$Type",1305),D(1306,1,Sd,wm),h.Lb=function(t){return Cl(),l(t,12).j==(St(),ar)},h.Fb=function(t){return this===t},h.Mb=function(t){return Cl(),l(t,12).j==(St(),ar)},I(Lu,"LPort/lambda$3$Type",1306),D(1307,1,Sd,UJ),h.Lb=function(t){return Cl(),l(t,12).j==(St(),Dr)},h.Fb=function(t){return this===t},h.Mb=function(t){return Cl(),l(t,12).j==(St(),Dr)},I(Lu,"LPort/lambda$4$Type",1307),D(1308,1,Sd,GJ),h.Lb=function(t){return Cl(),l(t,12).j==(St(),er)},h.Fb=function(t){return this===t},h.Mb=function(t){return Cl(),l(t,12).j==(St(),er)},I(Lu,"LPort/lambda$5$Type",1308),D(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},Tu),h.Jc=function(t){to(this,t)},h.Kc=function(){return new G(this.a)},h.Ib=function(){return"L_"+pc(this.b.b,this,0)+Cb(this.a)},I(Lu,"Layer",30),D(1330,1,{},GQe),I(w2,$3t,1330),D(1334,1,{},Q7),h.Kb=function(t){return mc(l(t,84))},I(w2,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),D(1337,1,{},uS),h.Kb=function(t){return mc(l(t,84))},I(w2,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),D(1331,1,fr,qWe),h.Cd=function(t){f2t(this.a,l(t,123))},I(w2,DEe,1331),D(1332,1,fr,HWe),h.Cd=function(t){f2t(this.a,l(t,123))},I(w2,z3t,1332),D(1333,1,{},hj),h.Kb=function(t){return new bn(null,new kn(L5e(l(t,74)),16))},I(w2,q3t,1333),D(1335,1,ei,VWe),h.Mb=function(t){return Uln(this.a,l(t,27))},I(w2,H3t,1335),D(1336,1,{},H9),h.Kb=function(t){return new bn(null,new kn(cpn(l(t,74)),16))},I(w2,"ElkGraphImporter/lambda$5$Type",1336),D(1338,1,ei,UWe),h.Mb=function(t){return Gln(this.a,l(t,27))},I(w2,"ElkGraphImporter/lambda$7$Type",1338),D(1339,1,ei,KJ),h.Mb=function(t){return kpn(l(t,74))},I(w2,"ElkGraphImporter/lambda$8$Type",1339),D(1297,1,{},b8);var $8t;I(w2,"ElkGraphLayoutTransferrer",1297),D(1298,1,ei,GWe),h.Mb=function(t){return Nfn(this.a,l(t,18))},I(w2,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),D(1299,1,fr,KWe),h.Cd=function(t){sO(),vt(this.a,l(t,18))},I(w2,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),D(1300,1,ei,WWe),h.Mb=function(t){return wfn(this.a,l(t,18))},I(w2,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),D(1301,1,fr,YWe),h.Cd=function(t){sO(),vt(this.a,l(t,18))},I(w2,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),D(819,1,{},s4e),I(rr,"BiLinkedHashMultiMap",819),D(1550,1,es,V9),h.Kf=function(t,n){o3n(l(t,36),n)},I(rr,"CommentNodeMarginCalculator",1550),D(1551,1,{},WJ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"CommentNodeMarginCalculator/lambda$0$Type",1551),D(1552,1,fr,YJ),h.Cd=function(t){oLn(l(t,10))},I(rr,"CommentNodeMarginCalculator/lambda$1$Type",1552),D(1553,1,es,XJ),h.Kf=function(t,n){hSn(l(t,36),n)},I(rr,"CommentPostprocessor",1553),D(1554,1,es,QJ),h.Kf=function(t,n){ODn(l(t,36),n)},I(rr,"CommentPreprocessor",1554),D(1555,1,es,JJ),h.Kf=function(t,n){ACn(l(t,36),n)},I(rr,"ConstraintsPostprocessor",1555),D(1556,1,es,ZJ),h.Kf=function(t,n){P3n(l(t,36),n)},I(rr,"EdgeAndLayerConstraintEdgeReverser",1556),D(1557,1,es,eZ),h.Kf=function(t,n){C5n(l(t,36),n)},I(rr,"EndLabelPostprocessor",1557),D(1558,1,{},tZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelPostprocessor/lambda$0$Type",1558),D(1559,1,ei,nZ),h.Mb=function(t){return $mn(l(t,10))},I(rr,"EndLabelPostprocessor/lambda$1$Type",1559),D(1560,1,fr,rZ),h.Cd=function(t){p8n(l(t,10))},I(rr,"EndLabelPostprocessor/lambda$2$Type",1560),D(1561,1,es,iZ),h.Kf=function(t,n){rkn(l(t,36),n)},I(rr,"EndLabelPreprocessor",1561),D(1562,1,{},rI),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelPreprocessor/lambda$0$Type",1562),D(1563,1,fr,wit),h.Cd=function(t){iln(this.a,this.b,this.c,l(t,10))},h.a=0,h.b=0,h.c=!1,I(rr,"EndLabelPreprocessor/lambda$1$Type",1563),D(1564,1,ei,sZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),Bd)))===qe((N1(),rC))},I(rr,"EndLabelPreprocessor/lambda$2$Type",1564),D(1565,1,fr,XWe),h.Cd=function(t){li(this.a,l(t,72))},I(rr,"EndLabelPreprocessor/lambda$3$Type",1565),D(1566,1,ei,aZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),Bd)))===qe((N1(),A4))},I(rr,"EndLabelPreprocessor/lambda$4$Type",1566),D(1567,1,fr,QWe),h.Cd=function(t){li(this.a,l(t,72))},I(rr,"EndLabelPreprocessor/lambda$5$Type",1567),D(1615,1,es,Vre),h.Kf=function(t,n){T4n(l(t,36),n)};var z8t;I(rr,"EndLabelSorter",1615),D(1616,1,ri,lS),h.Ne=function(t,n){return r6n(l(t,466),l(n,466))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"EndLabelSorter/1",1616),D(466,1,{466:1},Uat),I(rr,"EndLabelSorter/LabelGroup",466),D(1617,1,{},fj),h.Kb=function(t){return iO(),new bn(null,new kn(l(t,30).a,16))},I(rr,"EndLabelSorter/lambda$0$Type",1617),D(1618,1,ei,J7),h.Mb=function(t){return iO(),l(t,10).k==(Zn(),Bs)},I(rr,"EndLabelSorter/lambda$1$Type",1618),D(1619,1,fr,oZ),h.Cd=function(t){m9n(l(t,10))},I(rr,"EndLabelSorter/lambda$2$Type",1619),D(1620,1,ei,cZ),h.Mb=function(t){return iO(),qe(Q(l(t,72),(Nt(),Bd)))===qe((N1(),A4))},I(rr,"EndLabelSorter/lambda$3$Type",1620),D(1621,1,ei,uZ),h.Mb=function(t){return iO(),qe(Q(l(t,72),(Nt(),Bd)))===qe((N1(),rC))},I(rr,"EndLabelSorter/lambda$4$Type",1621),D(1568,1,es,lZ),h.Kf=function(t,n){kLn(this,l(t,36))},h.b=0,h.c=0,I(rr,"FinalSplineBendpointsCalculator",1568),D(1569,1,{},hZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),D(1570,1,{},hS),h.Kb=function(t){return new bn(null,new yw(new hr(dr(zs(l(t,10)).a.Kc(),new j))))},I(rr,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),D(1571,1,ei,iI),h.Mb=function(t){return!Lo(l(t,18))},I(rr,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),D(1572,1,ei,dj),h.Mb=function(t){return ts(l(t,18),(ft(),fv))},I(rr,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),D(1573,1,fr,JWe),h.Cd=function(t){D_n(this.a,l(t,131))},I(rr,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),D(1574,1,fr,h5),h.Cd=function(t){JN(l(t,18).a)},I(rr,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),D(803,1,es,ywe),h.Kf=function(t,n){pMn(this,l(t,36),n)},I(rr,"GraphTransformer",803),D(517,22,{3:1,34:1,22:1,517:1},O3e);var f1e,dB,q8t=Fr(rr,"GraphTransformer/Mode",517,Hr,Vpn,C1n),H8t;D(1575,1,es,f5),h.Kf=function(t,n){FTn(l(t,36),n)},I(rr,"HierarchicalNodeResizingProcessor",1575),D(1576,1,es,fZ),h.Kf=function(t,n){n3n(l(t,36),n)},I(rr,"HierarchicalPortConstraintProcessor",1576),D(1577,1,ri,e0),h.Ne=function(t,n){return T6n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortConstraintProcessor/NodeComparator",1577),D(1578,1,es,Z7),h.Kf=function(t,n){CAn(l(t,36),n)},I(rr,"HierarchicalPortDummySizeProcessor",1578),D(1579,1,es,dZ),h.Kf=function(t,n){PSn(this,l(t,36),n)},h.a=0,I(rr,"HierarchicalPortOrthogonalEdgeRouter",1579),D(1580,1,ri,U9),h.Ne=function(t,n){return Fhn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortOrthogonalEdgeRouter/1",1580),D(1581,1,ri,Kd),h.Ne=function(t,n){return Hvn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"HierarchicalPortOrthogonalEdgeRouter/2",1581),D(1582,1,es,gZ),h.Kf=function(t,n){Jxn(l(t,36),n)},I(rr,"HierarchicalPortPositionProcessor",1582),D(1583,1,es,Yv),h.Kf=function(t,n){gIn(this,l(t,36))},h.a=0,h.c=0;var SK,_K;I(rr,"HighDegreeNodeLayeringProcessor",1583),D(580,1,{580:1},pZ),h.b=-1,h.d=-1,I(rr,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),D(1584,1,{},bZ),h.Kb=function(t){return OO(),ka(l(t,10))},h.Fb=function(t){return this===t},I(rr,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),D(1585,1,{},gj),h.Kb=function(t){return OO(),zs(l(t,10))},h.Fb=function(t){return this===t},I(rr,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),D(1591,1,es,mZ),h.Kf=function(t,n){mAn(this,l(t,36),n)},I(rr,"HyperedgeDummyMerger",1591),D(804,1,{},y4e),h.a=!1,h.b=!1,h.c=!1,I(rr,"HyperedgeDummyMerger/MergeState",804),D(1592,1,{},fS),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"HyperedgeDummyMerger/lambda$0$Type",1592),D(1593,1,{},dS),h.Kb=function(t){return new bn(null,new kn(l(t,10).j,16))},I(rr,"HyperedgeDummyMerger/lambda$1$Type",1593),D(1594,1,fr,pj),h.Cd=function(t){l(t,12).p=-1},I(rr,"HyperedgeDummyMerger/lambda$2$Type",1594),D(1595,1,es,sI),h.Kf=function(t,n){pAn(l(t,36),n)},I(rr,"HypernodesProcessor",1595),D(1596,1,es,e8),h.Kf=function(t,n){TAn(l(t,36),n)},I(rr,"InLayerConstraintProcessor",1596),D(1597,1,es,vZ),h.Kf=function(t,n){m3n(l(t,36),n)},I(rr,"InnermostNodeMarginCalculator",1597),D(1598,1,es,bj),h.Kf=function(t,n){LDn(this,l(t,36))},h.a=ia,h.b=ia,h.c=ps,h.d=ps;var TOn=I(rr,"InteractiveExternalPortPositioner",1598);D(1599,1,{},mj),h.Kb=function(t){return l(t,18).d.i},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$0$Type",1599),D(1600,1,{},ZWe),h.Kb=function(t){return Rhn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$1$Type",1600),D(1601,1,{},wZ),h.Kb=function(t){return l(t,18).c.i},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$2$Type",1601),D(1602,1,{},eYe),h.Kb=function(t){return jhn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$3$Type",1602),D(1603,1,{},tYe),h.Kb=function(t){return Bfn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$4$Type",1603),D(1604,1,{},nYe),h.Kb=function(t){return Ffn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(rr,"InteractiveExternalPortPositioner/lambda$5$Type",1604),D(81,22,{3:1,34:1,22:1,81:1,196:1},Ks),h.dg=function(){switch(this.g){case 15:return new Gj;case 22:return new Iee;case 47:return new Pee;case 28:case 35:return new SZ;case 32:return new V9;case 42:return new XJ;case 1:return new QJ;case 41:return new JJ;case 56:return new ywe((dE(),dB));case 0:return new ywe((dE(),f1e));case 2:return new ZJ;case 54:return new eZ;case 33:return new iZ;case 51:return new lZ;case 55:return new f5;case 13:return new fZ;case 38:return new Z7;case 44:return new dZ;case 40:return new gZ;case 9:return new Yv;case 49:return new irt;case 37:return new mZ;case 43:return new sI;case 27:return new e8;case 30:return new vZ;case 3:return new bj;case 18:return new xZ;case 29:return new kZ;case 5:return new fk;case 50:return new yZ;case 34:return new az;case 36:return new d5;case 52:return new Vre;case 11:return new G9;case 7:return new Ure;case 39:return new aI;case 45:return new ey;case 16:return new K9;case 10:return new Xet;case 48:return new vj;case 21:return new oI;case 23:return new Yie((Nw(),oM));case 8:return new cI;case 12:return new AZ;case 4:return new uI;case 19:return new uz;case 17:return new OZ;case 53:return new NZ;case 6:return new Cj;case 25:return new YQe;case 46:return new RZ;case 31:return new Grt;case 14:return new GZ;case 26:return new Ree;case 20:return new Lj;case 24:return new Yie((Nw(),DW));default:throw ue(new Yn(Rhe+(this.f!=null?this.f:""+this.g)))}};var _Ae,AAe,LAe,MAe,DAe,IAe,OAe,NAe,PAe,BAe,D6,AK,LK,FAe,RAe,jAe,$Ae,zAe,qAe,HAe,zL,VAe,UAe,GAe,KAe,WAe,d1e,MK,DK,YAe,IK,OK,NK,LT,l4,h4,XAe,PK,BK,QAe,FK,RK,JAe,ZAe,eLe,tLe,jK,g1e,gB,$K,zK,qK,HK,nLe,rLe,iLe,sLe,COn=Fr(rr,jhe,81,Hr,sbt,T0n),V8t;D(1605,1,es,xZ),h.Kf=function(t,n){_Dn(l(t,36),n)},I(rr,"InvertedPortProcessor",1605),D(1606,1,es,kZ),h.Kf=function(t,n){E_n(l(t,36),n)},I(rr,"LabelAndNodeSizeProcessor",1606),D(1607,1,ei,EZ),h.Mb=function(t){return l(t,10).k==(Zn(),Bs)},I(rr,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),D(1608,1,ei,TZ),h.Mb=function(t){return l(t,10).k==(Zn(),Vs)},I(rr,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),D(1609,1,fr,yit),h.Cd=function(t){sln(this.b,this.a,this.c,l(t,10))},h.a=!1,h.c=!1,I(rr,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),D(1610,1,es,fk),h.Kf=function(t,n){ZMn(l(t,36),n)};var U8t;I(rr,"LabelDummyInserter",1610),D(1611,1,Sd,Wd),h.Lb=function(t){return qe(Q(l(t,72),(Nt(),Bd)))===qe((N1(),nC))},h.Fb=function(t){return this===t},h.Mb=function(t){return qe(Q(l(t,72),(Nt(),Bd)))===qe((N1(),nC))},I(rr,"LabelDummyInserter/1",1611),D(1612,1,es,yZ),h.Kf=function(t,n){zMn(l(t,36),n)},I(rr,"LabelDummyRemover",1612),D(1613,1,ei,Kv),h.Mb=function(t){return Rt(Bt(Q(l(t,72),(Nt(),nde))))},I(rr,"LabelDummyRemover/lambda$0$Type",1613),D(1378,1,es,az),h.Kf=function(t,n){OMn(this,l(t,36),n)},h.a=null;var p1e;I(rr,"LabelDummySwitcher",1378),D(293,1,{293:1},imt),h.c=0,h.d=null,h.f=0,I(rr,"LabelDummySwitcher/LabelDummyInfo",293),D(1379,1,{},CZ),h.Kb=function(t){return lx(),new bn(null,new kn(l(t,30).a,16))},I(rr,"LabelDummySwitcher/lambda$0$Type",1379),D(1380,1,ei,gS),h.Mb=function(t){return lx(),l(t,10).k==(Zn(),hu)},I(rr,"LabelDummySwitcher/lambda$1$Type",1380),D(1381,1,{},rYe),h.Kb=function(t){return yfn(this.a,l(t,10))},I(rr,"LabelDummySwitcher/lambda$2$Type",1381),D(1382,1,fr,iYe),h.Cd=function(t){$gn(this.a,l(t,293))},I(rr,"LabelDummySwitcher/lambda$3$Type",1382),D(1383,1,ri,pS),h.Ne=function(t,n){return lgn(l(t,293),l(n,293))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"LabelDummySwitcher/lambda$4$Type",1383),D(802,1,es,SZ),h.Kf=function(t,n){kvn(l(t,36),n)},I(rr,"LabelManagementProcessor",802),D(1614,1,es,d5),h.Kf=function(t,n){ZCn(l(t,36),n)},I(rr,"LabelSideSelector",1614),D(1622,1,es,G9),h.Kf=function(t,n){$An(l(t,36),n)},I(rr,"LayerConstraintPostprocessor",1622),D(1623,1,es,Ure),h.Kf=function(t,n){PEn(l(t,36),n)};var aLe;I(rr,"LayerConstraintPreprocessor",1623),D(371,22,{3:1,34:1,22:1,371:1},pq);var pB,VK,UK,b1e,G8t=Fr(rr,"LayerConstraintPreprocessor/HiddenNodeConnections",371,Hr,emn,C0n),K8t;D(1624,1,es,aI),h.Kf=function(t,n){rMn(l(t,36),n)},I(rr,"LayerSizeAndGraphHeightCalculator",1624),D(1625,1,es,ey),h.Kf=function(t,n){RTn(l(t,36),n)},I(rr,"LongEdgeJoiner",1625),D(1626,1,es,K9),h.Kf=function(t,n){OLn(l(t,36),n)},I(rr,"LongEdgeSplitter",1626),D(1627,1,es,Xet),h.Kf=function(t,n){gDn(this,l(t,36),n)},h.e=0,h.f=0,h.j=0,h.k=0,h.n=0,h.o=0;var W8t,Y8t;I(rr,"NodePromotion",1627),D(1628,1,ri,_Z),h.Ne=function(t,n){return _yn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NodePromotion/1",1628),D(1629,1,ri,bS),h.Ne=function(t,n){return Ayn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NodePromotion/2",1629),D(1630,1,{},cd),h.Kb=function(t){return l(t,42),Xq(),Vn(),!0},h.Fb=function(t){return this===t},I(rr,"NodePromotion/lambda$0$Type",1630),D(1631,1,{},cYe),h.Kb=function(t){return E2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(rr,"NodePromotion/lambda$1$Type",1631),D(1632,1,{},uYe),h.Kb=function(t){return k2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(rr,"NodePromotion/lambda$2$Type",1632),D(1633,1,es,vj),h.Kf=function(t,n){cIn(l(t,36),n)},I(rr,"NorthSouthPortPostprocessor",1633),D(1634,1,es,oI),h.Kf=function(t,n){qDn(l(t,36),n)},I(rr,"NorthSouthPortPreprocessor",1634),D(1635,1,ri,W9),h.Ne=function(t,n){return q3n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"NorthSouthPortPreprocessor/lambda$0$Type",1635),D(1636,1,es,cI),h.Kf=function(t,n){iAn(l(t,36),n)},I(rr,"PartitionMidprocessor",1636),D(1637,1,ei,wj),h.Mb=function(t){return ts(l(t,10),(Nt(),HT))},I(rr,"PartitionMidprocessor/lambda$0$Type",1637),D(1638,1,fr,lYe),h.Cd=function(t){Epn(this.a,l(t,10))},I(rr,"PartitionMidprocessor/lambda$1$Type",1638),D(1639,1,es,AZ),h.Kf=function(t,n){sCn(l(t,36),n)},I(rr,"PartitionPostprocessor",1639),D(1640,1,es,uI),h.Kf=function(t,n){wEn(l(t,36),n)},I(rr,"PartitionPreprocessor",1640),D(1641,1,ei,LZ),h.Mb=function(t){return ts(l(t,10),(Nt(),HT))},I(rr,"PartitionPreprocessor/lambda$0$Type",1641),D(1642,1,{},MZ),h.Kb=function(t){return new bn(null,new yw(new hr(dr(zs(l(t,10)).a.Kc(),new j))))},I(rr,"PartitionPreprocessor/lambda$1$Type",1642),D(1643,1,ei,yj),h.Mb=function(t){return u6n(l(t,18))},I(rr,"PartitionPreprocessor/lambda$2$Type",1643),D(1644,1,fr,t8),h.Cd=function(t){syn(l(t,18))},I(rr,"PartitionPreprocessor/lambda$3$Type",1644),D(1645,1,es,uz),h.Kf=function(t,n){R_n(l(t,36),n)};var oLe,X8t,Q8t,J8t,cLe,uLe;I(rr,"PortListSorter",1645),D(1648,1,ri,xj),h.Ne=function(t,n){return Yct(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$0$Type",1648),D(1650,1,ri,n8),h.Ne=function(t,n){return Amt(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$1$Type",1650),D(1646,1,{},DZ),h.Kb=function(t){return TE(),l(t,12).e},I(rr,"PortListSorter/lambda$2$Type",1646),D(1647,1,{},lI),h.Kb=function(t){return TE(),l(t,12).g},I(rr,"PortListSorter/lambda$3$Type",1647),D(1649,1,ri,IZ),h.Ne=function(t,n){return O7n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"PortListSorter/lambda$4$Type",1649),D(1651,1,es,OZ),h.Kf=function(t,n){WEn(l(t,36),n)},I(rr,"PortSideProcessor",1651),D(1652,1,es,NZ),h.Kf=function(t,n){YSn(l(t,36),n)},I(rr,"ReversedEdgeRestorer",1652),D(1657,1,es,YQe),h.Kf=function(t,n){p7n(this,l(t,36),n)},I(rr,"SelfLoopPortRestorer",1657),D(1658,1,{},PZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopPortRestorer/lambda$0$Type",1658),D(1659,1,ei,kj),h.Mb=function(t){return l(t,10).k==(Zn(),Bs)},I(rr,"SelfLoopPortRestorer/lambda$1$Type",1659),D(1660,1,ei,BZ),h.Mb=function(t){return ts(l(t,10),(ft(),d3))},I(rr,"SelfLoopPortRestorer/lambda$2$Type",1660),D(1661,1,{},FZ),h.Kb=function(t){return l(Q(l(t,10),(ft(),d3)),337)},I(rr,"SelfLoopPortRestorer/lambda$3$Type",1661),D(1662,1,fr,aYe),h.Cd=function(t){M9n(this.a,l(t,337))},I(rr,"SelfLoopPortRestorer/lambda$4$Type",1662),D(805,1,fr,Ej),h.Cd=function(t){H9n(l(t,105))},I(rr,"SelfLoopPortRestorer/lambda$5$Type",805),D(1663,1,es,RZ),h.Kf=function(t,n){x6n(l(t,36),n)},I(rr,"SelfLoopPostProcessor",1663),D(1664,1,{},jZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopPostProcessor/lambda$0$Type",1664),D(1665,1,ei,$Z),h.Mb=function(t){return l(t,10).k==(Zn(),Bs)},I(rr,"SelfLoopPostProcessor/lambda$1$Type",1665),D(1666,1,ei,zZ),h.Mb=function(t){return ts(l(t,10),(ft(),d3))},I(rr,"SelfLoopPostProcessor/lambda$2$Type",1666),D(1667,1,fr,Tj),h.Cd=function(t){I8n(l(t,10))},I(rr,"SelfLoopPostProcessor/lambda$3$Type",1667),D(1668,1,{},qZ),h.Kb=function(t){return new bn(null,new kn(l(t,105).f,1))},I(rr,"SelfLoopPostProcessor/lambda$4$Type",1668),D(1669,1,fr,sYe),h.Cd=function(t){imn(this.a,l(t,340))},I(rr,"SelfLoopPostProcessor/lambda$5$Type",1669),D(1670,1,ei,HZ),h.Mb=function(t){return!!l(t,105).i},I(rr,"SelfLoopPostProcessor/lambda$6$Type",1670),D(1671,1,fr,oYe),h.Cd=function(t){iun(this.a,l(t,105))},I(rr,"SelfLoopPostProcessor/lambda$7$Type",1671),D(1653,1,es,Cj),h.Kf=function(t,n){ETn(l(t,36),n)},I(rr,"SelfLoopPreProcessor",1653),D(1654,1,{},Sj),h.Kb=function(t){return new bn(null,new kn(l(t,105).f,1))},I(rr,"SelfLoopPreProcessor/lambda$0$Type",1654),D(1655,1,{},_j),h.Kb=function(t){return l(t,340).a},I(rr,"SelfLoopPreProcessor/lambda$1$Type",1655),D(1656,1,fr,VZ),h.Cd=function(t){ohn(l(t,18))},I(rr,"SelfLoopPreProcessor/lambda$2$Type",1656),D(1672,1,es,Grt),h.Kf=function(t,n){h9n(this,l(t,36),n)},I(rr,"SelfLoopRouter",1672),D(1673,1,{},UZ),h.Kb=function(t){return new bn(null,new kn(l(t,30).a,16))},I(rr,"SelfLoopRouter/lambda$0$Type",1673),D(1674,1,ei,Y9),h.Mb=function(t){return l(t,10).k==(Zn(),Bs)},I(rr,"SelfLoopRouter/lambda$1$Type",1674),D(1675,1,ei,r8),h.Mb=function(t){return ts(l(t,10),(ft(),d3))},I(rr,"SelfLoopRouter/lambda$2$Type",1675),D(1676,1,{},mS),h.Kb=function(t){return l(Q(l(t,10),(ft(),d3)),337)},I(rr,"SelfLoopRouter/lambda$3$Type",1676),D(1677,1,fr,Met),h.Cd=function(t){mpn(this.a,this.b,l(t,337))},I(rr,"SelfLoopRouter/lambda$4$Type",1677),D(1678,1,es,GZ),h.Kf=function(t,n){zCn(l(t,36),n)},I(rr,"SemiInteractiveCrossMinProcessor",1678),D(1679,1,ei,hI),h.Mb=function(t){return l(t,10).k==(Zn(),Bs)},I(rr,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),D(1680,1,ei,vS),h.Mb=function(t){return ust(l(t,10))._b((Nt(),y4))},I(rr,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),D(1681,1,ri,fI),h.Ne=function(t,n){return i3n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(rr,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),D(1682,1,{},Aj),h.Ve=function(t,n){return Tpn(l(t,10),l(n,10))},I(rr,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),D(1684,1,es,Lj),h.Kf=function(t,n){hLn(l(t,36),n)},I(rr,"SortByInputModelProcessor",1684),D(1685,1,ei,KZ),h.Mb=function(t){return l(t,12).g.c.length!=0},I(rr,"SortByInputModelProcessor/lambda$0$Type",1685),D(1686,1,fr,hYe),h.Cd=function(t){W9n(this.a,l(t,12))},I(rr,"SortByInputModelProcessor/lambda$1$Type",1686),D(1759,817,{},wft),h.df=function(t){var n,r,a,o;switch(this.c=t,this.a.g){case 2:n=new bt,Os(Ri(new bn(null,new kn(this.c.a.b,16)),new iee),new jet(this,n)),ZN(this,new YZ),Gu(n,new Mj),n.c.length=0,Os(Ri(new bn(null,new kn(this.c.a.b,16)),new Dj),new dYe(n)),ZN(this,new XZ),Gu(n,new QZ),n.c.length=0,r=ynt(lce(ky(new bn(null,new kn(this.c.a.b,16)),new gYe(this))),new JZ),Os(new bn(null,new kn(this.c.a.a,16)),new Oet(r,n)),ZN(this,new eee),Gu(n,new Ij),n.c.length=0;break;case 3:a=new bt,ZN(this,new WZ),o=ynt(lce(ky(new bn(null,new kn(this.c.a.b,16)),new fYe(this))),new ZZ),Os(Ri(new bn(null,new kn(this.c.a.b,16)),new tee),new Pet(o,a)),ZN(this,new nee),Gu(a,new ree),a.c.length=0;break;default:throw ue(new BQe)}},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation",1759),D(1760,1,Sd,WZ),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),D(1761,1,{},fYe),h.Ye=function(t){return Dkn(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),D(1769,1,JU,Det),h.de=function(){FA(this.a,this.b,-1)},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),D(1771,1,Sd,YZ),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),D(1772,1,fr,Mj),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),D(1773,1,ei,Dj),h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),D(1775,1,fr,dYe),h.Cd=function(t){Q4n(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),D(1774,1,JU,Bet),h.de=function(){FA(this.b,this.a,-1)},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),D(1776,1,Sd,XZ),h.Lb=function(t){return De(l(t,60).g,10)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),D(1777,1,fr,QZ),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),D(1778,1,{},gYe),h.Ye=function(t){return Ikn(this.a,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),D(1779,1,{},JZ),h.We=function(){return 0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),D(1762,1,{},ZZ),h.We=function(){return 0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),D(1781,1,fr,Oet),h.Cd=function(t){ngn(this.a,this.b,l(t,316))},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),D(1780,1,JU,Net),h.de=function(){N2t(this.a,this.b,-1)},h.b=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),D(1782,1,Sd,eee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),D(1783,1,fr,Ij),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),D(1763,1,ei,tee),h.Mb=function(t){return De(l(t,60).g,10)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),D(1765,1,fr,Pet),h.Cd=function(t){rgn(this.a,this.b,l(t,60))},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),D(1764,1,JU,Fet),h.de=function(){FA(this.b,this.a,-1)},h.a=0,I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),D(1766,1,Sd,nee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),D(1767,1,fr,ree),h.Cd=function(t){l(t,380).de()},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),D(1768,1,ei,iee),h.Mb=function(t){return De(l(t,60).g,154)},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),D(1770,1,fr,jet),h.Cd=function(t){xwn(this.a,this.b,l(t,60))},I(aa,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),D(1586,1,es,irt),h.Kf=function(t,n){jLn(this,l(t,36),n)};var Z8t;I(aa,"HorizontalGraphCompactor",1586),D(1587,1,{},pYe),h.ff=function(t,n){var r,a,o;return H6e(t,n)||(r=G5(t),a=G5(n),r&&r.k==(Zn(),Vs)||a&&a.k==(Zn(),Vs))?0:(o=l(Q(this.a.a,(ft(),$6)),312),Hhn(o,r?r.k:(Zn(),Aa),a?a.k:(Zn(),Aa)))},h.gf=function(t,n){var r,a,o;return H6e(t,n)?1:(r=G5(t),a=G5(n),o=l(Q(this.a.a,(ft(),$6)),312),Nye(o,r?r.k:(Zn(),Aa),a?a.k:(Zn(),Aa)))},I(aa,"HorizontalGraphCompactor/1",1587),D(1588,1,{},Oj),h.ef=function(t,n){return p_(),t.a.i==0},I(aa,"HorizontalGraphCompactor/lambda$0$Type",1588),D(1589,1,{},bYe),h.ef=function(t,n){return _pn(this.a,t,n)},I(aa,"HorizontalGraphCompactor/lambda$1$Type",1589),D(1730,1,{},Wlt);var ext,txt;I(aa,"LGraphToCGraphTransformer",1730),D(1738,1,ei,wS),h.Mb=function(t){return t!=null},I(aa,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),D(1731,1,{},see),h.Kb=function(t){return c0(),Ec(Q(l(l(t,60).g,10),(ft(),zi)))},I(aa,"LGraphToCGraphTransformer/lambda$0$Type",1731),D(1732,1,{},aee),h.Kb=function(t){return c0(),s1t(l(l(t,60).g,154))},I(aa,"LGraphToCGraphTransformer/lambda$1$Type",1732),D(1741,1,ei,Nj),h.Mb=function(t){return c0(),De(l(t,60).g,10)},I(aa,"LGraphToCGraphTransformer/lambda$10$Type",1741),D(1742,1,fr,oee),h.Cd=function(t){Ipn(l(t,60))},I(aa,"LGraphToCGraphTransformer/lambda$11$Type",1742),D(1743,1,ei,cee),h.Mb=function(t){return c0(),De(l(t,60).g,154)},I(aa,"LGraphToCGraphTransformer/lambda$12$Type",1743),D(1747,1,fr,uee),h.Cd=function(t){u4n(l(t,60))},I(aa,"LGraphToCGraphTransformer/lambda$13$Type",1747),D(1744,1,fr,mYe),h.Cd=function(t){Bln(this.a,l(t,8))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$14$Type",1744),D(1745,1,fr,vYe),h.Cd=function(t){Rln(this.a,l(t,116))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$15$Type",1745),D(1746,1,fr,wYe),h.Cd=function(t){Fln(this.a,l(t,8))},h.a=0,I(aa,"LGraphToCGraphTransformer/lambda$16$Type",1746),D(1748,1,{},lee),h.Kb=function(t){return c0(),new bn(null,new yw(new hr(dr(zs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$17$Type",1748),D(1749,1,ei,hee),h.Mb=function(t){return c0(),Lo(l(t,18))},I(aa,"LGraphToCGraphTransformer/lambda$18$Type",1749),D(1750,1,fr,yYe),h.Cd=function(t){Zvn(this.a,l(t,18))},I(aa,"LGraphToCGraphTransformer/lambda$19$Type",1750),D(1734,1,fr,xYe),h.Cd=function(t){Sbn(this.a,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$2$Type",1734),D(1751,1,{},fee),h.Kb=function(t){return c0(),new bn(null,new kn(l(t,30).a,16))},I(aa,"LGraphToCGraphTransformer/lambda$20$Type",1751),D(1752,1,{},Pj),h.Kb=function(t){return c0(),new bn(null,new yw(new hr(dr(zs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$21$Type",1752),D(1753,1,{},dee),h.Kb=function(t){return c0(),l(Q(l(t,18),(ft(),fv)),15)},I(aa,"LGraphToCGraphTransformer/lambda$22$Type",1753),D(1754,1,ei,Bj),h.Mb=function(t){return Vhn(l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$23$Type",1754),D(1755,1,fr,kYe),h.Cd=function(t){ykn(this.a,l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$24$Type",1755),D(1733,1,fr,$et),h.Cd=function(t){Emn(this.a,this.b,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$3$Type",1733),D(1735,1,{},gee),h.Kb=function(t){return c0(),new bn(null,new kn(l(t,30).a,16))},I(aa,"LGraphToCGraphTransformer/lambda$4$Type",1735),D(1736,1,{},pee),h.Kb=function(t){return c0(),new bn(null,new yw(new hr(dr(zs(l(t,10)).a.Kc(),new j))))},I(aa,"LGraphToCGraphTransformer/lambda$5$Type",1736),D(1737,1,{},bee),h.Kb=function(t){return c0(),l(Q(l(t,18),(ft(),fv)),15)},I(aa,"LGraphToCGraphTransformer/lambda$6$Type",1737),D(1739,1,fr,EYe),h.Cd=function(t){Okn(this.a,l(t,15))},I(aa,"LGraphToCGraphTransformer/lambda$8$Type",1739),D(1740,1,fr,zet),h.Cd=function(t){chn(this.a,this.b,l(t,154))},I(aa,"LGraphToCGraphTransformer/lambda$9$Type",1740),D(1729,1,{},yS),h.cf=function(t){var n,r,a,o,f;for(this.a=t,this.d=new $ie,this.c=We(q_e,Rn,125,this.a.a.a.c.length,0,1),this.b=0,r=new G(this.a.a.a);r.a=te&&(vt(f,pt(L)),Me=b.Math.max(Me,$e[L-1]-B),w+=J,fe+=$e[L-1]-fe,B=$e[L-1],J=E[L]),J=b.Math.max(J,E[L]),++L;w+=J}V=b.Math.min(1/Me,1/n.b/w),V>a&&(a=V,r=f)}return r},h.pg=function(){return!1},I(Md,"MSDCutIndexHeuristic",816),D(1683,1,es,Ree),h.Kf=function(t,n){qAn(l(t,36),n)},I(Md,"SingleEdgeGraphWrapper",1683),D(232,22,{3:1,34:1,22:1,232:1},E_);var O6,IT,OT,f4,qL,N6,NT=Fr(lu,"CenterEdgeLabelPlacementStrategy",232,Hr,_vn,L0n),dxt;D(431,22,{3:1,34:1,22:1,431:1},P3e);var hLe,_1e,fLe=Fr(lu,"ConstraintCalculationStrategy",431,Hr,Kpn,M0n),gxt;D(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},yse),h.dg=function(){return qpt(this)},h.qg=function(){return qpt(this)};var mB,HL,dLe,gLe=Fr(lu,"CrossingMinimizationStrategy",322,Hr,z2n,D0n),pxt;D(351,22,{3:1,34:1,22:1,351:1},xse);var pLe,A1e,XK,bLe=Fr(lu,"CuttingStrategy",351,Hr,q2n,I0n),bxt;D(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},uO),h.dg=function(){return I2t(this)},h.qg=function(){return I2t(this)};var mLe,L1e,PT,M1e,BT,vLe=Fr(lu,"CycleBreakingStrategy",348,Hr,Umn,O0n),mxt;D(428,22,{3:1,34:1,22:1,428:1},B3e);var QK,wLe,yLe=Fr(lu,"DirectionCongruency",428,Hr,Gpn,N0n),vxt;D(460,22,{3:1,34:1,22:1,460:1},kse);var FT,D1e,P6,wxt=Fr(lu,"EdgeConstraint",460,Hr,H2n,z0n),yxt;D(283,22,{3:1,34:1,22:1,283:1},T_);var I1e,O1e,N1e,P1e,JK,B1e,xLe=Fr(lu,"EdgeLabelSideSelection",283,Hr,Tvn,q0n),xxt;D(488,22,{3:1,34:1,22:1,488:1},F3e);var ZK,kLe,ELe=Fr(lu,"EdgeStraighteningStrategy",488,Hr,e2n,H0n),kxt;D(281,22,{3:1,34:1,22:1,281:1},C_);var F1e,TLe,CLe,eW,SLe,_Le,ALe=Fr(lu,"FixedAlignment",281,Hr,Cvn,$0n),Ext;D(282,22,{3:1,34:1,22:1,282:1},S_);var LLe,MLe,DLe,ILe,VL,OLe,NLe=Fr(lu,"GraphCompactionStrategy",282,Hr,Svn,P0n),Txt;D(259,22,{3:1,34:1,22:1,259:1},ly);var RT,tW,jT,mf,UL,nW,$T,B6,rW,GL,R1e=Fr(lu,"GraphProperties",259,Hr,l3n,B0n),Cxt;D(299,22,{3:1,34:1,22:1,299:1},Ese);var vB,j1e,$1e,z1e=Fr(lu,"GreedySwitchType",299,Hr,V2n,F0n),Sxt;D(311,22,{3:1,34:1,22:1,311:1},Tse);var Ux,wB,F6,_xt=Fr(lu,"InLayerConstraint",311,Hr,U2n,R0n),Axt;D(429,22,{3:1,34:1,22:1,429:1},R3e);var q1e,PLe,BLe=Fr(lu,"InteractiveReferencePoint",429,Hr,Upn,j0n),Lxt,FLe,Gx,l3,iW,RLe,jLe,sW,$Le,yB,aW,KL,Kx,gp,H1e,oW,Xc,zLe,$b,Ou,V1e,U1e,xB,hv,h3,Wx,qLe,Yx,kB,d4,s1,jf,G1e,R6,Ki,zi,HLe,VLe,ULe,GLe,KLe,K1e,cW,$l,f3,W1e,Xx,WL,U1,j6,d3,$6,z6,zT,fv,WLe,Y1e,X1e,Qx;D(171,22,{3:1,34:1,22:1,171:1},lO);var YL,zb,XL,g4,EB,YLe=Fr(lu,"LayerConstraint",171,Hr,Kmn,V0n),Mxt;D(859,1,Nf,Xre),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,UEe),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),sMe),(p2(),bs)),yLe),un((t1(),Bn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,GEe),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Vn(),!1)),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dG),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),hMe),bs),BLe),un(Bn)))),Xs(t,dG,qhe,T9t),Xs(t,dG,pL,E9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,KEe),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,WEe),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),ya),Ps),un(Bn)))),sn(t,new Xt(Bun(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,YEe),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),ya),Ps),un(yv)),he(le(zt,1),dt,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,XEe),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),wMe),bs),ADe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,QEe),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),pt(7)),Sc),ro),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,JEe),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ZEe),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qhe),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),iMe),bs),vLe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qP),ffe),"Node Layering Strategy"),"Strategy for node layering."),gMe),bs),bDe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eTe),ffe),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),fMe),bs),YLe),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tTe),ffe),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Sc),ro),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nTe),ffe),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pt(-1)),Sc),ro),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Hhe),eyt),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),pt(4)),Sc),ro),un(Bn)))),Xs(t,Hhe,qP,D9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Vhe),eyt),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),pt(2)),Sc),ro),un(Bn)))),Xs(t,Vhe,qP,O9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Uhe),tyt),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),dMe),bs),CDe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ghe),tyt),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),pt(0)),Sc),ro),un(Bn)))),Xs(t,Ghe,Uhe,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Khe),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),pt(Oi)),Sc),ro),un(Bn)))),Xs(t,Khe,qP,S9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pL),gT),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),rMe),bs),gLe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rTe),gT),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Whe),gT),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),lo),ea),un(Bn)))),Xs(t,Whe,SG,Xxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Yhe),gT),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),ya),Ps),un(Bn)))),Xs(t,Yhe,pL,n9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,iTe),gT),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),J6),zt),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,sTe),gT),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),J6),zt),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aTe),gT),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),Sc),ro),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,oTe),gT),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),pt(-1)),Sc),ro),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cTe),nyt),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),pt(40)),Sc),ro),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Xhe),nyt),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),nMe),bs),z1e),un(Bn)))),Xs(t,Xhe,pL,Wxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gG),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),tMe),bs),z1e),un(Bn)))),Xs(t,gG,pL,Uxt),Xs(t,gG,SG,Gxt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,k6),ryt),"Node Placement Strategy"),"Strategy for node placement."),vMe),bs),yDe),un(Bn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,pG),ryt),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),ya),Ps),un(Bn)))),Xs(t,pG,k6,V9t),Xs(t,pG,k6,U9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qhe),iyt),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),pMe),bs),ELe),un(Bn)))),Xs(t,Qhe,k6,$9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Jhe),iyt),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),bMe),bs),ALe),un(Bn)))),Xs(t,Jhe,k6,q9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Zhe),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),lo),ea),un(Bn)))),Xs(t,Zhe,k6,K9t),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,efe),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),bs),vde),un(fa)))),Xs(t,efe,k6,Q9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tfe),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),mMe),bs),vde),un(Bn)))),Xs(t,tfe,k6,X9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,uTe),syt),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),cMe),bs),DDe),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,lTe),syt),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),uMe),bs),IDe),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bG),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),lMe),bs),NDe),un(Bn)))),Xs(t,bG,HP,d9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mG),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),lo),ea),un(Bn)))),Xs(t,mG,HP,p9t),Xs(t,mG,bG,b9t),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,nfe),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),lo),ea),un(Bn)))),Xs(t,nfe,HP,u9t),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,hTe),q1),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fTe),q1),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dTe),q1),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gTe),q1),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pTe),CTe),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),pt(0)),Sc),ro),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bTe),CTe),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),pt(0)),Sc),ro),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mTe),CTe),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),pt(0)),Sc),ro),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rfe),STe),x3t),"Tries to further compact components (disconnected sub-graphs)."),!1),ya),Ps),un(Bn)))),Xs(t,rfe,lL,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vTe),ayt),"Post Compaction Strategy"),oyt),QLe),bs),NLe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,wTe),ayt),"Post Compaction Constraint Calculation"),oyt),XLe),bs),fLe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vG),_Te),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ife),_Te),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),pt(16)),Sc),ro),un(Bn)))),Xs(t,ife,vG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,sfe),_Te),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),pt(5)),Sc),ro),un(Bn)))),Xs(t,sfe,vG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hp),ATe),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),kMe),bs),RDe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,wG),ATe),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),lo),ea),un(Bn)))),Xs(t,wG,hp,lkt),Xs(t,wG,hp,hkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,yG),ATe),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),lo),ea),un(Bn)))),Xs(t,yG,hp,dkt),Xs(t,yG,hp,gkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bL),cyt),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),xMe),bs),bLe),un(Bn)))),Xs(t,bL,hp,ykt),Xs(t,bL,hp,xkt),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,afe),cyt),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),K1),bf),un(Bn)))),Xs(t,afe,bL,bkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ofe),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),yMe),Sc),ro),un(Bn)))),Xs(t,ofe,bL,vkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,xG),uyt),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),EMe),bs),FDe),un(Bn)))),Xs(t,xG,hp,Okt),Xs(t,xG,hp,Nkt),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,kG),uyt),"Valid Indices for Wrapping"),null),K1),bf),un(Bn)))),Xs(t,kG,hp,Mkt),Xs(t,kG,hp,Dkt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,EG),LTe),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),ya),Ps),un(Bn)))),Xs(t,EG,hp,Ckt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,TG),LTe),"Distance Penalty When Improving Cuts"),null),2),lo),ea),un(Bn)))),Xs(t,TG,hp,Ekt),Xs(t,TG,EG,!0),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,cfe),LTe),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),ya),Ps),un(Bn)))),Xs(t,cfe,hp,_kt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,yTe),dfe),"Edge Label Side Selection"),"Method to decide on edge label sides."),oMe),bs),xLe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,xTe),dfe),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),aMe),bs),NT),ns(Bn,he(le(yg,1),it,170,0,[_2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,CG),mL),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),eMe),bs),_De),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,kTe),mL),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ETe),mL),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),ya),Ps),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ufe),mL),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),JLe),bs),vAe),un(Bn)))),Xs(t,ufe,lL,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,TTe),mL),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),ZLe),bs),vDe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,lfe),mL),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),lo),ea),un(Bn)))),Xs(t,lfe,CG,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hfe),mL),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),lo),ea),un(Bn)))),Xs(t,hfe,CG,null),Swt((new Qre,t))};var Dxt,Ixt,Oxt,XLe,Nxt,QLe,Pxt,JLe,Bxt,Fxt,Rxt,ZLe,jxt,$xt,zxt,eMe,qxt,Hxt,Vxt,tMe,Uxt,Gxt,Kxt,nMe,Wxt,Yxt,Xxt,Qxt,Jxt,Zxt,e9t,t9t,n9t,r9t,rMe,i9t,iMe,s9t,sMe,a9t,aMe,o9t,oMe,c9t,u9t,l9t,cMe,h9t,uMe,f9t,lMe,d9t,g9t,p9t,b9t,m9t,v9t,w9t,y9t,x9t,k9t,hMe,E9t,T9t,C9t,S9t,_9t,A9t,fMe,L9t,M9t,D9t,I9t,O9t,N9t,P9t,dMe,B9t,gMe,F9t,R9t,j9t,pMe,$9t,z9t,bMe,q9t,H9t,V9t,U9t,G9t,K9t,W9t,Y9t,mMe,X9t,Q9t,J9t,vMe,Z9t,wMe,ekt,tkt,nkt,rkt,ikt,skt,akt,okt,ckt,ukt,lkt,hkt,fkt,dkt,gkt,pkt,bkt,mkt,yMe,vkt,wkt,xMe,ykt,xkt,kkt,Ekt,Tkt,Ckt,Skt,_kt,Akt,kMe,Lkt,Mkt,Dkt,Ikt,EMe,Okt,Nkt;I(lu,"LayeredMetaDataProvider",859),D(998,1,Nf,Qre),h.hf=function(t){Swt(t)};var Pd,Q1e,uW,QL,lW,TMe,hW,p4,fW,CMe,SMe,dW,J1e,wg,Z1e,g3,_Me,TB,ede,AMe,Pkt,Bkt,Fkt,gW,tde,JL,dv,Rkt,jh,LMe,MMe,pW,nde,Bd,bW,pp,DMe,IMe,OMe,rde,ide,NMe,k2,sde,PMe,b4,BMe,FMe,RMe,mW,m4,gv,jMe,$Me,uc,zMe,jkt,Zu,vW,qMe,HMe,VMe,qb,pv,wW,UMe,GMe,yW,p3,KMe,ade,ZL,WMe,b3,eM,xW,bv,ode,qT,kW,mv,YMe,XMe,QMe,HT,JMe,$kt,zkt,qkt,Hkt,m3,v4,Ds,E2,Vkt,w4,ZMe,VT,eDe,y4,Ukt,UT,tDe,Jx,Gkt,Kkt,CB,cde,nDe,SB,y0,q6,H6,v3,vv,EW,x4,ude,GT,KT,w3,V6,lde,_B,tM,nM,Wkt,Ykt,Xkt,rDe,Qkt,hde,iDe,sDe,aDe,oDe,fde,cDe,uDe,lDe,hDe,dde,TW;I(lu,"LayeredOptions",998),D(999,1,{},jee),h.sf=function(){var t;return t=new VQe,t},h.tf=function(t){},I(lu,"LayeredOptions/LayeredFactory",999),D(1391,1,{}),h.a=0;var Jkt;I(Kc,"ElkSpacings/AbstractSpacingsBuilder",1391),D(792,1391,{},I8e);var CW,Zkt;I(lu,"LayeredSpacings/LayeredSpacingsBuilder",792),D(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},M5),h.dg=function(){return zbt(this)},h.qg=function(){return zbt(this)};var WT,gde,YT,fDe,dDe,gDe,SW,pde,pDe,bDe=Fr(lu,"LayeringStrategy",265,Hr,$wn,U0n),eEt;D(390,22,{3:1,34:1,22:1,390:1},Cse);var bde,mDe,_W,vDe=Fr(lu,"LongEdgeOrderingStrategy",390,Hr,G2n,G0n),tEt;D(203,22,{3:1,34:1,22:1,203:1},mq);var U6,G6,AW,mde,vde=Fr(lu,"NodeFlexibility",203,Hr,tmn,K0n),nEt;D(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},hO),h.dg=function(){return D2t(this)},h.qg=function(){return D2t(this)};var rM,wde,yde,iM,wDe,yDe=Fr(lu,"NodePlacementStrategy",323,Hr,Gmn,W0n),rEt;D(243,22,{3:1,34:1,22:1,243:1},hy);var xDe,y3,k4,AB,kDe,EDe,LB,TDe,LW,MW,CDe=Fr(lu,"NodePromotionStrategy",243,Hr,h3n,Y0n),iEt;D(284,22,{3:1,34:1,22:1,284:1},vq);var SDe,T2,xde,kde,_De=Fr(lu,"OrderingStrategy",284,Hr,nmn,X0n),sEt;D(430,22,{3:1,34:1,22:1,430:1},j3e);var Ede,Tde,ADe=Fr(lu,"PortSortingStrategy",430,Hr,Wpn,Q0n),aEt;D(463,22,{3:1,34:1,22:1,463:1},Sse);var zl,Hu,sM,oEt=Fr(lu,"PortType",463,Hr,K2n,J0n),cEt;D(387,22,{3:1,34:1,22:1,387:1},_se);var LDe,Cde,MDe,DDe=Fr(lu,"SelfLoopDistributionStrategy",387,Hr,W2n,Z0n),uEt;D(349,22,{3:1,34:1,22:1,349:1},Ase);var Sde,MB,_de,IDe=Fr(lu,"SelfLoopOrderingStrategy",349,Hr,Y2n,e1n),lEt;D(312,1,{312:1},Evt),I(lu,"Spacings",312),D(350,22,{3:1,34:1,22:1,350:1},Lse);var Ade,ODe,aM,NDe=Fr(lu,"SplineRoutingMode",350,Hr,X2n,t1n),hEt;D(352,22,{3:1,34:1,22:1,352:1},Mse);var Lde,PDe,BDe,FDe=Fr(lu,"ValidifyStrategy",352,Hr,Q2n,n1n),fEt;D(388,22,{3:1,34:1,22:1,388:1},Dse);var E4,Mde,XT,RDe=Fr(lu,"WrappingStrategy",388,Hr,J2n,r1n),dEt;D(1398,1,Uo,Gre),h.rg=function(t){return l(t,36),gEt},h.Kf=function(t,n){BLn(this,l(t,36),n)};var gEt;I(MG,"DepthFirstCycleBreaker",1398),D(793,1,Uo,J4e),h.rg=function(t){return l(t,36),pEt},h.Kf=function(t,n){jIn(this,l(t,36),n)},h.sg=function(t){return l(jt(t,oU(this.d,t.c.length)),10)};var pEt;I(MG,"GreedyCycleBreaker",793),D(1401,793,Uo,qtt),h.sg=function(t){var n,r,a,o;for(o=null,n=Oi,a=new G(t);a.a1&&(Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),g3))))?V2t(t,this.d,l(this,669)):(Cn(),Hs(t,this.d)),Uft(this.e,t))},h.lg=function(t,n,r,a){var o,f,g,w,E,C,L;for(n!=cst(r,t.length)&&(f=t[n-(r?1:-1)],_6e(this.f,f,r?(qo(),Hu):(qo(),zl))),o=t[n][0],L=!a||o.k==(Zn(),Vs),C=M1(t[n]),this.vg(C,L,!1,r),g=0,E=new G(C);E.a"),t0?hoe(this.a,t[n-1],t[n]):!r&&n1&&(Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),g3))))?V2t(t,this.d,this):(Cn(),Hs(t,this.d)),Rt(Bt(Q(eo((Sn(0,t.c.length),l(t.c[0],10))),g3)))||Uft(this.e,t))},I(Al,"ModelOrderBarycenterHeuristic",669),D(1866,1,ri,HYe),h.Ne=function(t,n){return P9n(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Al,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),D(1423,1,Uo,Zre),h.rg=function(t){var n;return l(t,36),n=Nq(DEt),di(n,(oo(),wu),(bo(),jK)),n},h.Kf=function(t,n){vpn((l(t,36),n))};var DEt;I(Al,"NoCrossingMinimizer",1423),D(809,413,lCe,c3e),h.tg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V;switch(B=this.g,r.g){case 1:{for(o=0,f=0,L=new G(t.j);L.a1&&(o.j==(St(),ar)?this.b[t]=!0:o.j==er&&t>0&&(this.b[t-1]=!0))},h.f=0,I(pg,"AllCrossingsCounter",1861),D(595,1,{},CV),h.b=0,h.d=0,I(pg,"BinaryIndexedTree",595),D(532,1,{},IO);var zDe,IW;I(pg,"CrossingsCounter",532),D(1950,1,ri,VYe),h.Ne=function(t,n){return Vdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(pg,"CrossingsCounter/lambda$0$Type",1950),D(1951,1,ri,UYe),h.Ne=function(t,n){return Udn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(pg,"CrossingsCounter/lambda$1$Type",1951),D(1952,1,ri,GYe),h.Ne=function(t,n){return Gdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(pg,"CrossingsCounter/lambda$2$Type",1952),D(1953,1,ri,KYe),h.Ne=function(t,n){return Kdn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(pg,"CrossingsCounter/lambda$3$Type",1953),D(1954,1,fr,WYe),h.Cd=function(t){Kvn(this.a,l(t,12))},I(pg,"CrossingsCounter/lambda$4$Type",1954),D(1955,1,ei,YYe),h.Mb=function(t){return vln(this.a,l(t,12))},I(pg,"CrossingsCounter/lambda$5$Type",1955),D(1956,1,fr,XYe),h.Cd=function(t){Ott(this,t)},I(pg,"CrossingsCounter/lambda$6$Type",1956),D(1957,1,fr,Vet),h.Cd=function(t){var n;jk(),pb(this.b,(n=this.a,l(t,12),n))},I(pg,"CrossingsCounter/lambda$7$Type",1957),D(839,1,Sd,Qj),h.Lb=function(t){return jk(),ts(l(t,12),(ft(),$l))},h.Fb=function(t){return this===t},h.Mb=function(t){return jk(),ts(l(t,12),(ft(),$l))},I(pg,"CrossingsCounter/lambda$8$Type",839),D(1949,1,{},QYe),I(pg,"HyperedgeCrossingsCounter",1949),D(478,1,{34:1,478:1},Krt),h.Fd=function(t){return G5n(this,l(t,478))},h.b=0,h.c=0,h.e=0,h.f=0;var SOn=I(pg,"HyperedgeCrossingsCounter/Hyperedge",478);D(374,1,{34:1,374:1},SH),h.Fd=function(t){return aTn(this,l(t,374))},h.b=0,h.c=0;var IEt=I(pg,"HyperedgeCrossingsCounter/HyperedgeCorner",374);D(531,22,{3:1,34:1,22:1,531:1},$3e);var cM,uM,OEt=Fr(pg,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,Hr,Ypn,s1n),NEt;D(1425,1,Uo,eie),h.rg=function(t){return l(Q(l(t,36),(ft(),Ou)),21).Hc((Ho(),mf))?PEt:null},h.Kf=function(t,n){m8n(this,l(t,36),n)};var PEt;I(Go,"InteractiveNodePlacer",1425),D(1426,1,Uo,tie),h.rg=function(t){return l(Q(l(t,36),(ft(),Ou)),21).Hc((Ho(),mf))?BEt:null},h.Kf=function(t,n){t7n(this,l(t,36),n)};var BEt,OW,NW;I(Go,"LinearSegmentsNodePlacer",1426),D(261,1,{34:1,261:1},Bwe),h.Fd=function(t){return Mun(this,l(t,261))},h.Fb=function(t){var n;return De(t,261)?(n=l(t,261),this.b==n.b):!1},h.Hb=function(){return this.b},h.Ib=function(){return"ls"+Cb(this.e)},h.a=0,h.b=0,h.c=-1,h.d=-1,h.g=0;var FEt=I(Go,"LinearSegmentsNodePlacer/LinearSegment",261);D(1428,1,Uo,vst),h.rg=function(t){return l(Q(l(t,36),(ft(),Ou)),21).Hc((Ho(),mf))?REt:null},h.Kf=function(t,n){MIn(this,l(t,36),n)},h.b=0,h.g=0;var REt;I(Go,"NetworkSimplexPlacer",1428),D(1447,1,ri,Kee),h.Ne=function(t,n){return au(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Go,"NetworkSimplexPlacer/0methodref$compare$Type",1447),D(1449,1,ri,Wee),h.Ne=function(t,n){return au(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Go,"NetworkSimplexPlacer/1methodref$compare$Type",1449),D(655,1,{655:1},Uet);var _On=I(Go,"NetworkSimplexPlacer/EdgeRep",655);D(412,1,{412:1},I5e),h.b=!1;var AOn=I(Go,"NetworkSimplexPlacer/NodeRep",412);D(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},ZQe),I(Go,"NetworkSimplexPlacer/Path",515),D(1429,1,{},Yee),h.Kb=function(t){return l(t,18).d.i.k},I(Go,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),D(1430,1,ei,Xee),h.Mb=function(t){return l(t,273)==(Zn(),Aa)},I(Go,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),D(1431,1,{},Qee),h.Kb=function(t){return l(t,18).d.i},I(Go,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),D(1432,1,ei,JYe),h.Mb=function(t){return Drt(N1t(l(t,10)))},I(Go,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),D(1433,1,ei,Jee),h.Mb=function(t){return Adn(l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$0$Type",1433),D(1434,1,fr,Get),h.Cd=function(t){uhn(this.a,this.b,l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$1$Type",1434),D(1443,1,fr,ZYe),h.Cd=function(t){Pkn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$10$Type",1443),D(1444,1,{},Zee),h.Kb=function(t){return _h(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$11$Type",1444),D(1445,1,fr,eXe),h.Cd=function(t){LSn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$12$Type",1445),D(1446,1,{},ete),h.Kb=function(t){return _h(),pt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$13$Type",1446),D(1448,1,{},tte),h.Kb=function(t){return _h(),pt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$15$Type",1448),D(1450,1,ei,nte),h.Mb=function(t){return _h(),l(t,412).c.k==(Zn(),Bs)},I(Go,"NetworkSimplexPlacer/lambda$17$Type",1450),D(1451,1,ei,rte),h.Mb=function(t){return _h(),l(t,412).c.j.c.length>1},I(Go,"NetworkSimplexPlacer/lambda$18$Type",1451),D(1452,1,fr,Sat),h.Cd=function(t){g5n(this.c,this.b,this.d,this.a,l(t,412))},h.c=0,h.d=0,I(Go,"NetworkSimplexPlacer/lambda$19$Type",1452),D(1435,1,{},ite),h.Kb=function(t){return _h(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$2$Type",1435),D(1453,1,fr,tXe),h.Cd=function(t){hhn(this.a,l(t,12))},h.a=0,I(Go,"NetworkSimplexPlacer/lambda$20$Type",1453),D(1454,1,{},ste),h.Kb=function(t){return _h(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$21$Type",1454),D(1455,1,fr,nXe),h.Cd=function(t){Ehn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$22$Type",1455),D(1456,1,ei,ate),h.Mb=function(t){return Drt(t)},I(Go,"NetworkSimplexPlacer/lambda$23$Type",1456),D(1457,1,{},ote),h.Kb=function(t){return _h(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$24$Type",1457),D(1458,1,ei,rXe),h.Mb=function(t){return Iln(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$25$Type",1458),D(1459,1,fr,Ket),h.Cd=function(t){j9n(this.a,this.b,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$26$Type",1459),D(1460,1,ei,s8),h.Mb=function(t){return _h(),!Lo(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$27$Type",1460),D(1461,1,ei,Jj),h.Mb=function(t){return _h(),!Lo(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$28$Type",1461),D(1462,1,{},iXe),h.Ve=function(t,n){return lhn(this.a,l(t,30),l(n,30))},I(Go,"NetworkSimplexPlacer/lambda$29$Type",1462),D(1436,1,{},cte),h.Kb=function(t){return _h(),new bn(null,new yw(new hr(dr(zs(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$3$Type",1436),D(1437,1,ei,ute),h.Mb=function(t){return _h(),$bn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$4$Type",1437),D(1438,1,fr,sXe),h.Cd=function(t){RAn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$5$Type",1438),D(1439,1,{},lte),h.Kb=function(t){return _h(),new bn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$6$Type",1439),D(1440,1,ei,Zj),h.Mb=function(t){return _h(),l(t,10).k==(Zn(),Bs)},I(Go,"NetworkSimplexPlacer/lambda$7$Type",1440),D(1441,1,{},hte),h.Kb=function(t){return _h(),new bn(null,new yw(new hr(dr(ip(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$8$Type",1441),D(1442,1,ei,TS),h.Mb=function(t){return _h(),_dn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$9$Type",1442),D(1424,1,Uo,nie),h.rg=function(t){return l(Q(l(t,36),(ft(),Ou)),21).Hc((Ho(),mf))?jEt:null},h.Kf=function(t,n){vLn(l(t,36),n)};var jEt;I(Go,"SimpleNodePlacer",1424),D(185,1,{185:1},f6),h.Ib=function(){var t;return t="",this.c==(vd(),x3)?t+=Dx:this.c==C2&&(t+=Mx),this.o==(A1(),wv)?t+=yhe:this.o==G1?t+="UP":t+="BALANCED",t},I(Ob,"BKAlignedLayout",185),D(523,22,{3:1,34:1,22:1,523:1},z3e);var C2,x3,$Et=Fr(Ob,"BKAlignedLayout/HDirection",523,Hr,Qpn,a1n),zEt;D(522,22,{3:1,34:1,22:1,522:1},q3e);var wv,G1,qEt=Fr(Ob,"BKAlignedLayout/VDirection",522,Hr,Jpn,o1n),HEt;D(1699,1,{},Wet),I(Ob,"BKAligner",1699),D(1702,1,{},sgt),I(Ob,"BKCompactor",1702),D(663,1,{663:1},fte),h.a=0,I(Ob,"BKCompactor/ClassEdge",663),D(467,1,{467:1},XQe),h.a=null,h.b=0,I(Ob,"BKCompactor/ClassNode",467),D(1427,1,Uo,Jet),h.rg=function(t){return l(Q(l(t,36),(ft(),Ou)),21).Hc((Ho(),mf))?VEt:null},h.Kf=function(t,n){WIn(this,l(t,36),n)},h.d=!1;var VEt;I(Ob,"BKNodePlacer",1427),D(1700,1,{},dte),h.d=0,I(Ob,"NeighborhoodInformation",1700),D(1701,1,ri,aXe),h.Ne=function(t,n){return kwn(this,l(t,42),l(n,42))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Ob,"NeighborhoodInformation/NeighborComparator",1701),D(823,1,{}),I(Ob,"ThresholdStrategy",823),D(1825,823,{},QQe),h.wg=function(t,n,r){return this.a.o==(A1(),G1)?ps:ia},h.xg=function(){},I(Ob,"ThresholdStrategy/NullThresholdStrategy",1825),D(587,1,{587:1},Zet),h.c=!1,h.d=!1,I(Ob,"ThresholdStrategy/Postprocessable",587),D(1826,823,{},JQe),h.wg=function(t,n,r){var a,o,f;return o=n==r,a=this.a.a[r.p]==n,o||a?(f=t,this.a.c==(vd(),x3)?(o&&(f=wle(this,n,!0)),!isNaN(f)&&!isFinite(f)&&a&&(f=wle(this,r,!1))):(o&&(f=wle(this,n,!0)),!isNaN(f)&&!isFinite(f)&&a&&(f=wle(this,r,!1))),f):t},h.xg=function(){for(var t,n,r,a,o;this.d.b!=0;)o=l(d2n(this.d),587),a=Dmt(this,o),a.a&&(t=a.a,r=Rt(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Lo(t)&&t.c.i.c==t.d.i.c)&&(n=B2t(this,o),n||Pln(this.e,o)));for(;this.e.a.c.length!=0;)B2t(this,l(F0t(this.e),587))},I(Ob,"ThresholdStrategy/SimpleThresholdStrategy",1826),D(645,1,{645:1,188:1,196:1},gte),h.dg=function(){return Gft(this)},h.qg=function(){return Gft(this)};var Dde;I(vfe,"EdgeRouterFactory",645),D(1485,1,Uo,rie),h.rg=function(t){return sSn(l(t,36))},h.Kf=function(t,n){CLn(l(t,36),n)};var UEt,GEt,KEt,WEt,YEt,qDe,XEt,QEt;I(vfe,"OrthogonalEdgeRouter",1485),D(1478,1,Uo,Qet),h.rg=function(t){return _8n(l(t,36))},h.Kf=function(t,n){WDn(this,l(t,36),n)};var JEt,ZEt,eTt,tTt,IB,nTt;I(vfe,"PolylineEdgeRouter",1478),D(1479,1,Sd,bte),h.Lb=function(t){return L7e(l(t,10))},h.Fb=function(t){return this===t},h.Mb=function(t){return L7e(l(t,10))},I(vfe,"PolylineEdgeRouter/1",1479),D(1872,1,ei,mte),h.Mb=function(t){return l(t,132).c==(X0(),Hb)},I(n1,"HyperEdgeCycleDetector/lambda$0$Type",1872),D(1873,1,{},vte),h.Ze=function(t){return l(t,132).d},I(n1,"HyperEdgeCycleDetector/lambda$1$Type",1873),D(1874,1,ei,wte),h.Mb=function(t){return l(t,132).c==(X0(),Hb)},I(n1,"HyperEdgeCycleDetector/lambda$2$Type",1874),D(1875,1,{},yte),h.Ze=function(t){return l(t,132).d},I(n1,"HyperEdgeCycleDetector/lambda$3$Type",1875),D(1876,1,{},xte),h.Ze=function(t){return l(t,132).d},I(n1,"HyperEdgeCycleDetector/lambda$4$Type",1876),D(1877,1,{},pte),h.Ze=function(t){return l(t,132).d},I(n1,"HyperEdgeCycleDetector/lambda$5$Type",1877),D(118,1,{34:1,118:1},xN),h.Fd=function(t){return Dun(this,l(t,118))},h.Fb=function(t){var n;return De(t,118)?(n=l(t,118),this.g==n.g):!1},h.Hb=function(){return this.g},h.Ib=function(){var t,n,r,a;for(t=new Ch("{"),a=new G(this.n);a.a"+this.b+" ("+Xhn(this.c)+")"},h.d=0,I(n1,"HyperEdgeSegmentDependency",132),D(528,22,{3:1,34:1,22:1,528:1},H3e);var Hb,T4,rTt=Fr(n1,"HyperEdgeSegmentDependency/DependencyType",528,Hr,Zpn,c1n),iTt;D(1878,1,{},oXe),I(n1,"HyperEdgeSegmentSplitter",1878),D(1879,1,{},ZJe),h.a=0,h.b=0,I(n1,"HyperEdgeSegmentSplitter/AreaRating",1879),D(339,1,{339:1},wae),h.a=0,h.b=0,h.c=0,I(n1,"HyperEdgeSegmentSplitter/FreeArea",339),D(1880,1,ri,a8),h.Ne=function(t,n){return Xfn(l(t,118),l(n,118))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(n1,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),D(1881,1,fr,_at),h.Cd=function(t){Tmn(this.a,this.d,this.c,this.b,l(t,118))},h.b=0,I(n1,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),D(1882,1,{},kte),h.Kb=function(t){return new bn(null,new kn(l(t,118).e,16))},I(n1,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),D(1883,1,{},Ete),h.Kb=function(t){return new bn(null,new kn(l(t,118).j,16))},I(n1,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),D(1884,1,{},Tte),h.Ye=function(t){return ze(Ge(t))},I(n1,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),D(664,1,{},Vae),h.a=0,h.b=0,h.c=0,I(n1,"OrthogonalRoutingGenerator",664),D(1703,1,{},Cte),h.Kb=function(t){return new bn(null,new kn(l(t,118).e,16))},I(n1,"OrthogonalRoutingGenerator/lambda$0$Type",1703),D(1704,1,{},Ste),h.Kb=function(t){return new bn(null,new kn(l(t,118).j,16))},I(n1,"OrthogonalRoutingGenerator/lambda$1$Type",1704),D(670,1,{}),I(wfe,"BaseRoutingDirectionStrategy",670),D(1870,670,{},nJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new G(t.n);C.aAd&&(f=L,o=t,a=new lt(B,f),li(g.a,a),Gw(this,g,o,a,!1),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),a=new lt(V,f),li(g.a,a),Gw(this,g,o,a,!1),f=n+z.o*r,o=z,a=new lt(V,f),li(g.a,a),Gw(this,g,o,a,!1)),a=new lt(te,f),li(g.a,a),Gw(this,g,o,a,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return St(),Dr},h.Bg=function(){return St(),Qn},I(wfe,"NorthToSouthRoutingStrategy",1870),D(1871,670,{},rJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n-t.o*r,C=new G(t.n);C.aAd&&(f=L,o=t,a=new lt(B,f),li(g.a,a),Gw(this,g,o,a,!1),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),a=new lt(V,f),li(g.a,a),Gw(this,g,o,a,!1),f=n-z.o*r,o=z,a=new lt(V,f),li(g.a,a),Gw(this,g,o,a,!1)),a=new lt(te,f),li(g.a,a),Gw(this,g,o,a,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return St(),Qn},h.Bg=function(){return St(),Dr},I(wfe,"SouthToNorthRoutingStrategy",1871),D(1869,670,{},iJe),h.yg=function(t,n,r){var a,o,f,g,w,E,C,L,B,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new G(t.n);C.aAd&&(f=L,o=t,a=new lt(f,B),li(g.a,a),Gw(this,g,o,a,!0),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),a=new lt(f,V),li(g.a,a),Gw(this,g,o,a,!0),f=n+z.o*r,o=z,a=new lt(f,V),li(g.a,a),Gw(this,g,o,a,!0)),a=new lt(f,te),li(g.a,a),Gw(this,g,o,a,!0)))},h.zg=function(t){return t.i.n.b+t.n.b+t.a.b},h.Ag=function(){return St(),ar},h.Bg=function(){return St(),er},I(wfe,"WestToEastRoutingStrategy",1869),D(828,1,{},_ke),h.Ib=function(){return Cb(this.a)},h.b=0,h.c=!1,h.d=!1,h.f=0,I(e4,"NubSpline",828),D(418,1,{418:1},pbt,sot),I(e4,"NubSpline/PolarCP",418),D(1480,1,Uo,Qdt),h.rg=function(t){return bxn(l(t,36))},h.Kf=function(t,n){dIn(this,l(t,36),n)};var sTt,aTt,oTt,cTt,uTt;I(e4,"SplineEdgeRouter",1480),D(274,1,{274:1},YH),h.Ib=function(){return this.a+" ->("+this.c+") "+this.b},h.c=0,I(e4,"SplineEdgeRouter/Dependency",274),D(465,22,{3:1,34:1,22:1,465:1},V3e);var Vb,K6,lTt=Fr(e4,"SplineEdgeRouter/SideToProcess",465,Hr,s2n,u1n),hTt;D(1481,1,ei,_te),h.Mb=function(t){return GA(),!l(t,131).o},I(e4,"SplineEdgeRouter/lambda$0$Type",1481),D(1482,1,{},Ate),h.Ze=function(t){return GA(),l(t,131).v+1},I(e4,"SplineEdgeRouter/lambda$1$Type",1482),D(1483,1,fr,ett),h.Cd=function(t){Ddn(this.a,this.b,l(t,42))},I(e4,"SplineEdgeRouter/lambda$2$Type",1483),D(1484,1,fr,ttt),h.Cd=function(t){Idn(this.a,this.b,l(t,42))},I(e4,"SplineEdgeRouter/lambda$3$Type",1484),D(131,1,{34:1,131:1},Lpt,Oke),h.Fd=function(t){return Nun(this,l(t,131))},h.b=0,h.e=!1,h.f=0,h.g=0,h.j=!1,h.k=!1,h.n=0,h.o=!1,h.p=!1,h.q=!1,h.s=0,h.u=0,h.v=0,h.F=0,I(e4,"SplineSegment",131),D(468,1,{468:1},Lte),h.a=0,h.b=!1,h.c=!1,h.d=!1,h.e=!1,h.f=0,I(e4,"SplineSegment/EdgeInformation",468),D(1198,1,{},CS),I(dp,MEe,1198),D(1199,1,ri,Mte),h.Ne=function(t,n){return Jkn(l(t,121),l(n,121))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(dp,C3t,1199),D(1197,1,{},pZe),I(dp,"MrTree",1197),D(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},wq),h.dg=function(){return Xpt(this)},h.qg=function(){return Xpt(this)};var PW,lM,hM,fM,HDe=Fr(dp,"TreeLayoutPhases",405,Hr,omn,l1n),fTt;D(1112,205,tv,Urt),h.rf=function(t,n){var r,a,o,f,g,w,E,C;for(Rt(Bt(at(t,(Uc(),gIe))))||KO((r=new Qv((cw(),new ew(t))),r)),g=n.eh(kfe),g.Ug("build tGraph",1),w=(E=new nN,bc(E,t),rt(E,(Qi(),gM),t),C=new Pr,U_n(t,E,C),lAn(t,E,C),E),g.Vg(),g=n.eh(kfe),g.Ug("Split graph",1),f=Q_n(this.a,w),g.Vg(),o=new G(f);o.a"+Bm(this.c):"e_"+Zi(this)},I(vL,"TEdge",65),D(121,137,{3:1,121:1,96:1,137:1},nN),h.Ib=function(){var t,n,r,a,o;for(o=null,a=Rr(this.b,0);a.b!=a.d.c;)r=l(Br(a),40),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+` +`;for(n=Rr(this.a,0);n.b!=n.d.c;)t=l(Br(n),65),o+=(t.b&&t.c?Bm(t.b)+"->"+Bm(t.c):"e_"+Zi(t))+` +`;return o};var LOn=I(vL,"TGraph",121);D(643,508,{3:1,508:1,643:1,96:1,137:1}),I(vL,"TShape",643),D(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},kce),h.Ib=function(){return Bm(this)};var BW=I(vL,"TNode",40);D(236,1,lg,qg),h.Jc=function(t){to(this,t)},h.Kc=function(){var t;return t=Rr(this.a.d,0),new C5(t)},I(vL,"TNode/2",236),D(329,1,Oa,C5),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(Br(this.a),65).c},h.Ob=function(){return QI(this.a)},h.Qb=function(){Xoe(this.a)},I(vL,"TNode/2/1",329),D(1923,1,es,Fte),h.Kf=function(t,n){HIn(this,l(t,121),n)},I(Mu,"CompactionProcessor",1923),D(1924,1,ri,fXe),h.Ne=function(t,n){return M3n(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Mu,"CompactionProcessor/lambda$0$Type",1924),D(1925,1,ei,rtt),h.Mb=function(t){return Bpn(this.b,this.a,l(t,42))},h.a=0,h.b=0,I(Mu,"CompactionProcessor/lambda$1$Type",1925),D(1934,1,ri,o8),h.Ne=function(t,n){return _gn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Mu,"CompactionProcessor/lambda$10$Type",1934),D(1935,1,ri,e$),h.Ne=function(t,n){return zhn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Mu,"CompactionProcessor/lambda$11$Type",1935),D(1936,1,ri,Rte),h.Ne=function(t,n){return Agn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Mu,"CompactionProcessor/lambda$12$Type",1936),D(1926,1,ei,dXe),h.Mb=function(t){return Thn(this.a,l(t,42))},h.a=0,I(Mu,"CompactionProcessor/lambda$2$Type",1926),D(1927,1,ei,gXe),h.Mb=function(t){return Chn(this.a,l(t,42))},h.a=0,I(Mu,"CompactionProcessor/lambda$3$Type",1927),D(1928,1,ei,pI),h.Mb=function(t){return l(t,40).c.indexOf(IG)==-1},I(Mu,"CompactionProcessor/lambda$4$Type",1928),D(1929,1,{},pXe),h.Kb=function(t){return Rbn(this.a,l(t,40))},h.a=0,I(Mu,"CompactionProcessor/lambda$5$Type",1929),D(1930,1,{},bXe),h.Kb=function(t){return Gvn(this.a,l(t,40))},h.a=0,I(Mu,"CompactionProcessor/lambda$6$Type",1930),D(1931,1,ri,mXe),h.Ne=function(t,n){return rvn(this.a,l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Mu,"CompactionProcessor/lambda$7$Type",1931),D(1932,1,ri,vXe),h.Ne=function(t,n){return ivn(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Mu,"CompactionProcessor/lambda$8$Type",1932),D(1933,1,ri,jte),h.Ne=function(t,n){return qhn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Mu,"CompactionProcessor/lambda$9$Type",1933),D(1921,1,es,$te),h.Kf=function(t,n){jSn(l(t,121),n)},I(Mu,"DirectionProcessor",1921),D(1913,1,es,Vrt),h.Kf=function(t,n){cAn(this,l(t,121),n)},I(Mu,"FanProcessor",1913),D(1937,1,es,zte),h.Kf=function(t,n){_Sn(l(t,121),n)},I(Mu,"GraphBoundsProcessor",1937),D(1938,1,{},qte),h.Ye=function(t){return l(t,40).e.a},I(Mu,"GraphBoundsProcessor/lambda$0$Type",1938),D(1939,1,{},Hte),h.Ye=function(t){return l(t,40).e.b},I(Mu,"GraphBoundsProcessor/lambda$1$Type",1939),D(1940,1,{},Vte),h.Ye=function(t){return oln(l(t,40))},I(Mu,"GraphBoundsProcessor/lambda$2$Type",1940),D(1941,1,{},Ute),h.Ye=function(t){return aln(l(t,40))},I(Mu,"GraphBoundsProcessor/lambda$3$Type",1941),D(262,22,{3:1,34:1,22:1,262:1,196:1},uw),h.dg=function(){switch(this.g){case 0:return new vJe;case 1:return new Vrt;case 2:return new mJe;case 3:return new r$;case 4:return new Gte;case 8:return new t$;case 5:return new $te;case 6:return new s$;case 7:return new Fte;case 9:return new zte;case 10:return new Wte;default:throw ue(new Yn(Rhe+(this.f!=null?this.f:""+this.g)))}};var VDe,UDe,GDe,KDe,WDe,YDe,XDe,QDe,JDe,ZDe,Ide,MOn=Fr(Mu,jhe,262,Hr,Rft,h1n),dTt;D(1920,1,es,t$),h.Kf=function(t,n){$Dn(l(t,121),n)},I(Mu,"LevelCoordinatesProcessor",1920),D(1918,1,es,Gte),h.Kf=function(t,n){oCn(this,l(t,121),n)},h.a=0,I(Mu,"LevelHeightProcessor",1918),D(1919,1,lg,n$),h.Jc=function(t){to(this,t)},h.Kc=function(){return Cn(),Mk(),AT},I(Mu,"LevelHeightProcessor/1",1919),D(1914,1,es,mJe),h.Kf=function(t,n){xSn(this,l(t,121),n)},I(Mu,"LevelProcessor",1914),D(1915,1,ei,Kte),h.Mb=function(t){return Rt(Bt(Q(l(t,40),(Qi(),Ub))))},I(Mu,"LevelProcessor/lambda$0$Type",1915),D(1916,1,es,r$),h.Kf=function(t,n){ikn(this,l(t,121),n)},h.a=0,I(Mu,"NeighborsProcessor",1916),D(1917,1,lg,i$),h.Jc=function(t){to(this,t)},h.Kc=function(){return Cn(),Mk(),AT},I(Mu,"NeighborsProcessor/1",1917),D(1922,1,es,s$),h.Kf=function(t,n){oAn(this,l(t,121),n)},h.a=0,I(Mu,"NodePositionProcessor",1922),D(1912,1,es,vJe),h.Kf=function(t,n){qLn(this,l(t,121),n)},I(Mu,"RootProcessor",1912),D(1942,1,es,Wte),h.Kf=function(t,n){R6n(l(t,121),n)},I(Mu,"Untreeifyer",1942),D(392,22,{3:1,34:1,22:1,392:1},Nse);var OB,Ode,eIe,tIe=Fr(UP,"EdgeRoutingMode",392,Hr,ebn,f1n),gTt,NB,QT,Nde,nIe,rIe,Pde,Bde,iIe,Fde,sIe,Rde,dM,jde,FW,RW,x0,a1,JT,gM,pM,S2,aIe,pTt,$de,Ub,PB,BB;D(862,1,Nf,iie),h.hf=function(t){sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dCe),""),myt),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(Vn(),!1)),(p2(),ya)),Ps),un((t1(),Bn))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gCe),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pCe),""),"Tree Level"),"The index for the tree level the node is in"),pt(0)),Sc),ro),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bCe),""),myt),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),pt(-1)),Sc),ro),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,mCe),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),uIe),bs),xIe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,vCe),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),oIe),bs),tIe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,wCe),""),"Search Order"),"Which search order to use when computing a spanning tree."),cIe),bs),EIe),un(Bn)))),awt((new v8,t))};var bTt,mTt,vTt,oIe,wTt,yTt,cIe,xTt,kTt,uIe;I(UP,"MrTreeMetaDataProvider",862),D(1006,1,Nf,v8),h.hf=function(t){awt(t)};var ETt,lIe,hIe,k3,fIe,dIe,zde,TTt,CTt,STt,_Tt,ATt,LTt,MTt,gIe,pIe,bIe,DTt,W6,jW,mIe,ITt,vIe,qde,OTt,NTt,PTt,wIe,BTt,Fd,yIe;I(UP,"MrTreeOptions",1006),D(1007,1,{},Yte),h.sf=function(){var t;return t=new Urt,t},h.tf=function(t){},I(UP,"MrTreeOptions/MrtreeFactory",1007),D(353,22,{3:1,34:1,22:1,353:1},yq);var Hde,$W,Vde,Ude,xIe=Fr(UP,"OrderWeighting",353,Hr,cmn,d1n),FTt;D(433,22,{3:1,34:1,22:1,433:1},U3e);var kIe,Gde,EIe=Fr(UP,"TreeifyingOrder",433,Hr,r2n,g1n),RTt;D(1486,1,Uo,oie),h.rg=function(t){return l(t,121),jTt},h.Kf=function(t,n){v3n(this,l(t,121),n)};var jTt;I("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),D(1487,1,Uo,dk),h.rg=function(t){return l(t,121),$Tt},h.Kf=function(t,n){CSn(this,l(t,121),n)};var $Tt;I(pT,"NodeOrderer",1487),D(1494,1,{},bwe),h.td=function(t){return Qit(t)},I(pT,"NodeOrderer/0methodref$lambda$6$Type",1494),D(1488,1,ei,one),h.Mb=function(t){return ux(),Rt(Bt(Q(l(t,40),(Qi(),Ub))))},I(pT,"NodeOrderer/lambda$0$Type",1488),D(1489,1,ei,cne),h.Mb=function(t){return ux(),l(Q(l(t,40),(Uc(),W6)),17).a<0},I(pT,"NodeOrderer/lambda$1$Type",1489),D(1490,1,ei,yXe),h.Mb=function(t){return Kwn(this.a,l(t,40))},I(pT,"NodeOrderer/lambda$2$Type",1490),D(1491,1,ei,wXe),h.Mb=function(t){return zbn(this.a,l(t,40))},I(pT,"NodeOrderer/lambda$3$Type",1491),D(1492,1,ri,une),h.Ne=function(t,n){return bwn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(pT,"NodeOrderer/lambda$4$Type",1492),D(1493,1,ei,lne),h.Mb=function(t){return ux(),l(Q(l(t,40),(Qi(),Bde)),17).a!=0},I(pT,"NodeOrderer/lambda$5$Type",1493),D(1495,1,Uo,aie),h.rg=function(t){return l(t,121),zTt},h.Kf=function(t,n){N_n(this,l(t,121),n)},h.b=0;var zTt;I("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),D(1496,1,Uo,sie),h.rg=function(t){return l(t,121),qTt},h.Kf=function(t,n){p_n(l(t,121),n)};var qTt,DOn=I(yh,"EdgeRouter",1496);D(1498,1,ri,ane),h.Ne=function(t,n){return au(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/0methodref$compare$Type",1498),D(1503,1,{},Xte),h.Ye=function(t){return ze(Ge(t))},I(yh,"EdgeRouter/1methodref$doubleValue$Type",1503),D(1505,1,ri,o$),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/2methodref$compare$Type",1505),D(1507,1,ri,Qte),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/3methodref$compare$Type",1507),D(1509,1,{},a$),h.Ye=function(t){return ze(Ge(t))},I(yh,"EdgeRouter/4methodref$doubleValue$Type",1509),D(1511,1,ri,Jte),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/5methodref$compare$Type",1511),D(1513,1,ri,bI),h.Ne=function(t,n){return Yi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/6methodref$compare$Type",1513),D(1497,1,{},Zte),h.Kb=function(t){return ep(),l(Q(l(t,40),(Uc(),Fd)),17)},I(yh,"EdgeRouter/lambda$0$Type",1497),D(1508,1,{},ene),h.Kb=function(t){return tfn(l(t,40))},I(yh,"EdgeRouter/lambda$11$Type",1508),D(1510,1,{},itt),h.Kb=function(t){return Ldn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(yh,"EdgeRouter/lambda$13$Type",1510),D(1512,1,{},stt),h.Kb=function(t){return nfn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(yh,"EdgeRouter/lambda$15$Type",1512),D(1514,1,ri,tne),h.Ne=function(t,n){return g6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/lambda$17$Type",1514),D(1515,1,ri,nne),h.Ne=function(t,n){return p6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/lambda$18$Type",1515),D(1516,1,ri,rne),h.Ne=function(t,n){return m6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/lambda$19$Type",1516),D(1499,1,ei,xXe),h.Mb=function(t){return v2n(this.a,l(t,40))},h.a=0,I(yh,"EdgeRouter/lambda$2$Type",1499),D(1517,1,ri,c$),h.Ne=function(t,n){return b6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/lambda$20$Type",1517),D(1500,1,ri,ine),h.Ne=function(t,n){return pdn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/lambda$3$Type",1500),D(1501,1,ri,sne),h.Ne=function(t,n){return bdn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"EdgeRouter/lambda$4$Type",1501),D(1502,1,{},hne),h.Kb=function(t){return rfn(l(t,40))},I(yh,"EdgeRouter/lambda$5$Type",1502),D(1504,1,{},att),h.Kb=function(t){return Mdn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(yh,"EdgeRouter/lambda$7$Type",1504),D(1506,1,{},ott),h.Kb=function(t){return ifn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(yh,"EdgeRouter/lambda$9$Type",1506),D(675,1,{675:1},jdt),h.e=0,h.f=!1,h.g=!1,I(yh,"MultiLevelEdgeNodeNodeGap",675),D(1943,1,ri,fne),h.Ne=function(t,n){return A2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),D(1944,1,ri,dne),h.Ne=function(t,n){return L2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(yh,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var Y6;D(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},G3e),h.dg=function(){return C1t(this)},h.qg=function(){return C1t(this)};var zW,X6,TIe=Fr(yCe,"RadialLayoutPhases",501,Hr,Xpn,p1n),HTt;D(1113,205,tv,gZe),h.rf=function(t,n){var r,a,o,f,g,w;if(r=lbt(this,t),n.Ug("Radial layout",r.c.length),Rt(Bt(at(t,(_b(),PIe))))||KO((a=new Qv((cw(),new ew(t))),a)),w=wxn(t),Hi(t,(H5(),Y6),w),!w)throw ue(new Yn("The given graph is not a tree!"));for(o=ze(Ge(at(t,VW))),o==0&&(o=Vpt(t)),Hi(t,VW,o),g=new G(lbt(this,t));g.a=3)for(ot=l(Oe($e,0),27),_t=l(Oe($e,1),27),f=0;f+2<$e.i;)if(Je=ot,ot=_t,_t=l(Oe($e,f+2),27),Je.f>=ot.f+_t.f+L||_t.f>=Je.f+ot.f+L){on=!0;break}else++f;else on=!0;if(!on){for(z=$e.i,w=new or($e);w.e!=w.i.gc();)g=l(gr(w),27),Hi(g,(bi(),XB),pt(z)),--z;$mt(t,new L8),n.Vg();return}for(r=(qO(this.a),W0(this.a,(YV(),RB),l(at(t,lOe),188)),W0(this.a,UW,l(at(t,iOe),188)),W0(this.a,ige,l(at(t,oOe),188)),lye(this.a,(Fn=new Ys,di(Fn,RB,(aU(),oge)),di(Fn,UW,age),Rt(Bt(at(t,nOe)))&&di(Fn,RB,sge),Fn)),bP(this.a,t)),C=1/r.c.length,J=new G(r);J.a0&&Y0t((Xn(n-1,t.length),t.charCodeAt(n-1)),B3t);)--n;if(a>=n)throw ue(new Yn("The given string does not contain any numbers."));if(o=Ky((Ga(a,n,t.length),t.substr(a,n-a)),`,|;|\r| +`),o.length!=2)throw ue(new Yn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=$y(zy(o[0])),this.b=$y(zy(o[1]))}catch(f){throw f=ms(f),De(f,130)?(r=f,ue(new Yn(F3t+r))):ue(f)}},h.Ib=function(){return"("+this.a+","+this.b+")"},h.a=0,h.b=0;var Ea=I($P,"KVector",8);D(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},wl,Kz,grt),h.Pc=function(){return Pyn(this)},h.cg=function(t){var n,r,a,o,f,g;a=Ky(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | +`),Sh(this);try{for(r=0,f=0,o=0,g=0;r0&&(f%2==0?o=$y(a[r]):g=$y(a[r]),f>0&&f%2!=0&&li(this,new lt(o,g)),++f),++r}catch(w){throw w=ms(w),De(w,130)?(n=w,ue(new Yn("The given string does not match the expected format for vectors."+n))):ue(w)}},h.Ib=function(){var t,n,r;for(t=new Ch("("),n=Rr(this,0);n.b!=n.d.c;)r=l(Br(n),8),fi(t,r.a+","+r.b),n.b!=n.d.c&&(t.a+="; ");return(t.a+=")",t).a};var KOe=I($P,"KVectorChain",75);D(255,22,{3:1,34:1,22:1,255:1},__);var _ge,tY,nY,HB,VB,rY,WOe=Fr(rh,"Alignment",255,Hr,Ivn,j1n),ESt;D(991,1,Nf,die),h.hf=function(t){Emt(t)};var YOe,Age,TSt,XOe,QOe,CSt,JOe,SSt,_St,ZOe,eNe,ASt;I(rh,"BoxLayouterOptions",991),D(992,1,{},ek),h.sf=function(){var t;return t=new $ne,t},h.tf=function(t){},I(rh,"BoxLayouterOptions/BoxFactory",992),D(298,22,{3:1,34:1,22:1,298:1},A_);var EM,Lge,TM,CM,SM,Mge,Dge=Fr(rh,"ContentAlignment",298,Hr,Ovn,$1n),LSt;D(699,1,Nf,lz),h.hf=function(t){sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Ryt),""),"Layout Algorithm"),"Select a specific layout algorithm."),(p2(),J6)),zt),un((t1(),Bn))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,jyt),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),K1),NOn),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,HTe),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),tNe),bs),WOe),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Ox),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,nSe),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),K1),KOe),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,_G),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),rNe),t9),Dge),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VP),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Vn(),!1)),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,pfe),""),EEe),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),iNe),bs),LM),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,HP),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),oNe),bs),Uge),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eSe),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,SG),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),lNe),bs),XNe),ns(Bn,he(le(yg,1),it,170,0,[fa]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Jw),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),wNe),K1),yAe),ns(Bn,he(le(yg,1),it,170,0,[fa]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hL),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,LG),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fL),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Phe),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),TNe),bs),ZNe),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,AG),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),K1),Ea),ns(fa,he(le(yg,1),it,170,0,[yv,_2]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,NP),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),Sc),ro),ns(fa,he(le(yg,1),it,170,0,[Rd]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,cG),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),Sc),ro),un(Bn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,lL),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,eCe),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),hNe),K1),KOe),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rCe),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),ya),Ps),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,iCe),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),ya),Ps),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,oOn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),K1),jOn),ns(Bn,he(le(yg,1),it,170,0,[_2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,aCe),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),fNe),K1),wAe),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,zTe),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),ya),Ps),ns(fa,he(le(yg,1),it,170,0,[Rd,yv,_2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,$yt),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),lo),ea),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,zyt),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,qyt),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PP),""),Oyt),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),ya),Ps),un(Bn)))),Xs(t,PP,Zw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Hyt),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Vyt),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),pt(100)),Sc),ro),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Uyt),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Gyt),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),pt(4e3)),Sc),ro),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Kyt),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),pt(400)),Sc),ro),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Wyt),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Yyt),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Xyt),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Qyt),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tSe),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),nNe),bs),uPe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,MTe),q1),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,DTe),q1),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Ahe),q1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,ITe),q1),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Nhe),q1),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,gfe),q1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,OTe),q1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BTe),q1),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,NTe),q1),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,PTe),q1),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Zy),q1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FTe),q1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),lo),ea),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,RTe),q1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),lo),ea),ns(Bn,he(le(yg,1),it,170,0,[fa]))))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,jTe),q1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),K1),b_t),ns(fa,he(le(yg,1),it,170,0,[Rd,yv,_2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,oCe),q1),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),PNe),K1),wAe),un(Bn)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,mfe),e4t),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),Sc),ro),ns(Bn,he(le(yg,1),it,170,0,[fa]))))),Xs(t,mfe,bfe,RSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,bfe),e4t),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),yNe),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,GTe),t4t),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),gNe),K1),yAe),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,fT),t4t),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),pNe),t9),Ko),ns(fa,he(le(yg,1),it,170,0,[_2]))))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,YTe),jG),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),kNe),bs),OM),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,XTe),jG),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),bs),OM),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,QTe),jG),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),bs),OM),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,JTe),jG),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),bs),OM),un(fa)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,ZTe),jG),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),bs),OM),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,x6),jfe),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),bNe),t9),BM),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Nx),jfe),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),vNe),t9),tPe),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Px),jfe),"Node Size Minimum"),"The minimal size to which a node can be reduced."),mNe),K1),Ea),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,hT),jfe),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),ya),Ps),un(Bn)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,tCe),dfe),"Edge Label Placement"),"Gives a hint on where to put edge labels."),sNe),bs),RNe),un(_2)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,uG),dfe),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),ya),Ps),un(_2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,cOn),"font"),"Font Name"),"Font name used for a label."),J6),zt),un(_2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,Jyt),"font"),"Font Size"),"Font size used for a label."),Sc),ro),un(_2)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,sCe),$fe),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),K1),Ea),un(yv)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,nCe),$fe),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),Sc),ro),un(yv)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,qTe),$fe),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),_Ne),bs),Do),un(yv)))),sn(t,new Xt(nn(tn(rn(Qt(en(Jt(Zt(new Ut,$Te),$fe),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),lo),ea),un(yv)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,dT),sSe),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),CNe),t9),uY),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,KTe),sSe),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),ya),Ps),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,WTe),sSe),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),ya),Ps),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,BP),KP),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),lo),ea),un(Bn)))),Xs(t,BP,Zw,GSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,rSe),KP),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),bs),pY),un(fa)))),Xs(t,rSe,Zw,KSt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,FP),KP),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),lo),ea),ns(Bn,he(le(yg,1),it,170,0,[fa]))))),Xs(t,FP,Zw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,RP),KP),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),lo),ea),ns(Bn,he(le(yg,1),it,170,0,[fa]))))),Xs(t,RP,Zw,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Zw),KP),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),bs),rPe),un(fa)))),Xs(t,Zw,hT,null),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,iSe),KP),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),lo),ea),un(Bn)))),Xs(t,iSe,Zw,USt),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,VTe),n4t),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),ya),Ps),un(fa)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,UTe),n4t),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),ya),Ps),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Lhe),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),lo),ea),un(Rd)))),sn(t,new Xt(nn(tn(rn(yn(Qt(en(Jt(Zt(new Ut,Zyt),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),uNe),bs),VNe),un(Rd)))),m_(t,new nx(f_(Ck(Tk(new ry,sr),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),m_(t,new nx(f_(Ck(Tk(new ry,"org.eclipse.elk.orthogonal"),"Orthogonal"),`Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia '86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.`))),m_(t,new nx(f_(Ck(Tk(new ry,Qu),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),m_(t,new nx(f_(Ck(Tk(new ry,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),m_(t,new nx(f_(Ck(Tk(new ry,vyt),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),m_(t,new nx(f_(Ck(Tk(new ry,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),m_(t,new nx(f_(Ck(Tk(new ry,df),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),cmt((new gie,t)),Emt((new die,t)),Bbt((new hz,t))};var eC,MSt,tNe,Z6,DSt,ISt,nNe,e7,t7,OSt,UB,rNe,GB,xv,iNe,Ige,Oge,sNe,aNe,oNe,cNe,uNe,NSt,n7,lNe,PSt,KB,Nge,WB,Pge,E3,hNe,tC,fNe,dNe,gNe,r7,pNe,kv,bNe,S4,i7,mNe,Gb,vNe,iY,YB,A2,wNe,BSt,yNe,FSt,RSt,xNe,kNe,Bge,Fge,Rge,jge,ENe,ih,_M,TNe,$ge,zge,_4,CNe,SNe,s7,_Ne,n9,XB,qge,a7,jSt,Hge,$St,zSt,ANe,qSt,LNe,MNe,r9,DNe,sY,INe,ONe,Ev,HSt,NNe,PNe,BNe,aY,QB,AM,i9,VSt,USt,oY,GSt,FNe,KSt;I(rh,"CoreOptions",699),D(88,22,{3:1,34:1,22:1,88:1},mO);var W1,lc,wc,Y1,vf,LM=Fr(rh,EEe,88,Hr,Fmn,z1n),WSt;D(278,22,{3:1,34:1,22:1,278:1},qse);var nC,A4,rC,RNe=Fr(rh,"EdgeLabelPlacement",278,Hr,fbn,q1n),YSt;D(223,22,{3:1,34:1,22:1,223:1},kq);var iC,JB,s9,Vge,Uge=Fr(rh,"EdgeRouting",223,Hr,fmn,H1n),XSt;D(321,22,{3:1,34:1,22:1,321:1},L_);var jNe,$Ne,zNe,qNe,Gge,HNe,VNe=Fr(rh,"EdgeType",321,Hr,Dvn,V1n),QSt;D(989,1,Nf,gie),h.hf=function(t){cmt(t)};var UNe,GNe,KNe,WNe,JSt,YNe,MM;I(rh,"FixedLayouterOptions",989),D(990,1,{},w$),h.sf=function(){var t;return t=new Gne,t},h.tf=function(t){},I(rh,"FixedLayouterOptions/FixedFactory",990),D(346,22,{3:1,34:1,22:1,346:1},Hse);var L2,cY,DM,XNe=Fr(rh,"HierarchyHandling",346,Hr,lbn,U1n),ZSt;D(291,22,{3:1,34:1,22:1,291:1},Eq);var xg,Kb,ZB,eF,e_t=Fr(rh,"LabelSide",291,Hr,hmn,G1n),t_t;D(95,22,{3:1,34:1,22:1,95:1},D5);var bp,k0,$f,E0,$h,T0,zf,kg,C0,Ko=Fr(rh,"NodeLabelPlacement",95,Hr,Iwn,K1n),n_t;D(256,22,{3:1,34:1,22:1,256:1},vO);var QNe,IM,Wb,JNe,tF,OM=Fr(rh,"PortAlignment",256,Hr,Jmn,W1n),r_t;D(101,22,{3:1,34:1,22:1,101:1},M_);var Tv,Nu,Eg,sC,X1,Yb,ZNe=Fr(rh,"PortConstraints",101,Hr,Mvn,Y1n),i_t;D(279,22,{3:1,34:1,22:1,279:1},D_);var NM,PM,mp,nF,Xb,a9,uY=Fr(rh,"PortLabelPlacement",279,Hr,Lvn,X1n),s_t;D(64,22,{3:1,34:1,22:1,64:1},wO);var ar,Qn,wf,yf,fl,el,Q1,S0,ql,Ml,Pu,Hl,dl,gl,_0,zh,qh,qf,Dr,Fc,er,Do=Fr(rh,"PortSide",64,Hr,Rmn,Q1n),a_t;D(993,1,Nf,hz),h.hf=function(t){Bbt(t)};var o_t,c_t,ePe,u_t,l_t;I(rh,"RandomLayouterOptions",993),D(994,1,{},y$),h.sf=function(){var t;return t=new Hne,t},h.tf=function(t){},I(rh,"RandomLayouterOptions/RandomFactory",994),D(386,22,{3:1,34:1,22:1,386:1},Tq);var L4,rF,iF,Cv,BM=Fr(rh,"SizeConstraint",386,Hr,lmn,J1n),h_t;D(264,22,{3:1,34:1,22:1,264:1},I5);var sF,lY,aC,Kge,aF,FM,hY,fY,dY,tPe=Fr(rh,"SizeOptions",264,Hr,Vwn,Z1n),f_t;D(280,22,{3:1,34:1,22:1,280:1},Vse);var M4,nPe,gY,rPe=Fr(rh,"TopdownNodeTypes",280,Hr,dbn,edn),d_t;D(347,22,aSe);var iPe,sPe,pY=Fr(rh,"TopdownSizeApproximator",347,Hr,c2n,ndn);D(987,347,aSe,Xit),h.Tg=function(t){return Sdt(t)},Fr(rh,"TopdownSizeApproximator/1",987,pY,null,null),D(988,347,aSe,Pst),h.Tg=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an,Fn;for(n=l(at(t,(bi(),a7)),143),_t=(ib(),V=new a_,V),aP(_t,t),on=new Pr,f=new or((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));f.e!=f.i.gc();)a=l(gr(f),27),Me=(z=new a_,z),MU(Me,_t),aP(Me,a),Fn=Sdt(a),F5(Me,b.Math.max(a.g,Fn.a),b.Math.max(a.f,Fn.b)),zu(on.f,a,Me);for(o=new or((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));o.e!=o.i.gc();)for(a=l(gr(o),27),L=new or((!a.e&&(a.e=new An(js,a,7,4)),a.e));L.e!=L.i.gc();)C=l(gr(L),74),Je=l(fc(zo(on.f,a)),27),ot=l(cr(on,Oe((!C.c&&(C.c=new An(Sr,C,5,8)),C.c),0)),27),$e=(B=new TI,B),qr((!$e.b&&($e.b=new An(Sr,$e,4,7)),$e.b),Je),qr((!$e.c&&($e.c=new An(Sr,$e,5,8)),$e.c),ot),LU($e,gs(Je)),aP($e,C);te=l(GO(n.f),205);try{te.rf(_t,new k$),fat(n.f,te)}catch(jn){throw jn=ms(jn),De(jn,103)?(J=jn,ue(J)):ue(jn)}return I1(_t,t7)||I1(_t,e7)||Gke(_t),E=ze(Ge(at(_t,t7))),w=ze(Ge(at(_t,e7))),g=E/w,r=ze(Ge(at(_t,QB)))*b.Math.sqrt((!_t.a&&(_t.a=new nt(Li,_t,10,11)),_t.a).i),an=l(at(_t,A2),107),Te=an.b+an.c+1,fe=an.d+an.a+1,new lt(b.Math.max(Te,r),b.Math.max(fe,r/g))},Fr(rh,"TopdownSizeApproximator/2",988,pY,null,null);var g_t;D(344,1,{871:1},L8),h.Ug=function(t,n){return jgt(this,t,n)},h.Vg=function(){cpt(this)},h.Wg=function(){return this.q},h.Xg=function(){return this.f?soe(this.f):null},h.Yg=function(){return soe(this.a)},h.Zg=function(){return this.p},h.$g=function(){return!1},h._g=function(){return this.n},h.ah=function(){return this.p!=null&&!this.b},h.bh=function(t){var n;this.n&&(n=t,vt(this.f,n))},h.dh=function(t,n){var r,a;this.n&&t&&Abn(this,(r=new Kst,a=ule(r,t),uDn(r),a),(PV(),Yge))},h.eh=function(t){var n;return this.b?null:(n=dwn(this,this.g),li(this.a,n),n.i=this,this.d=t,n)},h.fh=function(t){t>0&&!this.b&&u7e(this,t)},h.b=!1,h.c=0,h.d=-1,h.e=null,h.f=null,h.g=-1,h.j=!1,h.k=!1,h.n=!1,h.o=0,h.q=0,h.r=0,I(Kc,"BasicProgressMonitor",344),D(717,205,tv,$ne),h.rf=function(t,n){$mt(t,n)},I(Kc,"BoxLayoutProvider",717),D(983,1,ri,OXe),h.Ne=function(t,n){return uCn(this,l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},h.a=!1,I(Kc,"BoxLayoutProvider/1",983),D(163,1,{163:1},fV,yrt),h.Ib=function(){return this.c?cke(this.c):Cb(this.b)},I(Kc,"BoxLayoutProvider/Group",163),D(320,22,{3:1,34:1,22:1,320:1},Cq);var aPe,oPe,cPe,Wge,uPe=Fr(Kc,"BoxLayoutProvider/PackingMode",320,Hr,dmn,rdn),p_t;D(984,1,ri,tk),h.Ne=function(t,n){return Apn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Kc,"BoxLayoutProvider/lambda$0$Type",984),D(985,1,ri,nk),h.Ne=function(t,n){return ypn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Kc,"BoxLayoutProvider/lambda$1$Type",985),D(986,1,ri,x$),h.Ne=function(t,n){return xpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(Kc,"BoxLayoutProvider/lambda$2$Type",986),D(1384,1,{845:1},zne),h.Mg=function(t,n){return nq(),!De(n,167)||wZe((hx(),l(t,167)),n)},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),D(1385,1,fr,NXe),h.Cd=function(t){Ryn(this.a,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),D(1386,1,fr,Vne),h.Cd=function(t){l(t,96),nq()},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),D(1390,1,fr,PXe),h.Cd=function(t){a3n(this.a,l(t,96))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),D(1388,1,ei,htt),h.Mb=function(t){return wyn(this.a,this.b,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),D(1387,1,ei,ftt),h.Mb=function(t){return efn(this.a,this.b,l(t,845))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),D(1389,1,fr,dtt),h.Cd=function(t){dgn(this.a,this.b,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),D(947,1,{},Une),h.Kb=function(t){return cnt(t)},h.Fb=function(t){return this===t},I(Kc,"ElkUtil/lambda$0$Type",947),D(948,1,fr,gtt),h.Cd=function(t){fEn(this.a,this.b,l(t,74))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$1$Type",948),D(949,1,fr,ptt),h.Cd=function(t){run(this.a,this.b,l(t,166))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$2$Type",949),D(950,1,fr,btt),h.Cd=function(t){Jln(this.a,this.b,l(t,135))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$3$Type",950),D(951,1,fr,BXe),h.Cd=function(t){Ndn(this.a,l(t,377))},I(Kc,"ElkUtil/lambda$4$Type",951),D(325,1,{34:1,325:1},Ocn),h.Fd=function(t){return _hn(this,l(t,242))},h.Fb=function(t){var n;return De(t,325)?(n=l(t,325),this.a==n.a):!1},h.Hb=function(){return la(this.a)},h.Ib=function(){return this.a+" (exclusive)"},h.a=0,I(Kc,"ExclusiveBounds/ExclusiveLowerBound",325),D(1119,205,tv,Gne),h.rf=function(t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te,Me,$e,Je,ot,_t,on,an;for(n.Ug("Fixed Layout",1),f=l(at(t,(bi(),aNe)),223),B=0,z=0,Me=new or((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Me.e!=Me.i.gc();){for(fe=l(gr(Me),27),an=l(at(fe,(BV(),MM)),8),an&&(Xh(fe,an.a,an.b),l(at(fe,GNe),181).Hc((wh(),L4))&&(V=l(at(fe,WNe),8),V.a>0&&V.b>0&&Ww(fe,V.a,V.b,!0,!0))),B=b.Math.max(B,fe.i+fe.g),z=b.Math.max(z,fe.j+fe.f),C=new or((!fe.n&&(fe.n=new nt(tc,fe,1,7)),fe.n));C.e!=C.i.gc();)w=l(gr(C),135),an=l(at(w,MM),8),an&&Xh(w,an.a,an.b),B=b.Math.max(B,fe.i+w.i+w.g),z=b.Math.max(z,fe.j+w.j+w.f);for(ot=new or((!fe.c&&(fe.c=new nt(Vl,fe,9,9)),fe.c));ot.e!=ot.i.gc();)for(Je=l(gr(ot),123),an=l(at(Je,MM),8),an&&Xh(Je,an.a,an.b),_t=fe.i+Je.i,on=fe.j+Je.j,B=b.Math.max(B,_t+Je.g),z=b.Math.max(z,on+Je.f),E=new or((!Je.n&&(Je.n=new nt(tc,Je,1,7)),Je.n));E.e!=E.i.gc();)w=l(gr(E),135),an=l(at(w,MM),8),an&&Xh(w,an.a,an.b),B=b.Math.max(B,_t+w.i+w.g),z=b.Math.max(z,on+w.j+w.f);for(o=new hr(dr(op(fe).a.Kc(),new j));jr(o);)r=l(xr(o),74),L=ewt(r),B=b.Math.max(B,L.a),z=b.Math.max(z,L.b);for(a=new hr(dr(sP(fe).a.Kc(),new j));jr(a);)r=l(xr(a),74),gs(og(r))!=t&&(L=ewt(r),B=b.Math.max(B,L.a),z=b.Math.max(z,L.b))}if(f==(rp(),iC))for(Te=new or((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Te.e!=Te.i.gc();)for(fe=l(gr(Te),27),a=new hr(dr(op(fe).a.Kc(),new j));jr(a);)r=l(xr(a),74),g=gAn(r),g.b==0?Hi(r,E3,null):Hi(r,E3,g);Rt(Bt(at(t,(BV(),KNe))))||($e=l(at(t,JSt),107),te=B+$e.b+$e.c,J=z+$e.d+$e.a,Ww(t,te,J,!0,!0)),n.Vg()},I(Kc,"FixedLayoutProvider",1119),D(385,137,{3:1,423:1,385:1,96:1,137:1},EI,Jlt),h.cg=function(t){var n,r,a,o,f,g,w,E,C;if(t)try{for(E=Ky(t,";,;"),f=E,g=0,w=f.length;g>16&Js|n^a<<16},h.Kc=function(){return new FXe(this)},h.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+Ec(this.b)+")":this.b==null?"pair("+Ec(this.a)+",null)":"pair("+Ec(this.a)+","+Ec(this.b)+")"},I(Kc,"Pair",42),D(995,1,Oa,FXe),h.Nb=function(t){Za(this,t)},h.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},h.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw ue(new Lc)},h.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),ue(new vl)},h.b=!1,h.c=!1,I(Kc,"Pair/1",995),D(455,1,{455:1},Aat),h.Fb=function(t){return tu(this.a,l(t,455).a)&&tu(this.c,l(t,455).c)&&tu(this.d,l(t,455).d)&&tu(this.b,l(t,455).b)},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.a,this.c,this.d,this.b]))},h.Ib=function(){return"("+this.a+Eo+this.c+Eo+this.d+Eo+this.b+")"},I(Kc,"Quadruple",455),D(1108,205,tv,Hne),h.rf=function(t,n){var r,a,o,f,g;if(n.Ug("Random Layout",1),(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i==0){n.Vg();return}f=l(at(t,(F8e(),u_t)),17),f&&f.a!=0?o=new UH(f.a):o=new Gce,r=XI(Ge(at(t,o_t))),g=XI(Ge(at(t,l_t))),a=l(at(t,c_t),107),IDn(t,o,r,g,a),n.Vg()},I(Kc,"RandomLayoutProvider",1108),D(240,1,{240:1},yae),h.Fb=function(t){return tu(this.a,l(t,240).a)&&tu(this.b,l(t,240).b)&&tu(this.c,l(t,240).c)},h.Hb=function(){return MN(he(le(wa,1),Rn,1,5,[this.a,this.b,this.c]))},h.Ib=function(){return"("+this.a+Eo+this.b+Eo+this.c+")"},I(Kc,"Triple",240);var w_t;D(562,1,{}),h.Lf=function(){return new lt(this.f.i,this.f.j)},h.of=function(t){return not(t,(bi(),ih))?at(this.f,y_t):at(this.f,t)},h.Mf=function(){return new lt(this.f.g,this.f.f)},h.Nf=function(){return this.g},h.pf=function(t){return I1(this.f,t)},h.Of=function(t){Ku(this.f,t.a),Wu(this.f,t.b)},h.Pf=function(t){Ow(this.f,t.a),Iw(this.f,t.b)},h.Qf=function(t){this.g=t},h.g=0;var y_t;I(xL,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),D(563,1,{853:1},Nz),h.Rf=function(){var t,n;if(!this.b)for(this.b=zH(TH(this.a).i),n=new or(TH(this.a));n.e!=n.i.gc();)t=l(gr(n),135),vt(this.b,new Xie(t));return this.b},h.b=null,I(xL,"ElkGraphAdapters/ElkEdgeAdapter",563),D(289,562,{},ew),h.Sf=function(){return Wdt(this)},h.a=null,I(xL,"ElkGraphAdapters/ElkGraphAdapter",289),D(640,562,{187:1},Xie),I(xL,"ElkGraphAdapters/ElkLabelAdapter",640),D(639,562,{695:1},iae),h.Rf=function(){return w7n(this)},h.Vf=function(){var t;return t=l(at(this.f,(bi(),tC)),140),!t&&(t=new s_),t},h.Xf=function(){return y7n(this)},h.Zf=function(t){var n;n=new kae(t),Hi(this.f,(bi(),tC),n)},h.$f=function(t){Hi(this.f,(bi(),A2),new _4e(t))},h.Tf=function(){return this.d},h.Uf=function(){var t,n;if(!this.a)for(this.a=new bt,n=new hr(dr(sP(l(this.f,27)).a.Kc(),new j));jr(n);)t=l(xr(n),74),vt(this.a,new Nz(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=new bt,n=new hr(dr(op(l(this.f,27)).a.Kc(),new j));jr(n);)t=l(xr(n),74),vt(this.c,new Nz(t));return this.c},h.Yf=function(){return LH(l(this.f,27)).i!=0||Rt(Bt(l(this.f,27).of((bi(),KB))))},h._f=function(){Jvn(this,(cw(),w_t))},h.a=null,h.b=null,h.c=null,h.d=null,h.e=null,I(xL,"ElkGraphAdapters/ElkNodeAdapter",639),D(1284,562,{852:1},RXe),h.Rf=function(){return A7n(this)},h.Uf=function(){var t,n;if(!this.a)for(this.a=Zd(l(this.f,123).hh().i),n=new or(l(this.f,123).hh());n.e!=n.i.gc();)t=l(gr(n),74),vt(this.a,new Nz(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=Zd(l(this.f,123).ih().i),n=new or(l(this.f,123).ih());n.e!=n.i.gc();)t=l(gr(n),74),vt(this.c,new Nz(t));return this.c},h.ag=function(){return l(l(this.f,123).of((bi(),s7)),64)},h.bg=function(){var t,n,r,a,o,f,g,w;for(a=_1(l(this.f,123)),r=new or(l(this.f,123).ih());r.e!=r.i.gc();)for(t=l(gr(r),74),w=new or((!t.c&&(t.c=new An(Sr,t,5,8)),t.c));w.e!=w.i.gc();){if(g=l(gr(w),84),My(mc(g),a))return!0;if(mc(g)==a&&Rt(Bt(at(t,(bi(),Nge)))))return!0}for(n=new or(l(this.f,123).hh());n.e!=n.i.gc();)for(t=l(gr(n),74),f=new or((!t.b&&(t.b=new An(Sr,t,4,7)),t.b));f.e!=f.i.gc();)if(o=l(gr(f),84),My(mc(o),a))return!0;return!1},h.a=null,h.b=null,h.c=null,I(xL,"ElkGraphAdapters/ElkPortAdapter",1284),D(1285,1,ri,qne),h.Ne=function(t,n){return a_n(l(t,123),l(n,123))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(xL,"ElkGraphAdapters/PortComparator",1285);var Qb=Es(gf,"EObject"),oC=Es(T6,s4t),Hh=Es(T6,a4t),oF=Es(T6,o4t),cF=Es(T6,"ElkShape"),Sr=Es(T6,c4t),js=Es(T6,oSe),os=Es(T6,u4t),uF=Es(gf,l4t),RM=Es(gf,"EFactory"),x_t,Xge=Es(gf,h4t),o1=Es(gf,"EPackage"),La,k_t,E_t,dPe,bY,T_t,gPe,pPe,bPe,Tg,C_t,S_t,tc=Es(T6,cSe),Li=Es(T6,uSe),Vl=Es(T6,lSe);D(93,1,f4t),h.th=function(){return this.uh(),null},h.uh=function(){return null},h.vh=function(){return this.uh(),!1},h.wh=function(){return!1},h.xh=function(t){Pi(this,t)},I(Rx,"BasicNotifierImpl",93),D(99,93,b4t),h.Yh=function(){return dh(this)},h.yh=function(t,n){return t},h.zh=function(){throw ue(new Qr)},h.Ah=function(t){var n;return n=jo(l(Ln(this.Dh(),this.Fh()),19)),this.Ph().Th(this,n.n,n.f,t)},h.Bh=function(t,n){throw ue(new Qr)},h.Ch=function(t,n,r){return Ph(this,t,n,r)},h.Dh=function(){var t;return this.zh()&&(t=this.zh().Nk(),t)?t:this.ii()},h.Eh=function(){return Gue(this)},h.Fh=function(){throw ue(new Qr)},h.Gh=function(){var t,n;return n=this.$h().Ok(),!n&&this.zh().Tk(n=(w_(),t=$5e(Ed(this.Dh())),t==null?ipe:new TO(this,t))),n},h.Hh=function(t,n){return t},h.Ih=function(t){var n;return n=t.pk(),n?t.Lj():vs(this.Dh(),t)},h.Jh=function(){var t;return t=this.zh(),t?t.Qk():null},h.Kh=function(){return this.zh()?this.zh().Nk():null},h.Lh=function(t,n,r){return iU(this,t,n,r)},h.Mh=function(t){return tE(this,t)},h.Nh=function(t,n){return Doe(this,t,n)},h.Oh=function(){var t;return t=this.zh(),!!t&&t.Rk()},h.Ph=function(){throw ue(new Qr)},h.Qh=function(){return QV(this)},h.Rh=function(t,n,r,a){return mx(this,t,n,a)},h.Sh=function(t,n,r){var a;return a=l(Ln(this.Dh(),n),69),a.wk().zk(this,this.hi(),n-this.ji(),t,r)},h.Th=function(t,n,r,a){return OH(this,t,n,a)},h.Uh=function(t,n,r){var a;return a=l(Ln(this.Dh(),n),69),a.wk().Ak(this,this.hi(),n-this.ji(),t,r)},h.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},h.Wh=function(t){return rue(this,t)},h.Xh=function(t){return bot(this,t)},h.Zh=function(t){return Rvt(this,t)},h.$h=function(){throw ue(new Qr)},h._h=function(){return this.zh()?this.zh().Pk():null},h.ai=function(){return QV(this)},h.bi=function(t,n){zue(this,t,n)},h.ci=function(t){this.$h().Sk(t)},h.di=function(t){this.$h().Vk(t)},h.ei=function(t){this.$h().Uk(t)},h.fi=function(t,n){var r,a,o,f;return f=this.Jh(),f&&t&&(n=ko(f.El(),this,n),f.Il(this)),a=this.Ph(),a&&(ale(this,this.Ph(),this.Fh()).Bb&Mo?(o=a.Qh(),o&&(t?!f&&o.Il(this):o.Hl(this))):(n=(r=this.Fh(),r>=0?this.Ah(n):this.Ph().Th(this,-1-r,null,n)),n=this.Ch(null,-1,n))),this.di(t),n},h.gi=function(t){var n,r,a,o,f,g,w,E;if(r=this.Dh(),f=vs(r,t),n=this.ji(),f>=n)return l(t,69).wk().Dk(this,this.hi(),f-n);if(f<=-1)if(g=g6((Sl(),io),r,t),g){if(Ro(),l(g,69).xk()||(g=rx(sc(io,g))),o=(a=this.Ih(g),l(a>=0?this.Lh(a,!0,!0):Uw(this,g,!0),160)),E=g.Ik(),E>1||E==-1)return l(l(o,220).Sl(t,!1),79)}else throw ue(new Yn(Nb+t.xe()+zfe));else if(t.Jk())return a=this.Ih(t),l(a>=0?this.Lh(a,!1,!0):Uw(this,t,!1),79);return w=new Ntt(this,t),w},h.hi=function(){return U6e(this)},h.ii=function(){return(hb(),Un).S},h.ji=function(){return yr(this.ii())},h.ki=function(t){Rue(this,t)},h.Ib=function(){return d0(this)},I(Gn,"BasicEObjectImpl",99);var __t;D(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),h.li=function(t){var n;return n=V6e(this),n[t]},h.mi=function(t,n){var r;r=V6e(this),Ss(r,t,n)},h.ni=function(t){var n;n=V6e(this),Ss(n,t,null)},h.th=function(){return l(Kn(this,4),129)},h.uh=function(){throw ue(new Qr)},h.vh=function(){return(this.Db&4)!=0},h.zh=function(){throw ue(new Qr)},h.oi=function(t){px(this,2,t)},h.Bh=function(t,n){this.Db=n<<16|this.Db&255,this.oi(t)},h.Dh=function(){return ol(this)},h.Fh=function(){return this.Db>>16},h.Gh=function(){var t,n;return w_(),n=$5e(Ed((t=l(Kn(this,16),29),t||this.ii()))),n==null?ipe:new TO(this,n)},h.wh=function(){return(this.Db&1)==0},h.Jh=function(){return l(Kn(this,128),2034)},h.Kh=function(){return l(Kn(this,16),29)},h.Oh=function(){return(this.Db&32)!=0},h.Ph=function(){return l(Kn(this,2),54)},h.Vh=function(){return(this.Db&64)!=0},h.$h=function(){throw ue(new Qr)},h._h=function(){return l(Kn(this,64),288)},h.ci=function(t){px(this,16,t)},h.di=function(t){px(this,128,t)},h.ei=function(t){px(this,64,t)},h.hi=function(){return Yu(this)},h.Db=0,I(Gn,"MinimalEObjectImpl",119),D(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.oi=function(t){this.Cb=t},h.Ph=function(){return this.Cb},I(Gn,"MinimalEObjectImpl/Container",120),D(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return axe(this,t,n,r)},h.Uh=function(t,n,r){return Yxe(this,t,n,r)},h.Wh=function(t){return e6e(this,t)},h.bi=function(t,n){U7e(this,t,n)},h.ii=function(){return cu(),S_t},h.ki=function(t){N7e(this,t)},h.nf=function(){return gdt(this)},h.gh=function(){return!this.o&&(this.o=new Tl((cu(),Tg),M2,this,0)),this.o},h.of=function(t){return at(this,t)},h.pf=function(t){return I1(this,t)},h.qf=function(t,n){return Hi(this,t,n)},I(sv,"EMapPropertyHolderImpl",2083),D(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},AS),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return iU(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=0;case 1:return this.b!=0}return rue(this,t)},h.bi=function(t,n){switch(t){case 0:gV(this,ze(Ge(n)));return;case 1:dV(this,ze(Ge(n)));return}zue(this,t,n)},h.ii=function(){return cu(),k_t},h.ki=function(t){switch(t){case 0:gV(this,0);return;case 1:dV(this,0);return}Rue(this,t)},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new _f(d0(this)),t.a+=" (x: ",_5(t,this.a),t.a+=", y: ",_5(t,this.b),t.a+=")",t.a)},h.a=0,h.b=0,I(sv,"ElkBendPointImpl",572),D(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return g8e(this,t,n,r)},h.Sh=function(t,n,r){return Due(this,t,n,r)},h.Uh=function(t,n,r){return gce(this,t,n,r)},h.Wh=function(t){return A7e(this,t)},h.bi=function(t,n){Cxe(this,t,n)},h.ii=function(){return cu(),T_t},h.ki=function(t){s8e(this,t)},h.jh=function(){return this.k},h.kh=function(){return TH(this)},h.Ib=function(){return $ce(this)},h.k=null,I(sv,"ElkGraphElementImpl",739),D(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return k8e(this,t,n,r)},h.Wh=function(t){return A8e(this,t)},h.bi=function(t,n){Sxe(this,t,n)},h.ii=function(){return cu(),C_t},h.ki=function(t){P8e(this,t)},h.lh=function(){return this.f},h.mh=function(){return this.g},h.nh=function(){return this.i},h.oh=function(){return this.j},h.ph=function(t,n){F5(this,t,n)},h.qh=function(t,n){Xh(this,t,n)},h.rh=function(t){Ku(this,t)},h.sh=function(t){Wu(this,t)},h.Ib=function(){return Bue(this)},h.f=0,h.g=0,h.i=0,h.j=0,I(sv,"ElkShapeImpl",740),D(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return Z8e(this,t,n,r)},h.Sh=function(t,n,r){return wxe(this,t,n,r)},h.Uh=function(t,n,r){return yxe(this,t,n,r)},h.Wh=function(t){return V7e(this,t)},h.bi=function(t,n){O9e(this,t,n)},h.ii=function(){return cu(),E_t},h.ki=function(t){W8e(this,t)},h.hh=function(){return!this.d&&(this.d=new An(js,this,8,5)),this.d},h.ih=function(){return!this.e&&(this.e=new An(js,this,7,4)),this.e},I(sv,"ElkConnectableShapeImpl",741),D(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},TI),h.Ah=function(t){return pxe(this,t)},h.Lh=function(t,n,r){switch(t){case 3:return WO(this);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),this.b;case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),this.c;case 6:return!this.a&&(this.a=new nt(os,this,6,6)),this.a;case 7:return Vn(),!this.b&&(this.b=new An(Sr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i<=1));case 8:return Vn(),!!qA(this);case 9:return Vn(),!!Vw(this);case 10:return Vn(),!this.b&&(this.b=new An(Sr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i!=0)}return g8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 3:return this.Cb&&(r=(a=this.Db>>16,a>=0?pxe(this,r):this.Cb.Th(this,-1-a,null,r))),Xye(this,l(t,27),r);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),$u(this.b,t,r);case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),$u(this.c,t,r);case 6:return!this.a&&(this.a=new nt(os,this,6,6)),$u(this.a,t,r)}return Due(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 3:return Xye(this,null,r);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),ko(this.b,t,r);case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),ko(this.c,t,r);case 6:return!this.a&&(this.a=new nt(os,this,6,6)),ko(this.a,t,r)}return gce(this,t,n,r)},h.Wh=function(t){switch(t){case 3:return!!WO(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new An(Sr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i<=1));case 8:return qA(this);case 9:return Vw(this);case 10:return!this.b&&(this.b=new An(Sr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i!=0)}return A7e(this,t)},h.bi=function(t,n){switch(t){case 3:LU(this,l(n,27));return;case 4:!this.b&&(this.b=new An(Sr,this,4,7)),$r(this.b),!this.b&&(this.b=new An(Sr,this,4,7)),Ls(this.b,l(n,16));return;case 5:!this.c&&(this.c=new An(Sr,this,5,8)),$r(this.c),!this.c&&(this.c=new An(Sr,this,5,8)),Ls(this.c,l(n,16));return;case 6:!this.a&&(this.a=new nt(os,this,6,6)),$r(this.a),!this.a&&(this.a=new nt(os,this,6,6)),Ls(this.a,l(n,16));return}Cxe(this,t,n)},h.ii=function(){return cu(),dPe},h.ki=function(t){switch(t){case 3:LU(this,null);return;case 4:!this.b&&(this.b=new An(Sr,this,4,7)),$r(this.b);return;case 5:!this.c&&(this.c=new An(Sr,this,5,8)),$r(this.c);return;case 6:!this.a&&(this.a=new nt(os,this,6,6)),$r(this.a);return}s8e(this,t)},h.Ib=function(){return nvt(this)},I(sv,"ElkEdgeImpl",326),D(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},rk),h.Ah=function(t){return hxe(this,t)},h.Lh=function(t,n,r){switch(t){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new Ws(Hh,this,5)),this.a;case 6:return fot(this);case 7:return n?cue(this):this.i;case 8:return n?oue(this):this.f;case 9:return!this.g&&(this.g=new An(os,this,9,10)),this.g;case 10:return!this.e&&(this.e=new An(os,this,10,9)),this.e;case 11:return this.d}return axe(this,t,n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?hxe(this,r):this.Cb.Th(this,-1-o,null,r))),Yye(this,l(t,74),r);case 9:return!this.g&&(this.g=new An(os,this,9,10)),$u(this.g,t,r);case 10:return!this.e&&(this.e=new An(os,this,10,9)),$u(this.e,t,r)}return f=l(Ln((a=l(Kn(this,16),29),a||(cu(),bY)),n),69),f.wk().zk(this,Yu(this),n-yr((cu(),bY)),t,r)},h.Uh=function(t,n,r){switch(n){case 5:return!this.a&&(this.a=new Ws(Hh,this,5)),ko(this.a,t,r);case 6:return Yye(this,null,r);case 9:return!this.g&&(this.g=new An(os,this,9,10)),ko(this.g,t,r);case 10:return!this.e&&(this.e=new An(os,this,10,9)),ko(this.e,t,r)}return Yxe(this,t,n,r)},h.Wh=function(t){switch(t){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!fot(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return e6e(this,t)},h.bi=function(t,n){switch(t){case 1:oE(this,ze(Ge(n)));return;case 2:uE(this,ze(Ge(n)));return;case 3:aE(this,ze(Ge(n)));return;case 4:cE(this,ze(Ge(n)));return;case 5:!this.a&&(this.a=new Ws(Hh,this,5)),$r(this.a),!this.a&&(this.a=new Ws(Hh,this,5)),Ls(this.a,l(n,16));return;case 6:tbt(this,l(n,74));return;case 7:xV(this,l(n,84));return;case 8:yV(this,l(n,84));return;case 9:!this.g&&(this.g=new An(os,this,9,10)),$r(this.g),!this.g&&(this.g=new An(os,this,9,10)),Ls(this.g,l(n,16));return;case 10:!this.e&&(this.e=new An(os,this,10,9)),$r(this.e),!this.e&&(this.e=new An(os,this,10,9)),Ls(this.e,l(n,16));return;case 11:b7e(this,Zr(n));return}U7e(this,t,n)},h.ii=function(){return cu(),bY},h.ki=function(t){switch(t){case 1:oE(this,0);return;case 2:uE(this,0);return;case 3:aE(this,0);return;case 4:cE(this,0);return;case 5:!this.a&&(this.a=new Ws(Hh,this,5)),$r(this.a);return;case 6:tbt(this,null);return;case 7:xV(this,null);return;case 8:yV(this,null);return;case 9:!this.g&&(this.g=new An(os,this,9,10)),$r(this.g);return;case 10:!this.e&&(this.e=new An(os,this,10,9)),$r(this.e);return;case 11:b7e(this,null);return}N7e(this,t)},h.Ib=function(){return p2t(this)},h.b=0,h.c=0,h.d=null,h.j=0,h.k=0,I(sv,"ElkEdgeSectionImpl",452),D(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Lh=function(t,n,r){var a;return t==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab):rf(this,t-yr(this.ii()),Ln((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o;return n==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r)):(o=l(Ln((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().zk(this,Yu(this),n-yr(this.ii()),t,r))},h.Uh=function(t,n,r){var a,o;return n==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r)):(o=l(Ln((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Yu(this),n-yr(this.ii()),t,r))},h.Wh=function(t){var n;return t==0?!!this.Ab&&this.Ab.i!=0:tf(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.Zh=function(t){return Vke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return}cf(this,t-yr(this.ii()),Ln((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.di=function(t){px(this,128,t)},h.ii=function(){return Tn(),U_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return}of(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){this.Bb|=1},h.qi=function(t){return YA(this,t)},h.Bb=0,I(Gn,"EModelElementImpl",158),D(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},dz),h.ri=function(t,n){return Dvt(this,t,n)},h.si=function(t){var n,r,a,o,f;if(this.a!=Lh(t)||t.Bb&256)throw ue(new Yn(Hfe+t.zb+r3));for(a=gc(t);bu(a.a).i!=0;){if(r=l(mP(a,0,(n=l(Oe(bu(a.a),0),89),f=n.c,De(f,90)?l(f,29):(Tn(),Gf))),29),Hw(r))return o=Lh(r).wi().si(r),l(o,54).ci(t),o;a=gc(r)}return(t.D!=null?t.D:t.B)=="java.util.Map$Entry"?new Wit(t):new R4e(t)},h.ti=function(t,n){return Yw(this,t,n)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.a}return rf(this,t-yr((Tn(),tm)),Ln((a=l(Kn(this,16),29),a||tm),t),n,r)},h.Sh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 1:return this.a&&(r=l(this.a,54).Th(this,4,o1,r)),i8e(this,l(t,241),r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),tm)),n),69),o.wk().zk(this,Yu(this),n-yr((Tn(),tm)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 1:return i8e(this,null,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),tm)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),tm)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return tf(this,t-yr((Tn(),tm)),Ln((n=l(Kn(this,16),29),n||tm),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Jgt(this,l(n,241));return}cf(this,t-yr((Tn(),tm)),Ln((r=l(Kn(this,16),29),r||tm),t),n)},h.ii=function(){return Tn(),tm},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Jgt(this,null);return}of(this,t-yr((Tn(),tm)),Ln((n=l(Kn(this,16),29),n||tm),t))};var jM,mPe,A_t;I(Gn,"EFactoryImpl",720),D(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},ik),h.ri=function(t,n){switch(t.hk()){case 12:return l(n,149).Pg();case 13:return Ec(n);default:throw ue(new Yn(yT+t.xe()+r3))}},h.si=function(t){var n,r,a,o,f,g,w,E;switch(t.G==-1&&(t.G=(n=Lh(t),n?d2(n.vi(),t):-1)),t.G){case 4:return f=new sk,f;case 6:return g=new a_,g;case 7:return w=new $we,w;case 8:return a=new TI,a;case 9:return r=new AS,r;case 10:return o=new rk,o;case 11:return E=new E$,E;default:throw ue(new Yn(Hfe+t.zb+r3))}},h.ti=function(t,n){switch(t.hk()){case 13:case 12:return null;default:throw ue(new Yn(yT+t.xe()+r3))}},I(sv,"ElkGraphFactoryImpl",1037),D(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Gh=function(){var t,n;return n=(t=l(Kn(this,16),29),$5e(Ed(t||this.ii()))),n==null?(w_(),w_(),ipe):new mrt(this,n)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.xe()}return rf(this,t-yr(this.ii()),Ln((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return tf(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:this.ui(Zr(n));return}cf(this,t-yr(this.ii()),Ln((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),G_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return}of(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.xe=function(){return this.zb},h.ui=function(t){ju(this,t)},h.Ib=function(){return CA(this)},h.zb=null,I(Gn,"ENamedElementImpl",448),D(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},Vat),h.Ah=function(t){return ugt(this,t)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new yy(this,c1,this)),this.rb;case 6:return!this.vb&&(this.vb=new V8(o1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?l(this.Cb,241):null:wot(this)}return rf(this,t-yr((Tn(),N2)),Ln((a=l(Kn(this,16),29),a||N2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 4:return this.sb&&(r=l(this.sb,54).Th(this,1,RM,r)),o8e(this,l(t,480),r);case 5:return!this.rb&&(this.rb=new yy(this,c1,this)),$u(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(o1,this,6,7)),$u(this.vb,t,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?ugt(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,7,r)}return f=l(Ln((a=l(Kn(this,16),29),a||(Tn(),N2)),n),69),f.wk().zk(this,Yu(this),n-yr((Tn(),N2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 4:return o8e(this,null,r);case 5:return!this.rb&&(this.rb=new yy(this,c1,this)),ko(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(o1,this,6,7)),ko(this.vb,t,r);case 7:return Ph(this,null,7,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),N2)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),N2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!wot(this)}return tf(this,t-yr((Tn(),N2)),Ln((n=l(Kn(this,16),29),n||N2),t))},h.Zh=function(t){var n;return n=xCn(this,t),n||Vke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:ju(this,Zr(n));return;case 2:_V(this,Zr(n));return;case 3:SV(this,Zr(n));return;case 4:Pue(this,l(n,480));return;case 5:!this.rb&&(this.rb=new yy(this,c1,this)),$r(this.rb),!this.rb&&(this.rb=new yy(this,c1,this)),Ls(this.rb,l(n,16));return;case 6:!this.vb&&(this.vb=new V8(o1,this,6,7)),$r(this.vb),!this.vb&&(this.vb=new V8(o1,this,6,7)),Ls(this.vb,l(n,16));return}cf(this,t-yr((Tn(),N2)),Ln((r=l(Kn(this,16),29),r||N2),t),n)},h.ei=function(t){var n,r;if(t&&this.rb)for(r=new or(this.rb);r.e!=r.i.gc();)n=gr(r),De(n,364)&&(l(n,364).w=null);px(this,64,t)},h.ii=function(){return Tn(),N2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:ju(this,null);return;case 2:_V(this,null);return;case 3:SV(this,null);return;case 4:Pue(this,null);return;case 5:!this.rb&&(this.rb=new yy(this,c1,this)),$r(this.rb);return;case 6:!this.vb&&(this.vb=new V8(o1,this,6,7)),$r(this.vb);return}of(this,t-yr((Tn(),N2)),Ln((n=l(Kn(this,16),29),n||N2),t))},h.pi=function(){xue(this)},h.vi=function(){return!this.rb&&(this.rb=new yy(this,c1,this)),this.rb},h.wi=function(){return this.sb},h.xi=function(){return this.ub},h.yi=function(){return this.xb},h.zi=function(){return this.yb},h.Ai=function(t){this.ub=t},h.Ib=function(){var t;return this.Db&64?CA(this):(t=new _f(CA(this)),t.a+=" (nsURI: ",Qo(t,this.yb),t.a+=", nsPrefix: ",Qo(t,this.xb),t.a+=")",t.a)},h.xb=null,h.yb=null,I(Gn,"EPackageImpl",184),D(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},T2t),h.q=!1,h.r=!1;var L_t=!1;I(sv,"ElkGraphPackageImpl",569),D(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},sk),h.Ah=function(t){return fxe(this,t)},h.Lh=function(t,n,r){switch(t){case 7:return yot(this);case 8:return this.a}return k8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 7:return this.Cb&&(r=(a=this.Db>>16,a>=0?fxe(this,r):this.Cb.Th(this,-1-a,null,r))),Z4e(this,l(t,167),r)}return Due(this,t,n,r)},h.Uh=function(t,n,r){return n==7?Z4e(this,null,r):gce(this,t,n,r)},h.Wh=function(t){switch(t){case 7:return!!yot(this);case 8:return!wn("",this.a)}return A8e(this,t)},h.bi=function(t,n){switch(t){case 7:G9e(this,l(n,167));return;case 8:h7e(this,Zr(n));return}Sxe(this,t,n)},h.ii=function(){return cu(),gPe},h.ki=function(t){switch(t){case 7:G9e(this,null);return;case 8:h7e(this,"");return}P8e(this,t)},h.Ib=function(){return fpt(this)},h.a="",I(sv,"ElkLabelImpl",366),D(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},a_),h.Ah=function(t){return bxe(this,t)},h.Lh=function(t,n,r){switch(t){case 9:return!this.c&&(this.c=new nt(Vl,this,9,9)),this.c;case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),this.a;case 11:return gs(this);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),this.b;case 13:return Vn(),!this.a&&(this.a=new nt(Li,this,10,11)),this.a.i>0}return Z8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 9:return!this.c&&(this.c=new nt(Vl,this,9,9)),$u(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),$u(this.a,t,r);case 11:return this.Cb&&(r=(a=this.Db>>16,a>=0?bxe(this,r):this.Cb.Th(this,-1-a,null,r))),a4e(this,l(t,27),r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),$u(this.b,t,r)}return wxe(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 9:return!this.c&&(this.c=new nt(Vl,this,9,9)),ko(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),ko(this.a,t,r);case 11:return a4e(this,null,r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),ko(this.b,t,r)}return yxe(this,t,n,r)},h.Wh=function(t){switch(t){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!gs(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new nt(Li,this,10,11)),this.a.i>0}return V7e(this,t)},h.bi=function(t,n){switch(t){case 9:!this.c&&(this.c=new nt(Vl,this,9,9)),$r(this.c),!this.c&&(this.c=new nt(Vl,this,9,9)),Ls(this.c,l(n,16));return;case 10:!this.a&&(this.a=new nt(Li,this,10,11)),$r(this.a),!this.a&&(this.a=new nt(Li,this,10,11)),Ls(this.a,l(n,16));return;case 11:MU(this,l(n,27));return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b),!this.b&&(this.b=new nt(js,this,12,3)),Ls(this.b,l(n,16));return}O9e(this,t,n)},h.ii=function(){return cu(),pPe},h.ki=function(t){switch(t){case 9:!this.c&&(this.c=new nt(Vl,this,9,9)),$r(this.c);return;case 10:!this.a&&(this.a=new nt(Li,this,10,11)),$r(this.a);return;case 11:MU(this,null);return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b);return}W8e(this,t)},h.Ib=function(){return cke(this)},I(sv,"ElkNodeImpl",207),D(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},$we),h.Ah=function(t){return dxe(this,t)},h.Lh=function(t,n,r){return t==9?_1(this):Z8e(this,t,n,r)},h.Sh=function(t,n,r){var a;switch(n){case 9:return this.Cb&&(r=(a=this.Db>>16,a>=0?dxe(this,r):this.Cb.Th(this,-1-a,null,r))),Qye(this,l(t,27),r)}return wxe(this,t,n,r)},h.Uh=function(t,n,r){return n==9?Qye(this,null,r):yxe(this,t,n,r)},h.Wh=function(t){return t==9?!!_1(this):V7e(this,t)},h.bi=function(t,n){switch(t){case 9:q9e(this,l(n,27));return}O9e(this,t,n)},h.ii=function(){return cu(),bPe},h.ki=function(t){switch(t){case 9:q9e(this,null);return}W8e(this,t)},h.Ib=function(){return emt(this)},I(sv,"ElkPortImpl",193);var M_t=Es(To,"BasicEMap/Entry");D(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},E$),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.Hb=function(){return gw(this)},h.Di=function(t){f7e(this,l(t,149))},h.Lh=function(t,n,r){switch(t){case 0:return this.b;case 1:return this.c}return iU(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return!!this.b;case 1:return this.c!=null}return rue(this,t)},h.bi=function(t,n){switch(t){case 0:f7e(this,l(n,149));return;case 1:l7e(this,n);return}zue(this,t,n)},h.ii=function(){return cu(),Tg},h.ki=function(t){switch(t){case 0:f7e(this,null);return;case 1:l7e(this,null);return}Rue(this,t)},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t?Zi(t):0),this.a},h.md=function(){return this.c},h.Ci=function(t){this.a=t},h.nd=function(t){var n;return n=this.c,l7e(this,t),n},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new nb,fi(fi(fi(t,this.b?this.b.Pg():hl),Bhe),j_(this.c)),t.a)},h.a=-1,h.c=null;var M2=I(sv,"ElkPropertyToValueMapEntryImpl",1122);D(996,1,{},C$),I(no,"JsonAdapter",996),D(216,63,up,ld),I(no,"JsonImportException",216),D(868,1,{},lgt),I(no,"JsonImporter",868),D(903,1,{},mtt),I(no,"JsonImporter/lambda$0$Type",903),D(904,1,{},vtt),I(no,"JsonImporter/lambda$1$Type",904),D(912,1,{},jXe),I(no,"JsonImporter/lambda$10$Type",912),D(914,1,{},wtt),I(no,"JsonImporter/lambda$11$Type",914),D(915,1,{},ytt),I(no,"JsonImporter/lambda$12$Type",915),D(921,1,{},Iat),I(no,"JsonImporter/lambda$13$Type",921),D(920,1,{},Oat),I(no,"JsonImporter/lambda$14$Type",920),D(916,1,{},xtt),I(no,"JsonImporter/lambda$15$Type",916),D(917,1,{},ktt),I(no,"JsonImporter/lambda$16$Type",917),D(918,1,{},Ett),I(no,"JsonImporter/lambda$17$Type",918),D(919,1,{},Ttt),I(no,"JsonImporter/lambda$18$Type",919),D(924,1,{},$Xe),I(no,"JsonImporter/lambda$19$Type",924),D(905,1,{},zXe),I(no,"JsonImporter/lambda$2$Type",905),D(922,1,{},qXe),I(no,"JsonImporter/lambda$20$Type",922),D(923,1,{},HXe),I(no,"JsonImporter/lambda$21$Type",923),D(927,1,{},VXe),I(no,"JsonImporter/lambda$22$Type",927),D(925,1,{},UXe),I(no,"JsonImporter/lambda$23$Type",925),D(926,1,{},GXe),I(no,"JsonImporter/lambda$24$Type",926),D(929,1,{},KXe),I(no,"JsonImporter/lambda$25$Type",929),D(928,1,{},WXe),I(no,"JsonImporter/lambda$26$Type",928),D(930,1,fr,Ctt),h.Cd=function(t){Pvn(this.b,this.a,Zr(t))},I(no,"JsonImporter/lambda$27$Type",930),D(931,1,fr,Stt),h.Cd=function(t){Bvn(this.b,this.a,Zr(t))},I(no,"JsonImporter/lambda$28$Type",931),D(932,1,{},_tt),I(no,"JsonImporter/lambda$29$Type",932),D(908,1,{},YXe),I(no,"JsonImporter/lambda$3$Type",908),D(933,1,{},Att),I(no,"JsonImporter/lambda$30$Type",933),D(934,1,{},XXe),I(no,"JsonImporter/lambda$31$Type",934),D(935,1,{},QXe),I(no,"JsonImporter/lambda$32$Type",935),D(936,1,{},JXe),I(no,"JsonImporter/lambda$33$Type",936),D(937,1,{},ZXe),I(no,"JsonImporter/lambda$34$Type",937),D(870,1,{},eQe),I(no,"JsonImporter/lambda$35$Type",870),D(941,1,{},kit),I(no,"JsonImporter/lambda$36$Type",941),D(938,1,fr,tQe),h.Cd=function(t){zmn(this.a,l(t,377))},I(no,"JsonImporter/lambda$37$Type",938),D(939,1,fr,Ltt),h.Cd=function(t){kln(this.a,this.b,l(t,166))},I(no,"JsonImporter/lambda$38$Type",939),D(940,1,fr,Mtt),h.Cd=function(t){Eln(this.a,this.b,l(t,166))},I(no,"JsonImporter/lambda$39$Type",940),D(906,1,{},nQe),I(no,"JsonImporter/lambda$4$Type",906),D(942,1,fr,rQe),h.Cd=function(t){qmn(this.a,l(t,8))},I(no,"JsonImporter/lambda$40$Type",942),D(907,1,{},iQe),I(no,"JsonImporter/lambda$5$Type",907),D(911,1,{},sQe),I(no,"JsonImporter/lambda$6$Type",911),D(909,1,{},aQe),I(no,"JsonImporter/lambda$7$Type",909),D(910,1,{},oQe),I(no,"JsonImporter/lambda$8$Type",910),D(913,1,{},cQe),I(no,"JsonImporter/lambda$9$Type",913),D(961,1,fr,uQe),h.Cd=function(t){J8(this.a,new xy(Zr(t)))},I(no,"JsonMetaDataConverter/lambda$0$Type",961),D(962,1,fr,lQe),h.Cd=function(t){Ogn(this.a,l(t,245))},I(no,"JsonMetaDataConverter/lambda$1$Type",962),D(963,1,fr,hQe),h.Cd=function(t){I2n(this.a,l(t,143))},I(no,"JsonMetaDataConverter/lambda$2$Type",963),D(964,1,fr,fQe),h.Cd=function(t){Ngn(this.a,l(t,170))},I(no,"JsonMetaDataConverter/lambda$3$Type",964),D(245,22,{3:1,34:1,22:1,245:1},R8);var mY,vY,Qge,wY,yY,xY,Jge,Zge,kY=Fr(IP,"GraphFeature",245,Hr,mwn,adn),D_t;D(11,1,{34:1,149:1},Ui,ws,pn,Ha),h.Fd=function(t){return Ahn(this,l(t,149))},h.Fb=function(t){return not(this,t)},h.Sg=function(){return It(this)},h.Pg=function(){return this.b},h.Hb=function(){return a2(this.b)},h.Ib=function(){return this.b},I(IP,"Property",11),D(671,1,ri,Pie),h.Ne=function(t,n){return R4n(this,l(t,96),l(n,96))},h.Fb=function(t){return this===t},h.Oe=function(){return new Vt(this)},I(IP,"PropertyHolderComparator",671),D(709,1,Oa,xwe),h.Nb=function(t){Za(this,t)},h.Pb=function(){return jvn(this)},h.Qb=function(){cZe()},h.Ob=function(){return!!this.a},I(HG,"ElkGraphUtil/AncestorIterator",709);var vPe=Es(To,"EList");D(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),h.bd=function(t,n){_A(this,t,n)},h.Fc=function(t){return qr(this,t)},h.cd=function(t,n){return P7e(this,t,n)},h.Gc=function(t){return Ls(this,t)},h.Ii=function(){return new H8(this)},h.Ji=function(){return new CO(this)},h.Ki=function(t){return mN(this,t)},h.Li=function(){return!0},h.Mi=function(t,n){},h.Ni=function(){},h.Oi=function(t,n){Poe(this,t,n)},h.Pi=function(t,n,r){},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Fb=function(t){return Rbt(this,t)},h.Hb=function(){return D7e(this)},h.Si=function(){return!1},h.Kc=function(){return new or(this)},h.ed=function(){return new q8(this)},h.fd=function(t){var n;if(n=this.gc(),t<0||t>n)throw ue(new vy(t,n));return new $ae(this,t)},h.Ui=function(t,n){this.Ti(t,this.dd(n))},h.Mc=function(t){return aV(this,t)},h.Wi=function(t,n){return n},h.hd=function(t,n){return n6(this,t,n)},h.Ib=function(){return C8e(this)},h.Yi=function(){return!0},h.Zi=function(t,n){return EE(this,n)},I(To,"AbstractEList",70),D(66,70,Od,Q2,Dw,C7e),h.Ei=function(t,n){return Iue(this,t,n)},h.Fi=function(t){return Pdt(this,t)},h.Gi=function(t,n){IN(this,t,n)},h.Hi=function(t){tN(this,t)},h.$i=function(t){return j6e(this,t)},h.$b=function(){uA(this)},h.Hc=function(t){return jE(this,t)},h.Xb=function(t){return Oe(this,t)},h._i=function(t){var n,r,a;++this.j,r=this.g==null?0:this.g.length,t>r&&(a=this.g,n=r+(r/2|0)+4,n=0?(this.gd(n),!0):!1},h.Xi=function(t,n){return this.Dj(t,this.Zi(t,n))},h.gc=function(){return this.Ej()},h.Pc=function(){return this.Fj()},h.Qc=function(t){return this.Gj(t)},h.Ib=function(){return this.Hj()},I(To,"DelegatingEList",2093),D(2094,2093,e5t),h.Ei=function(t,n){return yke(this,t,n)},h.Fi=function(t){return this.Ei(this.Ej(),t)},h.Gi=function(t,n){C2t(this,t,n)},h.Hi=function(t){d2t(this,t)},h.Li=function(){return!this.Mj()},h.$b=function(){tL(this)},h.Ij=function(t,n,r,a,o){return new tot(this,t,n,r,a,o)},h.Jj=function(t){Pi(this.jj(),t)},h.Kj=function(){return null},h.Lj=function(){return-1},h.jj=function(){return null},h.Mj=function(){return!1},h.Nj=function(t,n){return n},h.Oj=function(t,n){return n},h.Pj=function(){return!1},h.Qj=function(){return!this.Aj()},h.Ti=function(t,n){var r,a;return this.Pj()?(a=this.Qj(),r=Gxe(this,t,n),this.Jj(this.Ij(7,pt(n),r,t,a)),r):Gxe(this,t,n)},h.gd=function(t){var n,r,a,o;return this.Pj()?(r=null,a=this.Qj(),n=this.Ij(4,o=iH(this,t),null,t,a),this.Mj()&&o?(r=this.Oj(o,r),r?(r.nj(n),r.oj()):this.Jj(n)):r?(r.nj(n),r.oj()):this.Jj(n),o):(o=iH(this,t),this.Mj()&&o&&(r=this.Oj(o,null),r&&r.oj()),o)},h.Xi=function(t,n){return Imt(this,t,n)},I(Rx,"DelegatingNotifyingListImpl",2094),D(152,1,YP),h.nj=function(t){return Dxe(this,t)},h.oj=function(){Hoe(this)},h.gj=function(){return this.d},h.Kj=function(){return null},h.Rj=function(){return null},h.hj=function(t){return-1},h.ij=function(){return wbt(this)},h.jj=function(){return null},h.kj=function(){return Q9e(this)},h.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},h.Sj=function(){return!1},h.mj=function(t){var n,r,a,o,f,g,w,E,C,L,B;switch(this.d){case 1:case 2:switch(o=t.gj(),o){case 1:case 2:if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0}case 4:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return C=Fke(this),E=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,g=t.lj(),this.d=6,B=new Dw(2),E<=g?(qr(B,this.n),qr(B,t.kj()),this.g=he(le(Vr,1),gi,28,15,[this.o=E,g+1])):(qr(B,t.kj()),qr(B,this.n),this.g=he(le(Vr,1),gi,28,15,[this.o=g,E])),this.n=B,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null)){for(C=Fke(this),g=t.lj(),L=l(this.g,53),a=We(Vr,gi,28,L.length+1,15,1),n=0;n>>0,n.toString(16))),a.a+=" (eventType: ",this.d){case 1:{a.a+="SET";break}case 2:{a.a+="UNSET";break}case 3:{a.a+="ADD";break}case 5:{a.a+="ADD_MANY";break}case 4:{a.a+="REMOVE";break}case 6:{a.a+="REMOVE_MANY";break}case 7:{a.a+="MOVE";break}case 8:{a.a+="REMOVING_ADAPTER";break}case 9:{a.a+="RESOLVE";break}default:{sse(a,this.d);break}}if(amt(this)&&(a.a+=", touch: true"),a.a+=", position: ",sse(a,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),a.a+=", notifier: ",O_(a,this.jj()),a.a+=", feature: ",O_(a,this.Kj()),a.a+=", oldValue: ",O_(a,Q9e(this)),a.a+=", newValue: ",this.d==6&&De(this.g,53)){for(r=l(this.g,53),a.a+="[",t=0;t10?((!this.b||this.c.j!=this.a)&&(this.b=new U_(this),this.a=this.j),G0(this.b,t)):jE(this,t)},h.Yi=function(){return!0},h.a=0,I(To,"AbstractEList/1",966),D(302,77,ahe,vy),I(To,"AbstractEList/BasicIndexOutOfBoundsException",302),D(37,1,Oa,or),h.Nb=function(t){Za(this,t)},h.Xj=function(){if(this.i.j!=this.f)throw ue(new Yh)},h.Yj=function(){return gr(this)},h.Ob=function(){return this.e!=this.i.gc()},h.Pb=function(){return this.Yj()},h.Qb=function(){jA(this)},h.e=0,h.f=0,h.g=-1,I(To,"AbstractEList/EIterator",37),D(286,37,ug,q8,$ae),h.Qb=function(){jA(this)},h.Rb=function(t){O1t(this,t)},h.Zj=function(){var t;try{return t=this.d.Xb(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Lc)):ue(n)}},h.$j=function(t){Rdt(this,t)},h.Sb=function(){return this.e!=0},h.Tb=function(){return this.e},h.Ub=function(){return this.Zj()},h.Vb=function(){return this.e-1},h.Wb=function(t){this.$j(t)},I(To,"AbstractEList/EListIterator",286),D(355,37,Oa,H8),h.Yj=function(){return iue(this)},h.Qb=function(){throw ue(new Qr)},I(To,"AbstractEList/NonResolvingEIterator",355),D(398,286,ug,CO,d4e),h.Rb=function(t){throw ue(new Qr)},h.Yj=function(){var t;try{return t=this.c.Vi(this.e),this.Xj(),this.g=this.e++,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Lc)):ue(n)}},h.Zj=function(){var t;try{return t=this.c.Vi(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Lc)):ue(n)}},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(To,"AbstractEList/NonResolvingEListIterator",398),D(2080,70,t5t),h.Ei=function(t,n){var r,a,o,f,g,w,E,C,L,B,z;if(o=n.gc(),o!=0){for(C=l(Kn(this.a,4),129),L=C==null?0:C.length,z=L+o,a=_ce(this,z),B=L-t,B>0&&vu(C,t,a,t+o,B),E=n.Kc(),g=0;gr)throw ue(new vy(t,r));return new Eat(this,t)},h.$b=function(){var t,n;++this.j,t=l(Kn(this.a,4),129),n=t==null?0:t.length,PE(this,null),Poe(this,n,t)},h.Hc=function(t){var n,r,a,o,f;if(n=l(Kn(this.a,4),129),n!=null){if(t!=null){for(a=n,o=0,f=a.length;o=r)throw ue(new vy(t,r));return n[t]},h.dd=function(t){var n,r,a;if(n=l(Kn(this.a,4),129),n!=null){if(t!=null){for(r=0,a=n.length;rr)throw ue(new vy(t,r));return new kat(this,t)},h.Ti=function(t,n){var r,a,o;if(r=H1t(this),o=r==null?0:r.length,t>=o)throw ue(new nc(Jfe+t+av+o));if(n>=o)throw ue(new nc(Zfe+n+av+o));return a=r[n],t!=n&&(t0&&vu(t,0,n,0,r),n},h.Qc=function(t){var n,r,a;return n=l(Kn(this.a,4),129),a=n==null?0:n.length,a>0&&(t.lengtha&&Ss(t,a,null),t};var I_t;I(To,"ArrayDelegatingEList",2080),D(1051,37,Oa,Tut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},h.Qb=function(){jA(this),this.a=l(Kn(this.b.a,4),129)},I(To,"ArrayDelegatingEList/EIterator",1051),D(722,286,ug,Bst,kat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},h.$j=function(t){Rdt(this,t),this.a=l(Kn(this.b.a,4),129)},h.Qb=function(){jA(this),this.a=l(Kn(this.b.a,4),129)},I(To,"ArrayDelegatingEList/EListIterator",722),D(1052,355,Oa,Cut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},I(To,"ArrayDelegatingEList/NonResolvingEIterator",1052),D(723,398,ug,Fst,Eat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Kn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},I(To,"ArrayDelegatingEList/NonResolvingEListIterator",723),D(615,302,ahe,Use),I(To,"BasicEList/BasicIndexOutOfBoundsException",615),D(710,66,Od,tye),h.bd=function(t,n){throw ue(new Qr)},h.Fc=function(t){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.$b=function(){throw ue(new Qr)},h._i=function(t){throw ue(new Qr)},h.Kc=function(){return this.Ii()},h.ed=function(){return this.Ji()},h.fd=function(t){return this.Ki(t)},h.Ti=function(t,n){throw ue(new Qr)},h.Ui=function(t,n){throw ue(new Qr)},h.gd=function(t){throw ue(new Qr)},h.Mc=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},I(To,"BasicEList/UnmodifiableEList",710),D(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),h.bd=function(t,n){bhn(this,t,l(n,44))},h.Fc=function(t){return ufn(this,l(t,44))},h.Jc=function(t){to(this,t)},h.Xb=function(t){return l(Oe(this.c,t),136)},h.Ti=function(t,n){return l(this.c.Ti(t,n),44)},h.Ui=function(t,n){mhn(this,t,l(n,44))},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return l(this.c.gd(t),44)},h.hd=function(t,n){return Ign(this,t,l(n,44))},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.cd=function(t,n){return this.c.cd(t,n)},h.Gc=function(t){return this.c.Gc(t)},h.$b=function(){this.c.$b()},h.Hc=function(t){return this.c.Hc(t)},h.Ic=function(t){return EN(this.c,t)},h._j=function(){var t,n,r;if(this.d==null){for(this.d=We(wPe,ASe,66,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),136),cU(this,t);this.e=r}},h.Fb=function(t){return lit(this,t)},h.Hb=function(){return D7e(this.c)},h.dd=function(t){return this.c.dd(t)},h.ak=function(){this.c=new dQe(this)},h.dc=function(){return this.f==0},h.Kc=function(){return this.c.Kc()},h.ed=function(){return this.c.ed()},h.fd=function(t){return this.c.fd(t)},h.bk=function(){return iN(this)},h.ck=function(t,n,r){return new Eit(t,n,r)},h.dk=function(){return new _$},h.Mc=function(t){return Xht(this,t)},h.gc=function(){return this.f},h.kd=function(t,n){return new e2(this.c,t,n)},h.Pc=function(){return this.c.Pc()},h.Qc=function(t){return this.c.Qc(t)},h.Ib=function(){return C8e(this.c)},h.e=0,h.f=0,I(To,"BasicEMap",721),D(1046,66,Od,dQe),h.Mi=function(t,n){Wcn(this,l(n,136))},h.Pi=function(t,n,r){var a;++(a=this,l(n,136),a).a.e},h.Qi=function(t,n){Ycn(this,l(n,136))},h.Ri=function(t,n,r){Whn(this,l(n,136),l(r,136))},h.Oi=function(t,n){Hft(this.a)},I(To,"BasicEMap/1",1046),D(1047,66,Od,_$),h.aj=function(t){return We(BOn,n5t,621,t,0,1)},I(To,"BasicEMap/2",1047),D(1048,j1,_l,gQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return Wce(this.a,t)},h.Kc=function(){return this.a.f==0?(Fk(),fF.a):new XJe(this.a)},h.Mc=function(t){var n;return n=this.a.f,XV(this.a,t),this.a.f!=n},h.gc=function(){return this.a.f},I(To,"BasicEMap/3",1048),D(1049,31,Yy,pQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return jbt(this.a,t)},h.Kc=function(){return this.a.f==0?(Fk(),fF.a):new QJe(this.a)},h.gc=function(){return this.a.f},I(To,"BasicEMap/4",1049),D(1050,j1,_l,bQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){var n,r,a,o,f,g,w,E,C;if(this.a.f>0&&De(t,44)&&(this.a._j(),E=l(t,44),w=E.ld(),o=w==null?0:Zi(w),f=Jye(this.a,o),n=this.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g"+this.c},h.a=0;var BOn=I(To,"BasicEMap/EntryImpl",621);D(546,1,{},MS),I(To,"BasicEMap/View",546);var fF;D(783,1,{}),h.Fb=function(t){return N9e((Cn(),Co),t)},h.Hb=function(){return H7e((Cn(),Co))},h.Ib=function(){return Cb((Cn(),Co))},I(To,"ECollections/BasicEmptyUnmodifiableEList",783),D(1348,1,ug,Jne),h.Nb=function(t){Za(this,t)},h.Rb=function(t){throw ue(new Qr)},h.Ob=function(){return!1},h.Sb=function(){return!1},h.Pb=function(){throw ue(new Lc)},h.Tb=function(){return 0},h.Ub=function(){throw ue(new Lc)},h.Vb=function(){return-1},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(To,"ECollections/BasicEmptyUnmodifiableEList/1",1348),D(1346,783,{20:1,16:1,15:1,61:1},aJe),h.bd=function(t,n){xZe()},h.Fc=function(t){return kZe()},h.cd=function(t,n){return EZe()},h.Gc=function(t){return TZe()},h.$b=function(){CZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){to(this,t)},h.Xb=function(t){return iye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return SZe()},h.Ui=function(t,n){_Ze()},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return AZe()},h.Mc=function(t){return LZe()},h.hd=function(t,n){return MZe()},h.gc=function(){return 0},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new e2(Co,t,n)},h.Pc=function(){return t5e((Cn(),Co))},h.Qc=function(t){return Cn(),PA(Co,t)},I(To,"ECollections/EmptyUnmodifiableEList",1346),D(1347,783,{20:1,16:1,15:1,61:1,597:1},oJe),h.bd=function(t,n){xZe()},h.Fc=function(t){return kZe()},h.cd=function(t,n){return EZe()},h.Gc=function(t){return TZe()},h.$b=function(){CZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){to(this,t)},h.Xb=function(t){return iye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return SZe()},h.Ui=function(t,n){_Ze()},h.Lc=function(){return new bn(null,new kn(this,16))},h.gd=function(t){return AZe()},h.Mc=function(t){return LZe()},h.hd=function(t,n){return MZe()},h.gc=function(){return 0},h.jd=function(t){$m(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new bn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new e2(Co,t,n)},h.Pc=function(){return t5e((Cn(),Co))},h.Qc=function(t){return Cn(),PA(Co,t)},h.bk=function(){return Cn(),Cn(),bg},I(To,"ECollections/EmptyUnmodifiableEMap",1347);var xPe=Es(To,"Enumerator"),EY;D(288,1,{288:1},tle),h.Fb=function(t){var n;return this===t?!0:De(t,288)?(n=l(t,288),this.f==n.f&&Wdn(this.i,n.i)&&Aae(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&Aae(this.d,n.d)&&Aae(this.g,n.g)&&Aae(this.e,n.e)&&v6n(this,n)):!1},h.Hb=function(){return this.f},h.Ib=function(){return vmt(this)},h.f=0;var O_t=0,N_t=0,P_t=0,B_t=0,kPe=0,EPe=0,TPe=0,CPe=0,SPe=0,F_t,$M=0,zM=0,R_t=0,j_t=0,TY,_Pe;I(To,"URI",288),D(1121,45,m6,cJe),h.zc=function(t,n){return l(ic(this,Zr(t),l(n,288)),288)},I(To,"URI/URICache",1121),D(506,66,Od,T$,lH),h.Si=function(){return!0},I(To,"UniqueEList",506),D(590,63,up,rV),I(To,"WrappedException",590);var vi=Es(gf,s5t),D4=Es(gf,a5t),pl=Es(gf,o5t),I4=Es(gf,c5t),c1=Es(gf,u5t),Hf=Es(gf,"EClass"),npe=Es(gf,"EDataType"),$_t;D(1233,45,m6,uJe),h.xc=function(t){return Ia(t)?Cu(this,t):fc(zo(this.f,t))},I(gf,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var CY=Es(gf,"EEnum"),vp=Es(gf,l5t),Wo=Es(gf,h5t),Vf=Es(gf,f5t),Uf,T3=Es(gf,d5t),O4=Es(gf,g5t);D(1042,1,{},Xne),h.Ib=function(){return"NIL"},I(gf,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var z_t;D(1041,45,m6,lJe),h.xc=function(t){return Ia(t)?Cu(this,t):fc(zo(this.f,t))},I(gf,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var tl=Es(gf,p5t),o9=Es(gf,"EValidator/PatternMatcher"),APe,LPe,Un,D2,N4,Zb,q_t,H_t,V_t,em,I2,tm,C3,J1,U_t,G_t,Gf,O2,K_t,N2,P4,o7,Io,W_t,Y_t,S3,SY=Es(cs,"FeatureMap/Entry");D(545,1,{76:1},_q),h.Lk=function(){return this.a},h.md=function(){return this.b},I(Gn,"BasicEObjectImpl/1",545),D(1040,1,s0e,Ntt),h.Fk=function(t){return Doe(this.a,this.b,t)},h.Qj=function(){return bot(this.a,this.b)},h.Wb=function(t){H5e(this.a,this.b,t)},h.Gk=function(){Ugn(this.a,this.b)},I(Gn,"BasicEObjectImpl/4",1040),D(2081,1,{114:1}),h.Mk=function(t){this.e=t==0?X_t:We(wa,Rn,1,t,5,1)},h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Nk=function(){return this.c},h.Ok=function(){throw ue(new Qr)},h.Pk=function(){throw ue(new Qr)},h.Qk=function(){return this.d},h.Rk=function(){return this.e!=null},h.Sk=function(t){this.c=t},h.Tk=function(t){throw ue(new Qr)},h.Uk=function(t){throw ue(new Qr)},h.Vk=function(t){this.d=t};var X_t;I(Gn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),D(192,2081,{114:1},Cf),h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},I(Gn,"BasicEObjectImpl/EPropertiesHolderImpl",192),D(516,99,b4t,m5),h.uh=function(){return this.f},h.zh=function(){return this.k},h.Bh=function(t,n){this.g=t,this.i=n},h.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},h.Fh=function(){return this.i},h.wh=function(){return(this.j&1)!=0},h.Ph=function(){return this.g},h.Vh=function(){return(this.j&4)!=0},h.$h=function(){return!this.k&&(this.k=new Cf),this.k},h.ci=function(t){this.$h().Sk(t),t?this.j|=2:this.j&=-3},h.ei=function(t){this.$h().Uk(t),t?this.j|=4:this.j&=-5},h.ii=function(){return(hb(),Un).S},h.i=0,h.j=1,I(Gn,"EObjectImpl",516),D(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},R4e),h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Dh=function(){return this.d},h.Ih=function(t){return vs(this.d,t)},h.Kh=function(){return this.d},h.Oh=function(){return this.e!=null},h.$h=function(){return!this.k&&(this.k=new A$),this.k},h.ci=function(t){this.d=t},h.hi=function(){var t;return this.e==null&&(t=yr(this.d),this.e=t==0?Q_t:We(wa,Rn,1,t,5,1)),this},h.ji=function(){return 0};var Q_t;I(Gn,"DynamicEObjectImpl",798),D(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},Wit),h.Fb=function(t){return this===t},h.Hb=function(){return gw(this)},h.ci=function(t){this.d=t,this.b=oP(t,"key"),this.c=oP(t,TL)},h.Bi=function(){var t;return this.a==-1&&(t=Voe(this,this.b),this.a=t==null?0:Zi(t)),this.a},h.ld=function(){return Voe(this,this.b)},h.md=function(){return Voe(this,this.c)},h.Ci=function(t){this.a=t},h.Di=function(t){H5e(this,this.b,t)},h.nd=function(t){var n;return n=Voe(this,this.c),H5e(this,this.c,t),n},h.a=0,I(Gn,"DynamicEObjectImpl/BasicEMapEntry",1522),D(1523,1,{114:1},A$),h.Mk=function(t){throw ue(new Qr)},h.li=function(t){throw ue(new Qr)},h.mi=function(t,n){throw ue(new Qr)},h.ni=function(t){throw ue(new Qr)},h.Nk=function(){throw ue(new Qr)},h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Qk=function(){return this.c},h.Rk=function(){throw ue(new Qr)},h.Sk=function(t){throw ue(new Qr)},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},h.Vk=function(t){this.c=t},I(Gn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),D(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},CI),h.Ah=function(t){return gxe(this,t)},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new ph((Tn(),Io),Qc,this)),this.b):(!this.b&&(this.b=new ph((Tn(),Io),Qc,this)),iN(this.b));case 3:return xot(this);case 4:return!this.a&&(this.a=new Ws(Qb,this,4)),this.a;case 5:return!this.c&&(this.c=new $5(Qb,this,5)),this.c}return rf(this,t-yr((Tn(),D2)),Ln((a=l(Kn(this,16),29),a||D2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?gxe(this,r):this.Cb.Th(this,-1-o,null,r))),e5e(this,l(t,155),r)}return f=l(Ln((a=l(Kn(this,16),29),a||(Tn(),D2)),n),69),f.wk().zk(this,Yu(this),n-yr((Tn(),D2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 2:return!this.b&&(this.b=new ph((Tn(),Io),Qc,this)),Gq(this.b,t,r);case 3:return e5e(this,null,r);case 4:return!this.a&&(this.a=new Ws(Qb,this,4)),ko(this.a,t,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),D2)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),D2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!xot(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return tf(this,t-yr((Tn(),D2)),Ln((n=l(Kn(this,16),29),n||D2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Pdn(this,Zr(n));return;case 2:!this.b&&(this.b=new ph((Tn(),Io),Qc,this)),AV(this.b,n);return;case 3:abt(this,l(n,155));return;case 4:!this.a&&(this.a=new Ws(Qb,this,4)),$r(this.a),!this.a&&(this.a=new Ws(Qb,this,4)),Ls(this.a,l(n,16));return;case 5:!this.c&&(this.c=new $5(Qb,this,5)),$r(this.c),!this.c&&(this.c=new $5(Qb,this,5)),Ls(this.c,l(n,16));return}cf(this,t-yr((Tn(),D2)),Ln((r=l(Kn(this,16),29),r||D2),t),n)},h.ii=function(){return Tn(),D2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:p7e(this,null);return;case 2:!this.b&&(this.b=new ph((Tn(),Io),Qc,this)),this.b.c.$b();return;case 3:abt(this,null);return;case 4:!this.a&&(this.a=new Ws(Qb,this,4)),$r(this.a);return;case 5:!this.c&&(this.c=new $5(Qb,this,5)),$r(this.c);return}of(this,t-yr((Tn(),D2)),Ln((n=l(Kn(this,16),29),n||D2),t))},h.Ib=function(){return l1t(this)},h.d=null,I(Gn,"EAnnotationImpl",519),D(141,721,LSe,Tl),h.Gi=function(t,n){Zln(this,t,l(n,44))},h.Wk=function(t,n){return t0n(this,l(t,44),n)},h.$i=function(t){return l(l(this.c,71).$i(t),136)},h.Ii=function(){return l(this.c,71).Ii()},h.Ji=function(){return l(this.c,71).Ji()},h.Ki=function(t){return l(this.c,71).Ki(t)},h.Xk=function(t,n){return Gq(this,t,n)},h.Fk=function(t){return l(this.c,79).Fk(t)},h.ak=function(){},h.Qj=function(){return l(this.c,79).Qj()},h.ck=function(t,n,r){var a;return a=l(Lh(this.b).wi().si(this.b),136),a.Ci(t),a.Di(n),a.nd(r),a},h.dk=function(){return new Ewe(this)},h.Wb=function(t){AV(this,t)},h.Gk=function(){l(this.c,79).Gk()},I(cs,"EcoreEMap",141),D(165,141,LSe,ph),h._j=function(){var t,n,r,a,o,f;if(this.d==null){for(f=We(wPe,ASe,66,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=l(r.Yj(),136),a=n.Bi(),o=(a&Oi)%f.length,t=f[o],!t&&(t=f[o]=new Ewe(this)),t.Fc(n);this.d=f}},I(Gn,"EAnnotationImpl/1",165),D(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Vn(),!!(this.Bb&256);case 3:return Vn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Vn(),!!this.Jk();case 7:return Vn(),o=this.s,o>=1;case 8:return n?If(this):this.r;case 9:return this.q}return rf(this,t-yr(this.ii()),Ln((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return Hae(this,r)}return o=l(Ln((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Yu(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&kw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&kw(this.q).i==0)}return tf(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:this.ui(Zr(n));return;case 2:u2(this,Rt(Bt(n)));return;case 3:l2(this,Rt(Bt(n)));return;case 4:s2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=F1(this,l(n,89),null),a&&a.oj();return}cf(this,t-yr(this.ii()),Ln((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),Y_t},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return;case 2:u2(this,!0);return;case 3:l2(this,!0);return;case 4:s2(this,0);return;case 5:this.Zk(1);return;case 8:Gm(this,null);return;case 9:r=F1(this,null,null),r&&r.oj();return}of(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){If(this),this.Bb|=1},h.Hk=function(){return If(this)},h.Ik=function(){return this.t},h.Jk=function(){var t;return t=this.t,t>1||t==-1},h.Si=function(){return(this.Bb&512)!=0},h.Yk=function(t,n){return c8e(this,t,n)},h.Zk=function(t){Dy(this,t)},h.Ib=function(){return C9e(this)},h.s=0,h.t=1,I(Gn,"ETypedElementImpl",292),D(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),h.Ah=function(t){return Zdt(this,t)},h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Vn(),!!(this.Bb&256);case 3:return Vn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Vn(),!!this.Jk();case 7:return Vn(),o=this.s,o>=1;case 8:return n?If(this):this.r;case 9:return this.q;case 10:return Vn(),!!(this.Bb&b0);case 11:return Vn(),!!(this.Bb&i4);case 12:return Vn(),!!(this.Bb&Qy);case 13:return this.j;case 14:return UE(this);case 15:return Vn(),!!(this.Bb&Ll);case 16:return Vn(),!!(this.Bb&Td);case 17:return Ey(this)}return rf(this,t-yr(this.ii()),Ln((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?Zdt(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,17,r)}return f=l(Ln((a=l(Kn(this,16),29),a||this.ii()),n),69),f.wk().zk(this,Yu(this),n-yr(this.ii()),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return Hae(this,r);case 17:return Ph(this,null,17,r)}return o=l(Ln((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Yu(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&kw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&kw(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&i4)!=0;case 12:return(this.Bb&Qy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Ll)!=0;case 16:return(this.Bb&Td)!=0;case 17:return!!Ey(this)}return tf(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:boe(this,Zr(n));return;case 2:u2(this,Rt(Bt(n)));return;case 3:l2(this,Rt(Bt(n)));return;case 4:s2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=F1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:eye(this,Zr(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return}cf(this,t-yr(this.ii()),Ln((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),W_t},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&qy(Xl(l(this.Cb,90)),4),ju(this,null);return;case 2:u2(this,!0);return;case 3:l2(this,!0);return;case 4:s2(this,0);return;case 5:this.Zk(1);return;case 8:Gm(this,null);return;case 9:r=F1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,kV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return}of(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.pi=function(){Wk(sc((Sl(),io),this)),If(this),this.Bb|=1},h.pk=function(){return this.f},h.ik=function(){return UE(this)},h.qk=function(){return Ey(this)},h.uk=function(){return null},h.$k=function(){return this.k},h.Lj=function(){return this.n},h.vk=function(){return bU(this)},h.wk=function(){var t,n,r,a,o,f,g,w,E;return this.p||(r=Ey(this),(r.i==null&&Ed(r),r.i).length,a=this.uk(),a&&yr(Ey(a)),o=If(this),g=o.kk(),t=g?g.i&1?g==sh?Ps:g==Vr?ro:g==F4?_T:g==Na?ea:g==rm?s3:g==h7?a3:g==Dl?jx:PL:g:null,n=UE(this),w=o.ik(),Y4n(this),this.Bb&Td&&((f=xxe((Sl(),io),r))&&f!=this||(f=rx(sc(io,this))))?this.p=new Btt(this,f):this.Jk()?this.al()?a?this.Bb&Ll?t?this.bl()?this.p=new Om(47,t,this,a):this.p=new Om(5,t,this,a):this.bl()?this.p=new Rm(46,this,a):this.p=new Rm(4,this,a):t?this.bl()?this.p=new Om(49,t,this,a):this.p=new Om(7,t,this,a):this.bl()?this.p=new Rm(48,this,a):this.p=new Rm(6,this,a):this.Bb&Ll?t?t==uv?this.p=new Qp(50,M_t,this):this.bl()?this.p=new Qp(43,t,this):this.p=new Qp(1,t,this):this.bl()?this.p=new Zp(42,this):this.p=new Zp(0,this):t?t==uv?this.p=new Qp(41,M_t,this):this.bl()?this.p=new Qp(45,t,this):this.p=new Qp(3,t,this):this.bl()?this.p=new Zp(44,this):this.p=new Zp(2,this):De(o,156)?t==SY?this.p=new Zp(40,this):this.Bb&512?this.Bb&Ll?t?this.p=new Qp(9,t,this):this.p=new Zp(8,this):t?this.p=new Qp(11,t,this):this.p=new Zp(10,this):this.Bb&Ll?t?this.p=new Qp(13,t,this):this.p=new Zp(12,this):t?this.p=new Qp(15,t,this):this.p=new Zp(14,this):a?(E=a.t,E>1||E==-1?this.bl()?this.Bb&Ll?t?this.p=new Om(25,t,this,a):this.p=new Rm(24,this,a):t?this.p=new Om(27,t,this,a):this.p=new Rm(26,this,a):this.Bb&Ll?t?this.p=new Om(29,t,this,a):this.p=new Rm(28,this,a):t?this.p=new Om(31,t,this,a):this.p=new Rm(30,this,a):this.bl()?this.Bb&Ll?t?this.p=new Om(33,t,this,a):this.p=new Rm(32,this,a):t?this.p=new Om(35,t,this,a):this.p=new Rm(34,this,a):this.Bb&Ll?t?this.p=new Om(37,t,this,a):this.p=new Rm(36,this,a):t?this.p=new Om(39,t,this,a):this.p=new Rm(38,this,a)):this.bl()?this.Bb&Ll?t?this.p=new Qp(17,t,this):this.p=new Zp(16,this):t?this.p=new Qp(19,t,this):this.p=new Zp(18,this):this.Bb&Ll?t?this.p=new Qp(21,t,this):this.p=new Zp(20,this):t?this.p=new Qp(23,t,this):this.p=new Zp(22,this):this._k()?this.bl()?this.p=new Tit(l(o,29),this,a):this.p=new z5e(l(o,29),this,a):De(o,156)?t==SY?this.p=new Zp(40,this):this.Bb&Ll?t?this.p=new Est(n,w,this,(Yce(),g==Vr?BPe:g==sh?DPe:g==rm?FPe:g==F4?PPe:g==Na?NPe:g==h7?RPe:g==Dl?IPe:g==xf?OPe:spe)):this.p=new Bat(l(o,156),n,w,this):t?this.p=new kst(n,w,this,(Yce(),g==Vr?BPe:g==sh?DPe:g==rm?FPe:g==F4?PPe:g==Na?NPe:g==h7?RPe:g==Dl?IPe:g==xf?OPe:spe)):this.p=new Pat(l(o,156),n,w,this):this.al()?a?this.Bb&Ll?this.bl()?this.p=new Sit(l(o,29),this,a):this.p=new S4e(l(o,29),this,a):this.bl()?this.p=new Cit(l(o,29),this,a):this.p=new xae(l(o,29),this,a):this.Bb&Ll?this.bl()?this.p=new krt(l(o,29),this):this.p=new $ye(l(o,29),this):this.bl()?this.p=new xrt(l(o,29),this):this.p=new cae(l(o,29),this):this.bl()?a?this.Bb&Ll?this.p=new _it(l(o,29),this,a):this.p=new T4e(l(o,29),this,a):this.Bb&Ll?this.p=new Ert(l(o,29),this):this.p=new zye(l(o,29),this):a?this.Bb&Ll?this.p=new Ait(l(o,29),this,a):this.p=new C4e(l(o,29),this,a):this.Bb&Ll?this.p=new Trt(l(o,29),this):this.p=new uH(l(o,29),this)),this.p},h.rk=function(){return(this.Bb&b0)!=0},h._k=function(){return!1},h.al=function(){return!1},h.sk=function(){return(this.Bb&Td)!=0},h.xk=function(){return Uoe(this)},h.bl=function(){return!1},h.tk=function(){return(this.Bb&Ll)!=0},h.cl=function(t){this.k=t},h.ui=function(t){boe(this,t)},h.Ib=function(){return FU(this)},h.e=!1,h.n=0,I(Gn,"EStructuralFeatureImpl",462),D(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},qie),h.Lh=function(t,n,r){var a,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Vn(),!!(this.Bb&256);case 3:return Vn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Vn(),!!w9e(this);case 7:return Vn(),o=this.s,o>=1;case 8:return n?If(this):this.r;case 9:return this.q;case 10:return Vn(),!!(this.Bb&b0);case 11:return Vn(),!!(this.Bb&i4);case 12:return Vn(),!!(this.Bb&Qy);case 13:return this.j;case 14:return UE(this);case 15:return Vn(),!!(this.Bb&Ll);case 16:return Vn(),!!(this.Bb&Td);case 17:return Ey(this);case 18:return Vn(),!!(this.Bb&ru);case 19:return n?pce(this):jut(this)}return rf(this,t-yr((Tn(),N4)),Ln((a=l(Kn(this,16),29),a||N4),t),n,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return w9e(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&kw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&kw(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&i4)!=0;case 12:return(this.Bb&Qy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Ll)!=0;case 16:return(this.Bb&Td)!=0;case 17:return!!Ey(this);case 18:return(this.Bb&ru)!=0;case 19:return!!jut(this)}return tf(this,t-yr((Tn(),N4)),Ln((n=l(Kn(this,16),29),n||N4),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:boe(this,Zr(n));return;case 2:u2(this,Rt(Bt(n)));return;case 3:l2(this,Rt(Bt(n)));return;case 4:s2(this,l(n,17).a);return;case 5:eZe(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=F1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:eye(this,Zr(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return;case 18:zce(this,Rt(Bt(n)));return}cf(this,t-yr((Tn(),N4)),Ln((r=l(Kn(this,16),29),r||N4),t),n)},h.ii=function(){return Tn(),N4},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&qy(Xl(l(this.Cb,90)),4),ju(this,null);return;case 2:u2(this,!0);return;case 3:l2(this,!0);return;case 4:s2(this,0);return;case 5:this.b=0,Dy(this,1);return;case 8:Gm(this,null);return;case 9:r=F1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,kV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return;case 18:zce(this,!1);return}of(this,t-yr((Tn(),N4)),Ln((n=l(Kn(this,16),29),n||N4),t))},h.pi=function(){pce(this),Wk(sc((Sl(),io),this)),If(this),this.Bb|=1},h.Jk=function(){return w9e(this)},h.Yk=function(t,n){return this.b=0,this.a=null,c8e(this,t,n)},h.Zk=function(t){eZe(this,t)},h.Ib=function(){var t;return this.Db&64?FU(this):(t=new _f(FU(this)),t.a+=" (iD: ",Kp(t,(this.Bb&ru)!=0),t.a+=")",t.a)},h.b=0,I(Gn,"EAttributeImpl",331),D(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),h.dl=function(t){return t.Dh()==this},h.Ah=function(t){return yue(this,t)},h.Bh=function(t,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=t},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Hw(this);case 4:return this.ik();case 5:return this.F;case 6:return n?Lh(this):Qk(this);case 7:return!this.A&&(this.A=new yl(tl,this,7)),this.A}return rf(this,t-yr(this.ii()),Ln((a=l(Kn(this,16),29),a||this.ii()),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?yue(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,6,r)}return f=l(Ln((a=l(Kn(this,16),29),a||this.ii()),n),69),f.wk().zk(this,Yu(this),n-yr(this.ii()),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Ph(this,null,6,r);case 7:return!this.A&&(this.A=new yl(tl,this,7)),ko(this.A,t,r)}return o=l(Ln((a=l(Kn(this,16),29),a||this.ii()),n),69),o.wk().Ak(this,Yu(this),n-yr(this.ii()),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Hw(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0}return tf(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:RH(this,Zr(n));return;case 2:Wse(this,Zr(n));return;case 5:JE(this,Zr(n));return;case 7:!this.A&&(this.A=new yl(tl,this,7)),$r(this.A),!this.A&&(this.A=new yl(tl,this,7)),Ls(this.A,l(n,16));return}cf(this,t-yr(this.ii()),Ln((r=l(Kn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return Tn(),q_t},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),ju(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new yl(tl,this,7)),$r(this.A);return}of(this,t-yr(this.ii()),Ln((n=l(Kn(this,16),29),n||this.ii()),t))},h.hk=function(){var t;return this.G==-1&&(this.G=(t=Lh(this),t?d2(t.vi(),this):-1)),this.G},h.ik=function(){return null},h.jk=function(){return Lh(this)},h.el=function(){return this.v},h.kk=function(){return Hw(this)},h.lk=function(){return this.D!=null?this.D:this.B},h.mk=function(){return this.F},h.fk=function(t){return lle(this,t)},h.fl=function(t){this.v=t},h.gl=function(t){Eft(this,t)},h.hl=function(t){this.C=t},h.ui=function(t){RH(this,t)},h.Ib=function(){return GV(this)},h.C=null,h.D=null,h.G=-1,I(Gn,"EClassifierImpl",364),D(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},fz),h.dl=function(t){return Rfn(this,t.Dh())},h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Hw(this);case 4:return null;case 5:return this.F;case 6:return n?Lh(this):Qk(this);case 7:return!this.A&&(this.A=new yl(tl,this,7)),this.A;case 8:return Vn(),!!(this.Bb&256);case 9:return Vn(),!!(this.Bb&512);case 10:return gc(this);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),this.q;case 12:return d6(this);case 13:return JA(this);case 14:return JA(this),this.r;case 15:return d6(this),this.k;case 16:return c9e(this);case 17:return gle(this);case 18:return Ed(this);case 19:return AU(this);case 20:return d6(this),this.o;case 21:return!this.s&&(this.s=new nt(pl,this,21,17)),this.s;case 22:return bu(this);case 23:return ele(this)}return rf(this,t-yr((Tn(),Zb)),Ln((a=l(Kn(this,16),29),a||Zb),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?yue(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,6,r);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),$u(this.q,t,r);case 21:return!this.s&&(this.s=new nt(pl,this,21,17)),$u(this.s,t,r)}return f=l(Ln((a=l(Kn(this,16),29),a||(Tn(),Zb)),n),69),f.wk().zk(this,Yu(this),n-yr((Tn(),Zb)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Ph(this,null,6,r);case 7:return!this.A&&(this.A=new yl(tl,this,7)),ko(this.A,t,r);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),ko(this.q,t,r);case 21:return!this.s&&(this.s=new nt(pl,this,21,17)),ko(this.s,t,r);case 22:return ko(bu(this),t,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),Zb)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),Zb)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Hw(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&bu(this.u.a).i!=0&&!(this.n&&uue(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return d6(this).i!=0;case 13:return JA(this).i!=0;case 14:return JA(this),this.r.i!=0;case 15:return d6(this),this.k.i!=0;case 16:return c9e(this).i!=0;case 17:return gle(this).i!=0;case 18:return Ed(this).i!=0;case 19:return AU(this).i!=0;case 20:return d6(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&uue(this.n);case 23:return ele(this).i!=0}return tf(this,t-yr((Tn(),Zb)),Ln((n=l(Kn(this,16),29),n||Zb),t))},h.Zh=function(t){var n;return n=this.i==null||this.q&&this.q.i!=0?null:oP(this,t),n||Vke(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:RH(this,Zr(n));return;case 2:Wse(this,Zr(n));return;case 5:JE(this,Zr(n));return;case 7:!this.A&&(this.A=new yl(tl,this,7)),$r(this.A),!this.A&&(this.A=new yl(tl,this,7)),Ls(this.A,l(n,16));return;case 8:u8e(this,Rt(Bt(n)));return;case 9:l8e(this,Rt(Bt(n)));return;case 10:tL(gc(this)),Ls(gc(this),l(n,16));return;case 11:!this.q&&(this.q=new nt(Vf,this,11,10)),$r(this.q),!this.q&&(this.q=new nt(Vf,this,11,10)),Ls(this.q,l(n,16));return;case 21:!this.s&&(this.s=new nt(pl,this,21,17)),$r(this.s),!this.s&&(this.s=new nt(pl,this,21,17)),Ls(this.s,l(n,16));return;case 22:$r(bu(this)),Ls(bu(this),l(n,16));return}cf(this,t-yr((Tn(),Zb)),Ln((r=l(Kn(this,16),29),r||Zb),t),n)},h.ii=function(){return Tn(),Zb},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),ju(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new yl(tl,this,7)),$r(this.A);return;case 8:u8e(this,!1);return;case 9:l8e(this,!1);return;case 10:this.u&&tL(this.u);return;case 11:!this.q&&(this.q=new nt(Vf,this,11,10)),$r(this.q);return;case 21:!this.s&&(this.s=new nt(pl,this,21,17)),$r(this.s);return;case 22:this.n&&$r(this.n);return}of(this,t-yr((Tn(),Zb)),Ln((n=l(Kn(this,16),29),n||Zb),t))},h.pi=function(){var t,n;if(d6(this),JA(this),c9e(this),gle(this),Ed(this),AU(this),ele(this),uA(ldn(Xl(this))),this.s)for(t=0,n=this.s.i;t=0;--n)Oe(this,n);return N8e(this,t)},h.Gk=function(){$r(this)},h.Zi=function(t,n){return Uht(this,t,n)},I(cs,"EcoreEList",632),D(505,632,Tc,FO),h.Li=function(){return!1},h.Lj=function(){return this.c},h.Mj=function(){return!1},h.ol=function(){return!0},h.Si=function(){return!0},h.Wi=function(t,n){return n},h.Yi=function(){return!1},h.c=0,I(cs,"EObjectEList",505),D(83,505,Tc,Ws),h.Mj=function(){return!0},h.ml=function(){return!1},h.al=function(){return!0},I(cs,"EObjectContainmentEList",83),D(555,83,Tc,Fq),h.Ni=function(){this.b=!0},h.Qj=function(){return this.b},h.Gk=function(){var t;$r(this),dh(this.e)?(t=this.b,this.b=!1,Pi(this.e,new l0(this.e,2,this.c,t,!1))):this.b=!1},h.b=!1,I(cs,"EObjectContainmentEList/Unsettable",555),D(1161,555,Tc,yst),h.Ti=function(t,n){var r,a;return r=l(AA(this,t,n),89),dh(this.e)&&xk(this,new sN(this.a,7,(Tn(),H_t),pt(n),(a=r.c,De(a,90)?l(a,29):Gf),t)),r},h.Uj=function(t,n){return D5n(this,l(t,89),n)},h.Vj=function(t,n){return M5n(this,l(t,89),n)},h.Wj=function(t,n,r){return N8n(this,l(t,89),l(n,89),r)},h.Ij=function(t,n,r,a,o){switch(t){case 3:return rA(this,t,n,r,a,this.i>1);case 5:return rA(this,t,n,r,a,this.i-l(r,15).gc()>0);default:return new Jg(this.e,t,this.c,n,r,a,!0)}},h.Tj=function(){return!0},h.Qj=function(){return uue(this)},h.Gk=function(){$r(this)},I(Gn,"EClassImpl/1",1161),D(1175,1174,_Se),h.dj=function(t){var n,r,a,o,f,g,w;if(r=t.gj(),r!=8){if(a=f6n(t),a==0)switch(r){case 1:case 9:{w=t.kj(),w!=null&&(n=Xl(l(w,482)),!n.c&&(n.c=new Yd),aV(n.c,t.jj())),g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Xl(o),!n.c&&(n.c=new Yd),qr(n.c,l(t.jj(),29))));break}case 3:{g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Xl(o),!n.c&&(n.c=new Yd),qr(n.c,l(t.jj(),29))));break}case 5:{if(g=t.ij(),g!=null)for(f=l(g,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Xl(o),!n.c&&(n.c=new Yd),qr(n.c,l(t.jj(),29)));break}case 4:{w=t.kj(),w!=null&&(o=l(w,482),o.Bb&1||(n=Xl(o),!n.c&&(n.c=new Yd),aV(n.c,t.jj())));break}case 6:{if(w=t.kj(),w!=null)for(f=l(w,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Xl(o),!n.c&&(n.c=new Yd),aV(n.c,t.jj()));break}}this.ql(a)}},h.ql=function(t){Gbt(this,t)},h.b=63,I(Gn,"ESuperAdapter",1175),D(1176,1175,_Se,vQe),h.ql=function(t){qy(this,t)},I(Gn,"EClassImpl/10",1176),D(1165,710,Tc),h.Ei=function(t,n){return Iue(this,t,n)},h.Fi=function(t){return Pdt(this,t)},h.Gi=function(t,n){IN(this,t,n)},h.Hi=function(t){tN(this,t)},h.$i=function(t){return j6e(this,t)},h.Xi=function(t,n){return Goe(this,t,n)},h.Wk=function(t,n){throw ue(new Qr)},h.Ii=function(){return new H8(this)},h.Ji=function(){return new CO(this)},h.Ki=function(t){return mN(this,t)},h.Xk=function(t,n){throw ue(new Qr)},h.Fk=function(t){return this},h.Qj=function(){return this.i!=0},h.Wb=function(t){throw ue(new Qr)},h.Gk=function(){throw ue(new Qr)},I(cs,"EcoreEList/UnmodifiableEList",1165),D(328,1165,Tc,N5),h.Yi=function(){return!1},I(cs,"EcoreEList/UnmodifiableEList/FastCompare",328),D(1168,328,Tc,b0t),h.dd=function(t){var n,r,a;if(De(t,179)&&(n=l(t,179),r=n.Lj(),r!=-1)){for(a=this.i;r4)if(this.fk(t)){if(this.al()){if(a=l(t,54),r=a.Eh(),w=r==this.b&&(this.ml()?a.yh(a.Fh(),l(Ln(ol(this.b),this.Lj()).Hk(),29).kk())==jo(l(Ln(ol(this.b),this.Lj()),19)).n:-1-a.Fh()==this.Lj()),this.nl()&&!w&&!r&&a.Jh()){for(o=0;o1||a==-1)):!1},h.ml=function(){var t,n,r;return n=Ln(ol(this.b),this.Lj()),De(n,102)?(t=l(n,19),r=jo(t),!!r):!1},h.nl=function(){var t,n;return n=Ln(ol(this.b),this.Lj()),De(n,102)?(t=l(n,19),(t.Bb&Mo)!=0):!1},h.dd=function(t){var n,r,a,o;if(a=this.zj(t),a>=0)return a;if(this.ol()){for(r=0,o=this.Ej();r=0;--t)mP(this,t,this.xj(t));return this.Fj()},h.Qc=function(t){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)mP(this,n,this.xj(n));return this.Gj(t)},h.Gk=function(){tL(this)},h.Zi=function(t,n){return klt(this,t,n)},I(cs,"DelegatingEcoreEList",756),D(1171,756,DSe,Brt),h.qj=function(t,n){cfn(this,t,l(n,29))},h.rj=function(t){Xln(this,l(t,29))},h.xj=function(t){var n,r;return n=l(Oe(bu(this.a),t),89),r=n.c,De(r,90)?l(r,29):(Tn(),Gf)},h.Cj=function(t){var n,r;return n=l(Uy(bu(this.a),t),89),r=n.c,De(r,90)?l(r,29):(Tn(),Gf)},h.Dj=function(t,n){return s7n(this,t,l(n,29))},h.Li=function(){return!1},h.Ij=function(t,n,r,a,o){return null},h.sj=function(){return new xQe(this)},h.tj=function(){$r(bu(this.a))},h.uj=function(t){return f1t(this,t)},h.vj=function(t){var n,r;for(r=t.Kc();r.Ob();)if(n=r.Pb(),!f1t(this,n))return!1;return!0},h.wj=function(t){var n,r,a;if(De(t,15)&&(a=l(t,15),a.gc()==bu(this.a).i)){for(n=a.Kc(),r=new or(this);n.Ob();)if(qe(n.Pb())!==qe(gr(r)))return!1;return!0}return!1},h.yj=function(){var t,n,r,a,o;for(r=1,n=new or(bu(this.a));n.e!=n.i.gc();)t=l(gr(n),89),a=(o=t.c,De(o,90)?l(o,29):(Tn(),Gf)),r=31*r+(a?gw(a):0);return r},h.zj=function(t){var n,r,a,o;for(a=0,r=new or(bu(this.a));r.e!=r.i.gc();){if(n=l(gr(r),89),qe(t)===qe((o=n.c,De(o,90)?l(o,29):(Tn(),Gf))))return a;++a}return-1},h.Aj=function(){return bu(this.a).i==0},h.Bj=function(){return null},h.Ej=function(){return bu(this.a).i},h.Fj=function(){var t,n,r,a,o,f;for(f=bu(this.a).i,o=We(wa,Rn,1,f,5,1),r=0,n=new or(bu(this.a));n.e!=n.i.gc();)t=l(gr(n),89),o[r++]=(a=t.c,De(a,90)?l(a,29):(Tn(),Gf));return o},h.Gj=function(t){var n,r,a,o,f,g,w;for(w=bu(this.a).i,t.lengthw&&Ss(t,w,null),a=0,r=new or(bu(this.a));r.e!=r.i.gc();)n=l(gr(r),89),f=(g=n.c,De(g,90)?l(g,29):(Tn(),Gf)),Ss(t,a++,f);return t},h.Hj=function(){var t,n,r,a,o;for(o=new Gp,o.a+="[",t=bu(this.a),n=0,a=bu(this.a).i;n>16,o>=0?yue(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,6,r);case 9:return!this.a&&(this.a=new nt(vp,this,9,5)),$u(this.a,t,r)}return f=l(Ln((a=l(Kn(this,16),29),a||(Tn(),em)),n),69),f.wk().zk(this,Yu(this),n-yr((Tn(),em)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Ph(this,null,6,r);case 7:return!this.A&&(this.A=new yl(tl,this,7)),ko(this.A,t,r);case 9:return!this.a&&(this.a=new nt(vp,this,9,5)),ko(this.a,t,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),em)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),em)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Hw(this);case 4:return!!Q7e(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Qk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return tf(this,t-yr((Tn(),em)),Ln((n=l(Kn(this,16),29),n||em),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:RH(this,Zr(n));return;case 2:Wse(this,Zr(n));return;case 5:JE(this,Zr(n));return;case 7:!this.A&&(this.A=new yl(tl,this,7)),$r(this.A),!this.A&&(this.A=new yl(tl,this,7)),Ls(this.A,l(n,16));return;case 8:$V(this,Rt(Bt(n)));return;case 9:!this.a&&(this.a=new nt(vp,this,9,5)),$r(this.a),!this.a&&(this.a=new nt(vp,this,9,5)),Ls(this.a,l(n,16));return}cf(this,t-yr((Tn(),em)),Ln((r=l(Kn(this,16),29),r||em),t),n)},h.ii=function(){return Tn(),em},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),ju(this,null);return;case 2:CE(this,null),lE(this,this.D);return;case 5:JE(this,null);return;case 7:!this.A&&(this.A=new yl(tl,this,7)),$r(this.A);return;case 8:$V(this,!0);return;case 9:!this.a&&(this.a=new nt(vp,this,9,5)),$r(this.a);return}of(this,t-yr((Tn(),em)),Ln((n=l(Kn(this,16),29),n||em),t))},h.pi=function(){var t,n;if(this.a)for(t=0,n=this.a.i;t>16==5?l(this.Cb,685):null}return rf(this,t-yr((Tn(),I2)),Ln((a=l(Kn(this,16),29),a||I2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?cgt(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,5,r)}return f=l(Ln((a=l(Kn(this,16),29),a||(Tn(),I2)),n),69),f.wk().zk(this,Yu(this),n-yr((Tn(),I2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 5:return Ph(this,null,5,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),I2)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),I2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&l(this.Cb,685))}return tf(this,t-yr((Tn(),I2)),Ln((n=l(Kn(this,16),29),n||I2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:ju(this,Zr(n));return;case 2:Joe(this,l(n,17).a);return;case 3:s2t(this,l(n,2039));return;case 4:ece(this,Zr(n));return}cf(this,t-yr((Tn(),I2)),Ln((r=l(Kn(this,16),29),r||I2),t),n)},h.ii=function(){return Tn(),I2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:ju(this,null);return;case 2:Joe(this,0);return;case 3:s2t(this,null);return;case 4:ece(this,null);return}of(this,t-yr((Tn(),I2)),Ln((n=l(Kn(this,16),29),n||I2),t))},h.Ib=function(){var t;return t=this.c,t??this.zb},h.b=null,h.c=null,h.d=0,I(Gn,"EEnumLiteralImpl",582);var FOn=Es(Gn,"EFactoryImpl/InternalEDateTimeFormat");D(499,1,{2114:1},KI),I(Gn,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),D(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},Zv),h.Ch=function(t,n,r){var a;return r=Ph(this,t,n,r),this.e&&De(t,179)&&(a=_U(this,this.e),a!=this.c&&(r=ZE(this,a,r))),r},h.Lh=function(t,n,r){var a;switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new Ws(Wo,this,1)),this.d;case 2:return n?$U(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?fue(this):this.a}return rf(this,t-yr((Tn(),C3)),Ln((a=l(Kn(this,16),29),a||C3),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return Z0t(this,null,r);case 1:return!this.d&&(this.d=new Ws(Wo,this,1)),ko(this.d,t,r);case 3:return e1t(this,null,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),C3)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),C3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return tf(this,t-yr((Tn(),C3)),Ln((n=l(Kn(this,16),29),n||C3),t))},h.bi=function(t,n){var r;switch(t){case 0:_gt(this,l(n,89));return;case 1:!this.d&&(this.d=new Ws(Wo,this,1)),$r(this.d),!this.d&&(this.d=new Ws(Wo,this,1)),Ls(this.d,l(n,16));return;case 3:Lxe(this,l(n,89));return;case 4:Wxe(this,l(n,850));return;case 5:sE(this,l(n,142));return}cf(this,t-yr((Tn(),C3)),Ln((r=l(Kn(this,16),29),r||C3),t),n)},h.ii=function(){return Tn(),C3},h.ki=function(t){var n;switch(t){case 0:_gt(this,null);return;case 1:!this.d&&(this.d=new Ws(Wo,this,1)),$r(this.d);return;case 3:Lxe(this,null);return;case 4:Wxe(this,null);return;case 5:sE(this,null);return}of(this,t-yr((Tn(),C3)),Ln((n=l(Kn(this,16),29),n||C3),t))},h.Ib=function(){var t;return t=new Ch(d0(this)),t.a+=" (expression: ",yle(this,t),t.a+=")",t.a};var MPe;I(Gn,"EGenericTypeImpl",248),D(2067,2062,WG),h.Gi=function(t,n){Ort(this,t,n)},h.Wk=function(t,n){return Ort(this,this.gc(),t),n},h.$i=function(t){return hf(this.pj(),t)},h.Ii=function(){return this.Ji()},h.pj=function(){return new CQe(this)},h.Ji=function(){return this.Ki(0)},h.Ki=function(t){return this.pj().fd(t)},h.Xk=function(t,n){return Py(this,t,!0),n},h.Ti=function(t,n){var r,a;return a=Eue(this,n),r=this.fd(t),r.Rb(a),a},h.Ui=function(t,n){var r;Py(this,n,!0),r=this.fd(t),r.Rb(n)},I(cs,"AbstractSequentialInternalEList",2067),D(496,2067,WG,TO),h.$i=function(t){return hf(this.pj(),t)},h.Ii=function(){return this.b==null?(Yp(),Yp(),dF):this.sl()},h.pj=function(){return new Jtt(this.a,this.b)},h.Ji=function(){return this.b==null?(Yp(),Yp(),dF):this.sl()},h.Ki=function(t){var n,r;if(this.b==null){if(t<0||t>1)throw ue(new nc(CL+t+", size=0"));return Yp(),Yp(),dF}for(r=this.sl(),n=0;n0;)if(n=this.c[--this.d],(!this.e||n.pk()!=oC||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(f=this.b.Nh(n,this.ul()),this.f=(Ro(),l(n,69).xk()),this.f||n.Jk()){if(this.ul()?(a=l(f,15),this.k=a):(a=l(f,71),this.k=this.j=a),De(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?xpt(this,this.p):Ipt(this))return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(f!=null)return this.k=null,this.p=null,r=f,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},h.Pb=function(){return DV(this)},h.Tb=function(){return this.a},h.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw ue(new Lc)},h.Vb=function(){return this.a-1},h.Qb=function(){throw ue(new Qr)},h.ul=function(){return!1},h.Wb=function(t){throw ue(new Qr)},h.vl=function(){return!0},h.a=0,h.d=0,h.f=!1,h.g=0,h.n=0,h.o=0;var dF;I(cs,"EContentsEList/FeatureIteratorImpl",287),D(711,287,YG,jye),h.ul=function(){return!0},I(cs,"EContentsEList/ResolvingFeatureIteratorImpl",711),D(1178,711,YG,vrt),h.vl=function(){return!1},I(Gn,"ENamedElementImpl/1/1",1178),D(1179,287,YG,wrt),h.vl=function(){return!1},I(Gn,"ENamedElementImpl/1/2",1179),D(39,152,YP,Sy,Eoe,_a,Roe,Jg,l0,J6e,Jot,Z6e,Zot,b6e,ect,n7e,tct,m6e,nct,e7e,rct,X_,sN,ioe,t7e,ict,v6e,sct),h.Kj=function(){return P6e(this)},h.Rj=function(){var t;return t=P6e(this),t?t.ik():null},h.hj=function(t){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,t)},h.jj=function(){return this.c},h.Sj=function(){var t;return t=P6e(this),t?t.tk():!1},h.b=-1,I(Gn,"ENotificationImpl",39),D(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},Hie),h.Ah=function(t){return hgt(this,t)},h.Lh=function(t,n,r){var a,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Vn(),!!(this.Bb&256);case 3:return Vn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Vn(),f=this.t,f>1||f==-1;case 7:return Vn(),o=this.s,o>=1;case 8:return n?If(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,29):null;case 11:return!this.d&&(this.d=new yl(tl,this,11)),this.d;case 12:return!this.c&&(this.c=new nt(T3,this,12,10)),this.c;case 13:return!this.a&&(this.a=new LO(this,this)),this.a;case 14:return Ql(this)}return rf(this,t-yr((Tn(),O2)),Ln((a=l(Kn(this,16),29),a||O2),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?hgt(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,10,r);case 12:return!this.c&&(this.c=new nt(T3,this,12,10)),$u(this.c,t,r)}return f=l(Ln((a=l(Kn(this,16),29),a||(Tn(),O2)),n),69),f.wk().zk(this,Yu(this),n-yr((Tn(),O2)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return Hae(this,r);case 10:return Ph(this,null,10,r);case 11:return!this.d&&(this.d=new yl(tl,this,11)),ko(this.d,t,r);case 12:return!this.c&&(this.c=new nt(T3,this,12,10)),ko(this.c,t,r);case 14:return ko(Ql(this),t,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),O2)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),O2)),t,r)},h.Wh=function(t){var n,r,a;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return a=this.t,a>1||a==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&kw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&kw(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&Ql(this.a.a).i!=0&&!(this.b&&lue(this.b));case 14:return!!this.b&&lue(this.b)}return tf(this,t-yr((Tn(),O2)),Ln((n=l(Kn(this,16),29),n||O2),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:ju(this,Zr(n));return;case 2:u2(this,Rt(Bt(n)));return;case 3:l2(this,Rt(Bt(n)));return;case 4:s2(this,l(n,17).a);return;case 5:Dy(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=F1(this,l(n,89),null),a&&a.oj();return;case 11:!this.d&&(this.d=new yl(tl,this,11)),$r(this.d),!this.d&&(this.d=new yl(tl,this,11)),Ls(this.d,l(n,16));return;case 12:!this.c&&(this.c=new nt(T3,this,12,10)),$r(this.c),!this.c&&(this.c=new nt(T3,this,12,10)),Ls(this.c,l(n,16));return;case 13:!this.a&&(this.a=new LO(this,this)),tL(this.a),!this.a&&(this.a=new LO(this,this)),Ls(this.a,l(n,16));return;case 14:$r(Ql(this)),Ls(Ql(this),l(n,16));return}cf(this,t-yr((Tn(),O2)),Ln((r=l(Kn(this,16),29),r||O2),t),n)},h.ii=function(){return Tn(),O2},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:ju(this,null);return;case 2:u2(this,!0);return;case 3:l2(this,!0);return;case 4:s2(this,0);return;case 5:Dy(this,1);return;case 8:Gm(this,null);return;case 9:r=F1(this,null,null),r&&r.oj();return;case 11:!this.d&&(this.d=new yl(tl,this,11)),$r(this.d);return;case 12:!this.c&&(this.c=new nt(T3,this,12,10)),$r(this.c);return;case 13:this.a&&tL(this.a);return;case 14:this.b&&$r(this.b);return}of(this,t-yr((Tn(),O2)),Ln((n=l(Kn(this,16),29),n||O2),t))},h.pi=function(){var t,n;if(this.c)for(t=0,n=this.c.i;tw&&Ss(t,w,null),a=0,r=new or(Ql(this.a));r.e!=r.i.gc();)n=l(gr(r),89),f=(g=n.c,g||(Tn(),J1)),Ss(t,a++,f);return t},h.Hj=function(){var t,n,r,a,o;for(o=new Gp,o.a+="[",t=Ql(this.a),n=0,a=Ql(this.a).i;n1);case 5:return rA(this,t,n,r,a,this.i-l(r,15).gc()>0);default:return new Jg(this.e,t,this.c,n,r,a,!0)}},h.Tj=function(){return!0},h.Qj=function(){return lue(this)},h.Gk=function(){$r(this)},I(Gn,"EOperationImpl/2",1377),D(507,1,{2037:1,507:1},Ptt),I(Gn,"EPackageImpl/1",507),D(14,83,Tc,nt),h.il=function(){return this.d},h.jl=function(){return this.b},h.ml=function(){return!0},h.b=0,I(cs,"EObjectContainmentWithInverseEList",14),D(365,14,Tc,V8),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectContainmentWithInverseEList/Resolving",365),D(308,365,Tc,yy),h.Ni=function(){this.a.tb=null},I(Gn,"EPackageImpl/2",308),D(1278,1,{},tre),I(Gn,"EPackageImpl/3",1278),D(733,45,m6,zwe),h._b=function(t){return Ia(t)?aoe(this,t):!!zo(this.f,t)},I(Gn,"EPackageRegistryImpl",733),D(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},Vie),h.Ah=function(t){return fgt(this,t)},h.Lh=function(t,n,r){var a,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Vn(),!!(this.Bb&256);case 3:return Vn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Vn(),f=this.t,f>1||f==-1;case 7:return Vn(),o=this.s,o>=1;case 8:return n?If(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,62):null}return rf(this,t-yr((Tn(),P4)),Ln((a=l(Kn(this,16),29),a||P4),t),n,r)},h.Sh=function(t,n,r){var a,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$u(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?fgt(this,r):this.Cb.Th(this,-1-o,null,r))),Ph(this,t,10,r)}return f=l(Ln((a=l(Kn(this,16),29),a||(Tn(),P4)),n),69),f.wk().zk(this,Yu(this),n-yr((Tn(),P4)),t,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return Hae(this,r);case 10:return Ph(this,null,10,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),P4)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),P4)),t,r)},h.Wh=function(t){var n,r,a;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return a=this.t,a>1||a==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&kw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&kw(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,62))}return tf(this,t-yr((Tn(),P4)),Ln((n=l(Kn(this,16),29),n||P4),t))},h.ii=function(){return Tn(),P4},I(Gn,"EParameterImpl",518),D(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},Vye),h.Lh=function(t,n,r){var a,o,f,g;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Vn(),!!(this.Bb&256);case 3:return Vn(),!!(this.Bb&512);case 4:return pt(this.s);case 5:return pt(this.t);case 6:return Vn(),g=this.t,g>1||g==-1;case 7:return Vn(),o=this.s,o>=1;case 8:return n?If(this):this.r;case 9:return this.q;case 10:return Vn(),!!(this.Bb&b0);case 11:return Vn(),!!(this.Bb&i4);case 12:return Vn(),!!(this.Bb&Qy);case 13:return this.j;case 14:return UE(this);case 15:return Vn(),!!(this.Bb&Ll);case 16:return Vn(),!!(this.Bb&Td);case 17:return Ey(this);case 18:return Vn(),!!(this.Bb&ru);case 19:return Vn(),f=jo(this),!!(f&&f.Bb&ru);case 20:return Vn(),!!(this.Bb&Mo);case 21:return n?jo(this):this.b;case 22:return n?z7e(this):Lut(this);case 23:return!this.a&&(this.a=new $5(I4,this,23)),this.a}return rf(this,t-yr((Tn(),o7)),Ln((a=l(Kn(this,16),29),a||o7),t),n,r)},h.Wh=function(t){var n,r,a,o;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&kw(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&kw(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&i4)!=0;case 12:return(this.Bb&Qy)!=0;case 13:return this.j!=null;case 14:return UE(this)!=null;case 15:return(this.Bb&Ll)!=0;case 16:return(this.Bb&Td)!=0;case 17:return!!Ey(this);case 18:return(this.Bb&ru)!=0;case 19:return a=jo(this),!!a&&(a.Bb&ru)!=0;case 20:return(this.Bb&Mo)==0;case 21:return!!this.b;case 22:return!!Lut(this);case 23:return!!this.a&&this.a.i!=0}return tf(this,t-yr((Tn(),o7)),Ln((n=l(Kn(this,16),29),n||o7),t))},h.bi=function(t,n){var r,a;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:boe(this,Zr(n));return;case 2:u2(this,Rt(Bt(n)));return;case 3:l2(this,Rt(Bt(n)));return;case 4:s2(this,l(n,17).a);return;case 5:Dy(this,l(n,17).a);return;case 8:Gm(this,l(n,142));return;case 9:a=F1(this,l(n,89),null),a&&a.oj();return;case 10:AE(this,Rt(Bt(n)));return;case 11:DE(this,Rt(Bt(n)));return;case 12:LE(this,Rt(Bt(n)));return;case 13:eye(this,Zr(n));return;case 15:ME(this,Rt(Bt(n)));return;case 16:IE(this,Rt(Bt(n)));return;case 18:D2n(this,Rt(Bt(n)));return;case 20:w8e(this,Rt(Bt(n)));return;case 21:m7e(this,l(n,19));return;case 23:!this.a&&(this.a=new $5(I4,this,23)),$r(this.a),!this.a&&(this.a=new $5(I4,this,23)),Ls(this.a,l(n,16));return}cf(this,t-yr((Tn(),o7)),Ln((r=l(Kn(this,16),29),r||o7),t),n)},h.ii=function(){return Tn(),o7},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&qy(Xl(l(this.Cb,90)),4),ju(this,null);return;case 2:u2(this,!0);return;case 3:l2(this,!0);return;case 4:s2(this,0);return;case 5:Dy(this,1);return;case 8:Gm(this,null);return;case 9:r=F1(this,null,null),r&&r.oj();return;case 10:AE(this,!0);return;case 11:DE(this,!1);return;case 12:LE(this,!1);return;case 13:this.i=null,kV(this,null);return;case 15:ME(this,!1);return;case 16:IE(this,!1);return;case 18:v8e(this,!1),De(this.Cb,90)&&qy(Xl(l(this.Cb,90)),2);return;case 20:w8e(this,!0);return;case 21:m7e(this,null);return;case 23:!this.a&&(this.a=new $5(I4,this,23)),$r(this.a);return}of(this,t-yr((Tn(),o7)),Ln((n=l(Kn(this,16),29),n||o7),t))},h.pi=function(){z7e(this),Wk(sc((Sl(),io),this)),If(this),this.Bb|=1},h.uk=function(){return jo(this)},h._k=function(){var t;return t=jo(this),!!t&&(t.Bb&ru)!=0},h.al=function(){return(this.Bb&ru)!=0},h.bl=function(){return(this.Bb&Mo)!=0},h.Yk=function(t,n){return this.c=null,c8e(this,t,n)},h.Ib=function(){var t;return this.Db&64?FU(this):(t=new _f(FU(this)),t.a+=" (containment: ",Kp(t,(this.Bb&ru)!=0),t.a+=", resolveProxies: ",Kp(t,(this.Bb&Mo)!=0),t.a+=")",t.a)},I(Gn,"EReferenceImpl",102),D(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},OS),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.md=function(){return this.c},h.Hb=function(){return gw(this)},h.Di=function(t){Bdn(this,Zr(t))},h.nd=function(t){return xdn(this,Zr(t))},h.Lh=function(t,n,r){var a;switch(t){case 0:return this.b;case 1:return this.c}return rf(this,t-yr((Tn(),Io)),Ln((a=l(Kn(this,16),29),a||Io),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return this.b!=null;case 1:return this.c!=null}return tf(this,t-yr((Tn(),Io)),Ln((n=l(Kn(this,16),29),n||Io),t))},h.bi=function(t,n){var r;switch(t){case 0:Fdn(this,Zr(n));return;case 1:g7e(this,Zr(n));return}cf(this,t-yr((Tn(),Io)),Ln((r=l(Kn(this,16),29),r||Io),t),n)},h.ii=function(){return Tn(),Io},h.ki=function(t){var n;switch(t){case 0:d7e(this,null);return;case 1:g7e(this,null);return}of(this,t-yr((Tn(),Io)),Ln((n=l(Kn(this,16),29),n||Io),t))},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t==null?0:a2(t)),this.a},h.Ci=function(t){this.a=t},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new _f(d0(this)),t.a+=" (key: ",Qo(t,this.b),t.a+=", value: ",Qo(t,this.c),t.a+=")",t.a)},h.a=-1,h.b=null,h.c=null;var Qc=I(Gn,"EStringToStringMapEntryImpl",561),Z_t=Es(cs,"FeatureMap/Entry/Internal");D(576,1,XG),h.xl=function(t){return this.yl(l(t,54))},h.yl=function(t){return this.xl(t)},h.Fb=function(t){var n,r;return this===t?!0:De(t,76)?(n=l(t,76),n.Lk()==this.c?(r=this.md(),r==null?n.md()==null:Bi(r,n.md())):!1):!1},h.Lk=function(){return this.c},h.Hb=function(){var t;return t=this.md(),Zi(this.c)^(t==null?0:Zi(t))},h.Ib=function(){var t,n;return t=this.c,n=Lh(t.qk()).yi(),t.xe(),(n!=null&&n.length!=0?n+":"+t.xe():t.xe())+"="+this.md()},I(Gn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),D(791,576,XG,Zye),h.yl=function(t){return new Zye(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return y3n(this,t,this.a,n,r)},h.Al=function(t,n,r){return x3n(this,t,this.a,n,r)},I(Gn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),D(1350,1,{},Btt),h.yk=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Yl(this.a).Fk(a)},h.zk=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Pl(this.a,a,o)},h.Ak=function(t,n,r,a,o){var f;return f=l(tE(t,this.b),220),f.Ql(this.a,a,o)},h.Bk=function(t,n,r){var a;return a=l(tE(t,this.b),220),a.Yl(this.a).Qj()},h.Ck=function(t,n,r,a){var o;o=l(tE(t,this.b),220),o.Yl(this.a).Wb(a)},h.Dk=function(t,n,r){return l(tE(t,this.b),220).Yl(this.a)},h.Ek=function(t,n,r){var a;a=l(tE(t,this.b),220),a.Yl(this.a).Gk()},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),D(91,1,{},Qp,Om,Zp,Rm),h.yk=function(t,n,r,a,o){var f;if(f=n.li(r),f==null&&n.mi(r,f=YU(this,t)),!o)switch(this.e){case 50:case 41:return l(f,597).bk();case 40:return l(f,220).Vl()}return f},h.zk=function(t,n,r,a,o){var f,g;return g=n.li(r),g==null&&n.mi(r,g=YU(this,t)),f=l(g,71).Wk(a,o),f},h.Ak=function(t,n,r,a,o){var f;return f=n.li(r),f!=null&&(o=l(f,71).Xk(a,o)),o},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null&&l(a,79).Qj()},h.Ck=function(t,n,r,a){var o;o=l(n.li(r),79),!o&&n.mi(r,o=YU(this,t)),o.Wb(a)},h.Dk=function(t,n,r){var a,o;return o=n.li(r),o==null&&n.mi(r,o=YU(this,t)),De(o,79)?l(o,79):(a=l(n.li(r),15),new EQe(a))},h.Ek=function(t,n,r){var a;a=l(n.li(r),79),!a&&n.mi(r,a=YU(this,t)),a.Gk()},h.b=0,h.e=0,I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),D(512,1,{}),h.zk=function(t,n,r,a,o){throw ue(new Qr)},h.Ak=function(t,n,r,a,o){throw ue(new Qr)},h.Dk=function(t,n,r){return new Nat(this,t,n,r)};var Cg;I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),D(1367,1,s0e,Nat),h.Fk=function(t){return this.a.yk(this.c,this.d,this.b,t,!0)},h.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},h.Wb=function(t){this.a.Ck(this.c,this.d,this.b,t)},h.Gk=function(){this.a.Ek(this.c,this.d,this.b)},h.b=0,I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),D(784,512,{},z5e),h.yk=function(t,n,r,a,o){return ale(t,t.Ph(),t.Fh())==this.b?this.bl()&&a?Gue(t):t.Ph():null},h.zk=function(t,n,r,a,o){var f,g;return t.Ph()&&(o=(f=t.Fh(),f>=0?t.Ah(o):t.Ph().Th(t,-1-f,null,o))),g=vs(t.Dh(),this.e),t.Ch(a,g,o)},h.Ak=function(t,n,r,a,o){var f;return f=vs(t.Dh(),this.e),t.Ch(null,f,o)},h.Bk=function(t,n,r){var a;return a=vs(t.Dh(),this.e),!!t.Ph()&&t.Fh()==a},h.Ck=function(t,n,r,a){var o,f,g,w,E;if(a!=null&&!lle(this.a,a))throw ue(new kk(QG+(De(a,58)?Axe(l(a,58).Dh()):W6e(vh(a)))+JG+this.a+"'"));if(o=t.Ph(),g=vs(t.Dh(),this.e),qe(a)!==qe(o)||t.Fh()!=g&&a!=null){if(FE(t,l(a,58)))throw ue(new Yn(EL+t.Ib()));E=null,o&&(E=(f=t.Fh(),f>=0?t.Ah(E):t.Ph().Th(t,-1-f,null,E))),w=l(a,54),w&&(E=w.Rh(t,vs(w.Dh(),this.b),null,E)),E=t.Ch(w,g,E),E&&E.oj()}else t.vh()&&t.wh()&&Pi(t,new _a(t,1,g,a,a))},h.Ek=function(t,n,r){var a,o,f,g;a=t.Ph(),a?(g=(o=t.Fh(),o>=0?t.Ah(null):t.Ph().Th(t,-1-o,null,null)),f=vs(t.Dh(),this.e),g=t.Ch(null,f,g),g&&g.oj()):t.vh()&&t.wh()&&Pi(t,new X_(t,1,this.e,null,null))},h.bl=function(){return!1},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),D(1351,784,{},Tit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),D(574,512,{}),h.yk=function(t,n,r,a,o){var f;return f=n.li(r),f==null?this.b:qe(f)===qe(Cg)?null:f},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null&&(qe(a)===qe(Cg)||!Bi(a,this.b))},h.Ck=function(t,n,r,a){var o,f;t.vh()&&t.wh()?(o=(f=n.li(r),f==null?this.b:qe(f)===qe(Cg)?null:f),a==null?this.c!=null?(n.mi(r,null),a=this.b):this.b!=null?n.mi(r,Cg):n.mi(r,null):(this.Bl(a),n.mi(r,a)),Pi(t,this.d.Cl(t,1,this.e,o,a))):a==null?this.c!=null?n.mi(r,null):this.b!=null?n.mi(r,Cg):n.mi(r,null):(this.Bl(a),n.mi(r,a))},h.Ek=function(t,n,r){var a,o;t.vh()&&t.wh()?(a=(o=n.li(r),o==null?this.b:qe(o)===qe(Cg)?null:o),n.ni(r),Pi(t,this.d.Cl(t,1,this.e,a,this.b))):n.ni(r)},h.Bl=function(t){throw ue(new NQe)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),D(_6,1,{},NS),h.Cl=function(t,n,r,a,o){return new X_(t,n,r,a,o)},h.Dl=function(t,n,r,a,o,f){return new ioe(t,n,r,a,o,f)};var DPe,IPe,OPe,NPe,PPe,BPe,FPe,spe,RPe;I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",_6),D(1368,_6,{},z0),h.Cl=function(t,n,r,a,o){return new v6e(t,n,r,Rt(Bt(a)),Rt(Bt(o)))},h.Dl=function(t,n,r,a,o,f){return new sct(t,n,r,Rt(Bt(a)),Rt(Bt(o)),f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),D(1369,_6,{},AI),h.Cl=function(t,n,r,a,o){return new J6e(t,n,r,l(a,222).a,l(o,222).a)},h.Dl=function(t,n,r,a,o,f){return new Jot(t,n,r,l(a,222).a,l(o,222).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),D(1370,_6,{},LI),h.Cl=function(t,n,r,a,o){return new Z6e(t,n,r,l(a,180).a,l(o,180).a)},h.Dl=function(t,n,r,a,o,f){return new Zot(t,n,r,l(a,180).a,l(o,180).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),D(1371,_6,{},f8),h.Cl=function(t,n,r,a,o){return new b6e(t,n,r,ze(Ge(a)),ze(Ge(o)))},h.Dl=function(t,n,r,a,o,f){return new ect(t,n,r,ze(Ge(a)),ze(Ge(o)),f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),D(1372,_6,{},nre),h.Cl=function(t,n,r,a,o){return new n7e(t,n,r,l(a,161).a,l(o,161).a)},h.Dl=function(t,n,r,a,o,f){return new tct(t,n,r,l(a,161).a,l(o,161).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),D(1373,_6,{},rre),h.Cl=function(t,n,r,a,o){return new m6e(t,n,r,l(a,17).a,l(o,17).a)},h.Dl=function(t,n,r,a,o,f){return new nct(t,n,r,l(a,17).a,l(o,17).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),D(1374,_6,{},ire),h.Cl=function(t,n,r,a,o){return new e7e(t,n,r,l(a,168).a,l(o,168).a)},h.Dl=function(t,n,r,a,o,f){return new rct(t,n,r,l(a,168).a,l(o,168).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),D(1375,_6,{},sre),h.Cl=function(t,n,r,a,o){return new t7e(t,n,r,l(a,191).a,l(o,191).a)},h.Dl=function(t,n,r,a,o,f){return new ict(t,n,r,l(a,191).a,l(o,191).a,f)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),D(1353,574,{},Pat),h.Bl=function(t){if(!this.a.fk(t))throw ue(new kk(QG+vh(t)+JG+this.a+"'"))},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),D(1354,574,{},kst),h.Bl=function(t){},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),D(785,574,{}),h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null},h.Ck=function(t,n,r,a){var o,f;t.vh()&&t.wh()?(o=!0,f=n.li(r),f==null?(o=!1,f=this.b):qe(f)===qe(Cg)&&(f=null),a==null?this.c!=null?(n.mi(r,null),a=this.b):n.mi(r,Cg):(this.Bl(a),n.mi(r,a)),Pi(t,this.d.Dl(t,1,this.e,f,a,!o))):a==null?this.c!=null?n.mi(r,null):n.mi(r,Cg):(this.Bl(a),n.mi(r,a))},h.Ek=function(t,n,r){var a,o;t.vh()&&t.wh()?(a=!0,o=n.li(r),o==null?(a=!1,o=this.b):qe(o)===qe(Cg)&&(o=null),n.ni(r),Pi(t,this.d.Dl(t,2,this.e,o,this.b,a))):n.ni(r)},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),D(1355,785,{},Bat),h.Bl=function(t){if(!this.a.fk(t))throw ue(new kk(QG+vh(t)+JG+this.a+"'"))},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),D(1356,785,{},Est),h.Bl=function(t){},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),D(410,512,{},uH),h.yk=function(t,n,r,a,o){var f,g,w,E,C;if(C=n.li(r),this.tk()&&qe(C)===qe(Cg))return null;if(this.bl()&&a&&C!=null){if(w=l(C,54),w.Vh()&&(E=xb(t,w),w!=E)){if(!lle(this.a,E))throw ue(new kk(QG+vh(E)+JG+this.a+"'"));n.mi(r,C=E),this.al()&&(f=l(E,54),g=w.Th(t,this.b?vs(w.Dh(),this.b):-1-vs(t.Dh(),this.e),null,null),!f.Ph()&&(g=f.Rh(t,this.b?vs(f.Dh(),this.b):-1-vs(t.Dh(),this.e),null,g)),g&&g.oj()),t.vh()&&t.wh()&&Pi(t,new X_(t,9,this.e,w,E))}return C}else return C},h.zk=function(t,n,r,a,o){var f,g;return g=n.li(r),qe(g)===qe(Cg)&&(g=null),n.mi(r,a),this.Mj()?qe(g)!==qe(a)&&g!=null&&(f=l(g,54),o=f.Th(t,vs(f.Dh(),this.b),null,o)):this.al()&&g!=null&&(o=l(g,54).Th(t,-1-vs(t.Dh(),this.e),null,o)),t.vh()&&t.wh()&&(!o&&(o=new rb(4)),o.nj(new X_(t,1,this.e,g,a))),o},h.Ak=function(t,n,r,a,o){var f;return f=n.li(r),qe(f)===qe(Cg)&&(f=null),n.ni(r),t.vh()&&t.wh()&&(!o&&(o=new rb(4)),this.tk()?o.nj(new X_(t,2,this.e,f,null)):o.nj(new X_(t,1,this.e,f,null))),o},h.Bk=function(t,n,r){var a;return a=n.li(r),a!=null},h.Ck=function(t,n,r,a){var o,f,g,w,E;if(a!=null&&!lle(this.a,a))throw ue(new kk(QG+(De(a,58)?Axe(l(a,58).Dh()):W6e(vh(a)))+JG+this.a+"'"));E=n.li(r),w=E!=null,this.tk()&&qe(E)===qe(Cg)&&(E=null),g=null,this.Mj()?qe(E)!==qe(a)&&(E!=null&&(o=l(E,54),g=o.Th(t,vs(o.Dh(),this.b),null,g)),a!=null&&(o=l(a,54),g=o.Rh(t,vs(o.Dh(),this.b),null,g))):this.al()&&qe(E)!==qe(a)&&(E!=null&&(g=l(E,54).Th(t,-1-vs(t.Dh(),this.e),null,g)),a!=null&&(g=l(a,54).Rh(t,-1-vs(t.Dh(),this.e),null,g))),a==null&&this.tk()?n.mi(r,Cg):n.mi(r,a),t.vh()&&t.wh()?(f=new ioe(t,1,this.e,E,a,this.tk()&&!w),g?(g.nj(f),g.oj()):Pi(t,f)):g&&g.oj()},h.Ek=function(t,n,r){var a,o,f,g,w;w=n.li(r),g=w!=null,this.tk()&&qe(w)===qe(Cg)&&(w=null),f=null,w!=null&&(this.Mj()?(a=l(w,54),f=a.Th(t,vs(a.Dh(),this.b),null,f)):this.al()&&(f=l(w,54).Th(t,-1-vs(t.Dh(),this.e),null,f))),n.ni(r),t.vh()&&t.wh()?(o=new ioe(t,this.tk()?2:1,this.e,w,null,g),f?(f.nj(o),f.oj()):Pi(t,o)):f&&f.oj()},h.Mj=function(){return!1},h.al=function(){return!1},h.bl=function(){return!1},h.tk=function(){return!1},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),D(575,410,{},cae),h.al=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),D(1359,575,{},xrt),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),D(787,575,{},$ye),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),D(1361,787,{},krt),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),D(650,575,{},xae),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),D(1360,650,{},Cit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),D(788,650,{},S4e),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),D(1362,788,{},Sit),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),D(651,410,{},zye),h.bl=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),D(1363,651,{},Ert),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),D(789,651,{},T4e),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),D(1364,789,{},_it),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),D(1357,410,{},Trt),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),D(786,410,{},C4e),h.Mj=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),D(1358,786,{},Ait),h.tk=function(){return!0},I(Gn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),D(790,576,XG,k5e),h.yl=function(t){return new k5e(this.a,this.c,t)},h.md=function(){return this.b},h.zl=function(t,n,r){return vvn(this,t,this.b,r)},h.Al=function(t,n,r){return wvn(this,t,this.b,r)},I(Gn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),D(1365,1,s0e,EQe),h.Fk=function(t){return this.a},h.Qj=function(){return De(this.a,97)?l(this.a,97).Qj():!this.a.dc()},h.Wb=function(t){this.a.$b(),this.a.Gc(l(t,15))},h.Gk=function(){De(this.a,97)?l(this.a,97).Gk():this.a.$b()},I(Gn,"EStructuralFeatureImpl/SettingMany",1365),D(1366,576,XG,Xct),h.xl=function(t){return new hae((Gi(),UM),this.b.ri(this.a,t))},h.md=function(){return null},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Gn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),D(652,576,XG,hae),h.xl=function(t){return new hae(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Gn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),D(403,506,Od,Yd),h.aj=function(t){return We(Hf,Rn,29,t,0,1)},h.Yi=function(){return!1},I(Gn,"ESuperAdapter/1",403),D(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},PS),h.Lh=function(t,n,r){var a;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new G_(this,Wo,this)),this.a}return rf(this,t-yr((Tn(),S3)),Ln((a=l(Kn(this,16),29),a||S3),t),n,r)},h.Uh=function(t,n,r){var a,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 2:return!this.a&&(this.a=new G_(this,Wo,this)),ko(this.a,t,r)}return o=l(Ln((a=l(Kn(this,16),29),a||(Tn(),S3)),n),69),o.wk().Ak(this,Yu(this),n-yr((Tn(),S3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return tf(this,t-yr((Tn(),S3)),Ln((n=l(Kn(this,16),29),n||S3),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:ju(this,Zr(n));return;case 2:!this.a&&(this.a=new G_(this,Wo,this)),$r(this.a),!this.a&&(this.a=new G_(this,Wo,this)),Ls(this.a,l(n,16));return}cf(this,t-yr((Tn(),S3)),Ln((r=l(Kn(this,16),29),r||S3),t),n)},h.ii=function(){return Tn(),S3},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:ju(this,null);return;case 2:!this.a&&(this.a=new G_(this,Wo,this)),$r(this.a);return}of(this,t-yr((Tn(),S3)),Ln((n=l(Kn(this,16),29),n||S3),t))},I(Gn,"ETypeParameterImpl",457),D(458,83,Tc,G_),h.Nj=function(t,n){return Oxn(this,l(t,89),n)},h.Oj=function(t,n){return Nxn(this,l(t,89),n)},I(Gn,"ETypeParameterImpl/1",458),D(647,45,m6,Uie),h.ec=function(){return new Bz(this)},I(Gn,"ETypeParameterImpl/2",647),D(570,j1,_l,Bz),h.Fc=function(t){return Xrt(this,l(t,89))},h.Gc=function(t){var n,r,a;for(a=!1,r=t.Kc();r.Ob();)n=l(r.Pb(),89),Ei(this.a,n,"")==null&&(a=!0);return a},h.$b=function(){Pl(this.a)},h.Hc=function(t){return Uu(this.a,t)},h.Kc=function(){var t;return t=new qm(new Cr(this.a).a),new Fz(t)},h.Mc=function(t){return $ut(this,t)},h.gc=function(){return d_(this.a)},I(Gn,"ETypeParameterImpl/2/1",570),D(571,1,Oa,Fz),h.Nb=function(t){Za(this,t)},h.Pb=function(){return l(Bw(this.a).ld(),89)},h.Ob=function(){return this.a.b},h.Qb=function(){Ylt(this.a)},I(Gn,"ETypeParameterImpl/2/1/1",571),D(1329,45,m6,dJe),h._b=function(t){return Ia(t)?aoe(this,t):!!zo(this.f,t)},h.xc=function(t){var n,r;return n=Ia(t)?Cu(this,t):fc(zo(this.f,t)),De(n,851)?(r=l(n,851),n=r.Kk(),Ei(this,l(t,241),n),n):n??(t==null?(lse(),tAt):null)},I(Gn,"EValidatorRegistryImpl",1329),D(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},d8),h.ri=function(t,n){switch(t.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return n==null?null:Ec(n);case 25:return Mwn(n);case 27:return Vvn(n);case 28:return Uvn(n);case 29:return n==null?null:_nt(jM[0],l(n,206));case 41:return n==null?"":_m(l(n,297));case 42:return Ec(n);case 50:return Zr(n);default:throw ue(new Yn(yT+t.xe()+r3))}},h.si=function(t){var n,r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe;switch(t.G==-1&&(t.G=(z=Lh(t),z?d2(z.vi(),t):-1)),t.G){case 0:return r=new qie,r;case 1:return n=new CI,n;case 2:return a=new fz,a;case 4:return o=new Rz,o;case 5:return f=new fJe,f;case 6:return g=new FQe,g;case 7:return w=new dz,w;case 10:return C=new m5,C;case 11:return L=new Hie,L;case 12:return B=new Vat,B;case 13:return V=new Vie,V;case 14:return J=new Vye,J;case 17:return te=new OS,te;case 18:return E=new Zv,E;case 19:return fe=new PS,fe;default:throw ue(new Yn(Hfe+t.zb+r3))}},h.ti=function(t,n){switch(t.hk()){case 20:return n==null?null:new f3e(n);case 21:return n==null?null:new cb(n);case 23:case 22:return n==null?null:H5n(n);case 26:case 24:return n==null?null:fN(Nh(n,-128,127)<<24>>24);case 25:return cTn(n);case 27:return M7n(n);case 28:return D7n(n);case 29:return e9n(n);case 32:case 31:return n==null?null:$y(n);case 38:case 37:return n==null?null:new Lwe(n);case 40:case 39:return n==null?null:pt(Nh(n,co,Oi));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:sp(WU(n));case 49:case 48:return n==null?null:_E(Nh(n,ZG,32767)<<16>>16);case 50:return n;default:throw ue(new Yn(yT+t.xe()+r3))}},I(Gn,"EcoreFactoryImpl",1349),D(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},gat),h.gb=!1,h.hb=!1;var jPe,eAt=!1;I(Gn,"EcorePackageImpl",560),D(1234,1,{851:1},w1),h.Kk=function(){return $nt(),nAt},I(Gn,"EcorePackageImpl/1",1234),D(1243,1,ki,L$),h.fk=function(t){return De(t,155)},h.gk=function(t){return We(uF,Rn,155,t,0,1)},I(Gn,"EcorePackageImpl/10",1243),D(1244,1,ki,M$),h.fk=function(t){return De(t,197)},h.gk=function(t){return We(Xge,Rn,197,t,0,1)},I(Gn,"EcorePackageImpl/11",1244),D(1245,1,ki,D$),h.fk=function(t){return De(t,58)},h.gk=function(t){return We(Qb,Rn,58,t,0,1)},I(Gn,"EcorePackageImpl/12",1245),D(1246,1,ki,I$),h.fk=function(t){return De(t,411)},h.gk=function(t){return We(Vf,MSe,62,t,0,1)},I(Gn,"EcorePackageImpl/13",1246),D(1247,1,ki,O$),h.fk=function(t){return De(t,241)},h.gk=function(t){return We(o1,Rn,241,t,0,1)},I(Gn,"EcorePackageImpl/14",1247),D(1248,1,ki,N$),h.fk=function(t){return De(t,518)},h.gk=function(t){return We(T3,Rn,2116,t,0,1)},I(Gn,"EcorePackageImpl/15",1248),D(1249,1,ki,q0),h.fk=function(t){return De(t,102)},h.gk=function(t){return We(O4,S6,19,t,0,1)},I(Gn,"EcorePackageImpl/16",1249),D(1250,1,ki,il),h.fk=function(t){return De(t,179)},h.gk=function(t){return We(pl,S6,179,t,0,1)},I(Gn,"EcorePackageImpl/17",1250),D(1251,1,ki,are),h.fk=function(t){return De(t,481)},h.gk=function(t){return We(D4,Rn,481,t,0,1)},I(Gn,"EcorePackageImpl/18",1251),D(1252,1,ki,ore),h.fk=function(t){return De(t,561)},h.gk=function(t){return We(Qc,n5t,561,t,0,1)},I(Gn,"EcorePackageImpl/19",1252),D(1235,1,ki,cre),h.fk=function(t){return De(t,331)},h.gk=function(t){return We(I4,S6,35,t,0,1)},I(Gn,"EcorePackageImpl/2",1235),D(1253,1,ki,sl),h.fk=function(t){return De(t,248)},h.gk=function(t){return We(Wo,w5t,89,t,0,1)},I(Gn,"EcorePackageImpl/20",1253),D(1254,1,ki,BS),h.fk=function(t){return De(t,457)},h.gk=function(t){return We(tl,Rn,850,t,0,1)},I(Gn,"EcorePackageImpl/21",1254),D(1255,1,ki,P$),h.fk=function(t){return fy(t)},h.gk=function(t){return We(Ps,dt,485,t,8,1)},I(Gn,"EcorePackageImpl/22",1255),D(1256,1,ki,B$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Dl,dt,195,t,0,2)},I(Gn,"EcorePackageImpl/23",1256),D(1257,1,ki,g8),h.fk=function(t){return De(t,222)},h.gk=function(t){return We(jx,dt,222,t,0,1)},I(Gn,"EcorePackageImpl/24",1257),D(1258,1,ki,ure),h.fk=function(t){return De(t,180)},h.gk=function(t){return We(PL,dt,180,t,0,1)},I(Gn,"EcorePackageImpl/25",1258),D(1259,1,ki,ak),h.fk=function(t){return De(t,206)},h.gk=function(t){return We(uK,dt,206,t,0,1)},I(Gn,"EcorePackageImpl/26",1259),D(1260,1,ki,lre),h.fk=function(t){return!1},h.gk=function(t){return We(rBe,Rn,2215,t,0,1)},I(Gn,"EcorePackageImpl/27",1260),D(1261,1,ki,F$),h.fk=function(t){return dy(t)},h.gk=function(t){return We(ea,dt,345,t,7,1)},I(Gn,"EcorePackageImpl/28",1261),D(1262,1,ki,hre),h.fk=function(t){return De(t,61)},h.gk=function(t){return We(vPe,Jy,61,t,0,1)},I(Gn,"EcorePackageImpl/29",1262),D(1236,1,ki,fre),h.fk=function(t){return De(t,519)},h.gk=function(t){return We(vi,{3:1,4:1,5:1,2033:1},598,t,0,1)},I(Gn,"EcorePackageImpl/3",1236),D(1263,1,ki,FS),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(xPe,Rn,2039,t,0,1)},I(Gn,"EcorePackageImpl/30",1263),D(1264,1,ki,R$),h.fk=function(t){return De(t,160)},h.gk=function(t){return We(VPe,Jy,160,t,0,1)},I(Gn,"EcorePackageImpl/31",1264),D(1265,1,ki,MI),h.fk=function(t){return De(t,76)},h.gk=function(t){return We(SY,A5t,76,t,0,1)},I(Gn,"EcorePackageImpl/32",1265),D(1266,1,ki,RS),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(_T,dt,161,t,0,1)},I(Gn,"EcorePackageImpl/33",1266),D(1267,1,ki,dre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(Gn,"EcorePackageImpl/34",1267),D(1268,1,ki,gre),h.fk=function(t){return De(t,297)},h.gk=function(t){return We(HSe,Rn,297,t,0,1)},I(Gn,"EcorePackageImpl/35",1268),D(1269,1,ki,DI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(s3,dt,168,t,0,1)},I(Gn,"EcorePackageImpl/36",1269),D(1270,1,ki,jS),h.fk=function(t){return De(t,85)},h.gk=function(t){return We(VSe,Rn,85,t,0,1)},I(Gn,"EcorePackageImpl/37",1270),D(1271,1,ki,y1),h.fk=function(t){return De(t,599)},h.gk=function(t){return We($Pe,Rn,599,t,0,1)},I(Gn,"EcorePackageImpl/38",1271),D(1272,1,ki,ok),h.fk=function(t){return!1},h.gk=function(t){return We(iBe,Rn,2216,t,0,1)},I(Gn,"EcorePackageImpl/39",1272),D(1237,1,ki,pre),h.fk=function(t){return De(t,90)},h.gk=function(t){return We(Hf,Rn,29,t,0,1)},I(Gn,"EcorePackageImpl/4",1237),D(1273,1,ki,ck),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(a3,dt,191,t,0,1)},I(Gn,"EcorePackageImpl/40",1273),D(1274,1,ki,II),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Gn,"EcorePackageImpl/41",1274),D(1275,1,ki,xm),h.fk=function(t){return De(t,596)},h.gk=function(t){return We(yPe,Rn,596,t,0,1)},I(Gn,"EcorePackageImpl/42",1275),D(1276,1,ki,$S),h.fk=function(t){return!1},h.gk=function(t){return We(sBe,dt,2217,t,0,1)},I(Gn,"EcorePackageImpl/43",1276),D(1277,1,ki,OI),h.fk=function(t){return De(t,44)},h.gk=function(t){return We(uv,QU,44,t,0,1)},I(Gn,"EcorePackageImpl/44",1277),D(1238,1,ki,H0),h.fk=function(t){return De(t,142)},h.gk=function(t){return We(c1,Rn,142,t,0,1)},I(Gn,"EcorePackageImpl/5",1238),D(1239,1,ki,zS),h.fk=function(t){return De(t,156)},h.gk=function(t){return We(npe,Rn,156,t,0,1)},I(Gn,"EcorePackageImpl/6",1239),D(1240,1,ki,x1),h.fk=function(t){return De(t,469)},h.gk=function(t){return We(CY,Rn,685,t,0,1)},I(Gn,"EcorePackageImpl/7",1240),D(1241,1,ki,k1),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(vp,Rn,694,t,0,1)},I(Gn,"EcorePackageImpl/8",1241),D(1242,1,ki,bre),h.fk=function(t){return De(t,480)},h.gk=function(t){return We(RM,Rn,480,t,0,1)},I(Gn,"EcorePackageImpl/9",1242),D(1038,2080,t5t,NJe),h.Mi=function(t,n){v4n(this,l(n,424))},h.Qi=function(t,n){Mpt(this,t,l(n,424))},I(Gn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),D(1039,152,YP,iat),h.jj=function(){return this.a.a},I(Gn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),D(1067,1066,{},vnt),I("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var $Pe=Es(L5t,"Resource");D(799,1524,M5t),h.Hl=function(t){},h.Il=function(t){},h.El=function(){return!this.a&&(this.a=new Bie(this)),this.a},h.Fl=function(t){var n,r,a,o,f;if(a=t.length,a>0)if(Xn(0,t.length),t.charCodeAt(0)==47){for(f=new Ru(4),o=1,n=1;n0&&(t=(Ga(0,r,t.length),t.substr(0,r))));return Kkn(this,t)},h.Gl=function(){return this.c},h.Ib=function(){var t;return _m(this.Rm)+"@"+(t=Zi(this)>>>0,t.toString(16))+" uri='"+this.d+"'"},h.b=!1,I(a0e,"ResourceImpl",799),D(1525,799,M5t,TQe),I(a0e,"BinaryResourceImpl",1525),D(1190,708,e0e),h.bj=function(t){return De(t,58)?Rpn(this,l(t,58)):De(t,599)?new or(l(t,599).El()):qe(t)===qe(this.f)?l(t,16).Kc():(Fk(),fF.a)},h.Ob=function(){return k9e(this)},h.a=!1,I(cs,"EcoreUtil/ContentTreeIterator",1190),D(1526,1190,e0e,Nst),h.bj=function(t){return qe(t)===qe(this.f)?l(t,15).Kc():new Dct(l(t,58))},I(a0e,"ResourceImpl/5",1526),D(658,2092,v5t,Bie),h.Hc=function(t){return this.i<=4?jE(this,t):De(t,54)&&l(t,54).Jh()==this.a},h.Mi=function(t,n){t==this.i-1&&(this.a.b||(this.a.b=!0))},h.Oi=function(t,n){t==0?this.a.b||(this.a.b=!0):Poe(this,t,n)},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Lj=function(){return 2},h.jj=function(){return this.a},h.Mj=function(){return!0},h.Nj=function(t,n){var r;return r=l(t,54),n=r.fi(this.a,n),n},h.Oj=function(t,n){var r;return r=l(t,54),r.fi(null,n)},h.Pj=function(){return!1},h.Si=function(){return!0},h.aj=function(t){return We(Qb,Rn,58,t,0,1)},h.Yi=function(){return!1},I(a0e,"ResourceImpl/ContentsEList",658),D(970,2062,iT,CQe),h.fd=function(t){return this.a.Ki(t)},h.gc=function(){return this.a.gc()},I(cs,"AbstractSequentialInternalEList/1",970);var zPe,qPe,io,HPe;D(634,1,{},Bit);var _Y,AY;I(cs,"BasicExtendedMetaData",634),D(1181,1,{},Rtt),h.Jl=function(){return null},h.Kl=function(){return this.a==-2&&Ye(this,Kxn(this.d,this.b)),this.a},h.Ll=function(){return null},h.Ml=function(){return Cn(),Cn(),Co},h.xe=function(){return this.c==ET&&mt(this,edt(this.d,this.b)),this.c},h.Nl=function(){return 0},h.a=-2,h.c=ET,I(cs,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),D(1182,1,{},oct),h.Jl=function(){return this.a==(eE(),_Y)&&Dt(this,GSn(this.f,this.b)),this.a},h.Kl=function(){return 0},h.Ll=function(){return this.c==(eE(),_Y)&&Qe(this,KSn(this.f,this.b)),this.c},h.Ml=function(){return!this.d&&Wt(this,DAn(this.f,this.b)),this.d},h.xe=function(){return this.e==ET&&_n(this,edt(this.f,this.b)),this.e},h.Nl=function(){return this.g==-2&&Yt(this,fxn(this.f,this.b)),this.g},h.e=ET,h.g=-2,I(cs,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),D(1180,1,{},jtt),h.b=!1,h.c=!1,I(cs,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),D(1183,1,{},cct),h.c=-2,h.e=ET,h.f=ET,I(cs,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),D(593,632,Tc,Zq),h.Lj=function(){return this.c},h.ol=function(){return!1},h.Wi=function(t,n){return n},h.c=0,I(cs,"EDataTypeEList",593);var VPe=Es(cs,"FeatureMap");D(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Ms),h.bd=function(t,n){hCn(this,t,l(n,76))},h.Fc=function(t){return LTn(this,l(t,76))},h.Hi=function(t){Pgn(this,l(t,76))},h.Nj=function(t,n){return n0n(this,l(t,76),n)},h.Oj=function(t,n){return g4e(this,l(t,76),n)},h.Ti=function(t,n){return F_n(this,t,n)},h.Wi=function(t,n){return EMn(this,t,l(n,76))},h.hd=function(t,n){return JCn(this,t,l(n,76))},h.Uj=function(t,n){return r0n(this,l(t,76),n)},h.Vj=function(t,n){return hit(this,l(t,76),n)},h.Wj=function(t,n,r){return Z8n(this,l(t,76),l(n,76),r)},h.Zi=function(t,n){return Lue(this,t,l(n,76))},h.Ol=function(t,n){return dke(this,t,n)},h.cd=function(t,n){var r,a,o,f,g,w,E,C,L;for(C=new Dw(n.gc()),o=n.Kc();o.Ob();)if(a=l(o.Pb(),76),f=a.Lk(),cp(this.e,f))(!f.Si()||!HH(this,f,a.md())&&!jE(C,a))&&qr(C,a);else{for(L=Xu(this.e.Dh(),f),r=l(this.g,124),g=!0,w=0;w=0;)if(n=t[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},I(cs,"BasicFeatureMap/FeatureEIterator",420),D(676,420,ug,Gse),h.ul=function(){return!0},I(cs,"BasicFeatureMap/ResolvingFeatureEIterator",676),D(968,496,WG,Ant),h.pj=function(){return this},I(cs,"EContentsEList/1",968),D(969,496,WG,Jtt),h.ul=function(){return!1},I(cs,"EContentsEList/2",969),D(967,287,YG,Lnt),h.wl=function(t){},h.Ob=function(){return!1},h.Sb=function(){return!1},I(cs,"EContentsEList/FeatureIteratorImpl/1",967),D(840,593,Tc,xye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),dh(this.e)?(t=this.a,this.a=!1,Pi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(cs,"EDataTypeEList/Unsettable",840),D(1958,593,Tc,Bnt),h.Si=function(){return!0},I(cs,"EDataTypeUniqueEList",1958),D(1959,840,Tc,Fnt),h.Si=function(){return!0},I(cs,"EDataTypeUniqueEList/Unsettable",1959),D(147,83,Tc,yl),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectContainmentEList/Resolving",147),D(1184,555,Tc,Rnt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectContainmentEList/Unsettable/Resolving",1184),D(766,14,Tc,o4e),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),dh(this.e)?(t=this.a,this.a=!1,Pi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(cs,"EObjectContainmentWithInverseEList/Unsettable",766),D(1222,766,Tc,Qrt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),D(757,505,Tc,kye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),dh(this.e)?(t=this.a,this.a=!1,Pi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(cs,"EObjectEList/Unsettable",757),D(338,505,Tc,$5),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectResolvingEList",338),D(1844,757,Tc,jnt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectResolvingEList/Unsettable",1844),D(1527,1,{},mre);var tAt;I(cs,"EObjectValidator",1527),D(559,505,Tc,bH),h.il=function(){return this.d},h.jl=function(){return this.b},h.Mj=function(){return!0},h.ml=function(){return!0},h.b=0,I(cs,"EObjectWithInverseEList",559),D(1225,559,Tc,Jrt),h.ll=function(){return!0},I(cs,"EObjectWithInverseEList/ManyInverse",1225),D(635,559,Tc,dae),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),dh(this.e)?(t=this.a,this.a=!1,Pi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(cs,"EObjectWithInverseEList/Unsettable",635),D(1224,635,Tc,Zrt),h.ll=function(){return!0},I(cs,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),D(767,559,Tc,c4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectWithInverseResolvingEList",767),D(32,767,Tc,An),h.ll=function(){return!0},I(cs,"EObjectWithInverseResolvingEList/ManyInverse",32),D(768,635,Tc,u4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(cs,"EObjectWithInverseResolvingEList/Unsettable",768),D(1223,768,Tc,eit),h.ll=function(){return!0},I(cs,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),D(1185,632,Tc),h.Li=function(){return(this.b&1792)==0},h.Ni=function(){this.b|=1},h.kl=function(){return(this.b&4)!=0},h.Mj=function(){return(this.b&40)!=0},h.ll=function(){return(this.b&16)!=0},h.ml=function(){return(this.b&8)!=0},h.nl=function(){return(this.b&i4)!=0},h.al=function(){return(this.b&32)!=0},h.ol=function(){return(this.b&b0)!=0},h.fk=function(t){return this.d?$ct(this.d,t):this.Lk().Hk().fk(t)},h.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},h.Si=function(){return(this.b&128)!=0},h.Gk=function(){var t;$r(this),this.b&2&&(dh(this.e)?(t=(this.b&1)!=0,this.b&=-2,xk(this,new l0(this.e,2,vs(this.e.Dh(),this.Lk()),t,!1))):this.b&=-2)},h.Yi=function(){return(this.b&1536)==0},h.b=0,I(cs,"EcoreEList/Generic",1185),D(1186,1185,Tc,Gat),h.Lk=function(){return this.a},I(cs,"EcoreEList/Dynamic",1186),D(765,66,Od,Ewe),h.aj=function(t){return bN(this.a.a,t)},I(cs,"EcoreEMap/1",765),D(764,83,Tc,o5e),h.Mi=function(t,n){cU(this.b,l(n,136))},h.Oi=function(t,n){Hft(this.b)},h.Pi=function(t,n,r){var a;++(a=this.b,l(n,136),a).e},h.Qi=function(t,n){Rce(this.b,l(n,136))},h.Ri=function(t,n,r){Rce(this.b,l(r,136)),qe(r)===qe(n)&&l(r,136).Ci(ehn(l(n,136).ld())),cU(this.b,l(n,136))},I(cs,"EcoreEMap/DelegateEObjectContainmentEList",764),D(1220,141,LSe,aft),I(cs,"EcoreEMap/Unsettable",1220),D(1221,764,Tc,tit),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),dh(this.e)?(t=this.a,this.a=!1,Pi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(cs,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),D(1189,215,m6,Kst),h.a=!1,h.b=!1,I(cs,"EcoreUtil/Copier",1189),D(759,1,Oa,Dct),h.Nb=function(t){Za(this,t)},h.Ob=function(){return j1t(this)},h.Pb=function(){var t;return j1t(this),t=this.b,this.b=null,t},h.Qb=function(){this.a.Qb()},I(cs,"EcoreUtil/ProperContentIterator",759),D(1528,1527,{},gz);var nAt;I(cs,"EcoreValidator",1528);var rAt;Es(cs,"FeatureMapUtil/Validator"),D(1295,1,{2041:1},v5),h.am=function(t){return!0},I(cs,"FeatureMapUtil/1",1295),D(773,1,{2041:1},Hke),h.am=function(t){var n;return this.c==t?!0:(n=Bt(cr(this.a,t)),n==null?ZSn(this,t)?(Dut(this.a,t,(Vn(),ST)),!0):(Dut(this.a,t,(Vn(),Bb)),!1):n==(Vn(),ST))},h.e=!1;var ape;I(cs,"FeatureMapUtil/BasicValidator",773),D(774,45,m6,wye),I(cs,"FeatureMapUtil/BasicValidator/Cache",774),D(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},yO),h.bd=function(t,n){ybt(this.c,this.b,t,n)},h.Fc=function(t){return dke(this.c,this.b,t)},h.cd=function(t,n){return yLn(this.c,this.b,t,n)},h.Gc=function(t){return F_(this,t)},h.Gi=function(t,n){pwn(this.c,this.b,t,n)},h.Wk=function(t,n){return ske(this.c,this.b,t,n)},h.$i=function(t){return HU(this.c,this.b,t,!1)},h.Ii=function(){return lnt(this.c,this.b)},h.Ji=function(){return zln(this.c,this.b)},h.Ki=function(t){return yvn(this.c,this.b,t)},h.Xk=function(t,n){return Nrt(this,t,n)},h.$b=function(){_8(this)},h.Hc=function(t){return HH(this.c,this.b,t)},h.Ic=function(t){return w3n(this.c,this.b,t)},h.Xb=function(t){return HU(this.c,this.b,t,!0)},h.Fk=function(t){return this},h.dd=function(t){return _mn(this.c,this.b,t)},h.dc=function(){return Aq(this)},h.Qj=function(){return!FN(this.c,this.b)},h.Kc=function(){return swn(this.c,this.b)},h.ed=function(){return awn(this.c,this.b)},h.fd=function(t){return F4n(this.c,this.b,t)},h.Ti=function(t,n){return Pmt(this.c,this.b,t,n)},h.Ui=function(t,n){Evn(this.c,this.b,t,n)},h.gd=function(t){return dpt(this.c,this.b,t)},h.Mc=function(t){return k_n(this.c,this.b,t)},h.hd=function(t,n){return Vmt(this.c,this.b,t,n)},h.Wb=function(t){TU(this.c,this.b),F_(this,l(t,15))},h.gc=function(){return B4n(this.c,this.b)},h.Pc=function(){return Lbn(this.c,this.b)},h.Qc=function(t){return Amn(this.c,this.b,t)},h.Ib=function(){var t,n;for(n=new Gp,n.a+="[",t=lnt(this.c,this.b);Ace(t);)Qo(n,j_(sU(t))),Ace(t)&&(n.a+=Eo);return n.a+="]",n.a},h.Gk=function(){TU(this.c,this.b)},I(cs,"FeatureMapUtil/FeatureEList",509),D(644,39,YP,Toe),h.hj=function(t){return SA(this,t)},h.mj=function(t){var n,r,a,o,f,g,w;switch(this.d){case 1:case 2:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0;break}case 3:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=5,n=new Dw(2),qr(n,this.g),qr(n,t.ij()),this.g=n,!0;break}}break}case 5:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return r=l(this.g,16),r.Fc(t.ij()),!0;break}}break}case 4:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=1,this.g=t.ij(),!0;break}case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return this.d=6,w=new Dw(2),qr(w,this.n),qr(w,t.kj()),this.n=w,g=he(le(Vr,1),gi,28,15,[this.o,t.lj()]),this.g=g,!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&SA(this,null)==t.hj(null))return r=l(this.n,16),r.Fc(t.kj()),g=l(this.g,53),a=We(Vr,gi,28,g.length+1,15,1),vu(g,0,a,0,g.length),a[g.length]=t.lj(),this.g=a,!0;break}}break}}return!1},I(cs,"FeatureMapUtil/FeatureENotificationImpl",644),D(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},rH),h.Ol=function(t,n){return dke(this.c,t,n)},h.Pl=function(t,n,r){return ske(this.c,t,n,r)},h.Ql=function(t,n,r){return Dke(this.c,t,n,r)},h.Rl=function(){return this},h.Sl=function(t,n){return pP(this.c,t,n)},h.Tl=function(t){return l(HU(this.c,this.b,t,!1),76).Lk()},h.Ul=function(t){return l(HU(this.c,this.b,t,!1),76).md()},h.Vl=function(){return this.a},h.Wl=function(t){return!FN(this.c,t)},h.Xl=function(t,n){VU(this.c,t,n)},h.Yl=function(t){return uft(this.c,t)},h.Zl=function(t){zdt(this.c,t)},I(cs,"FeatureMapUtil/FeatureFeatureMap",564),D(1294,1,s0e,Ftt),h.Fk=function(t){return HU(this.b,this.a,-1,t)},h.Qj=function(){return!FN(this.b,this.a)},h.Wb=function(t){VU(this.b,this.a,t)},h.Gk=function(){TU(this.b,this.a)},I(cs,"FeatureMapUtil/FeatureValue",1294);var c9,ope,cpe,u9,iAt,gF=Es(rK,"AnyType");D(680,63,up,Zie),I(rK,"InvalidDatatypeValueException",680);var LY=Es(rK,I5t),pF=Es(rK,O5t),UPe=Es(rK,N5t),sAt,iu,GPe,Sv,aAt,oAt,cAt,uAt,lAt,hAt,fAt,dAt,gAt,pAt,bAt,c7,mAt,u7,HM,vAt,_3,bF,mF,wAt,VM,UM;D(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},qwe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ms(this,0)),this.c):(!this.c&&(this.c=new Ms(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ms(this,0)),l(Su(this.c,(Gi(),Sv)),160)):(!this.c&&(this.c=new Ms(this,0)),l(l(Su(this.c,(Gi(),Sv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ms(this,2)),this.b):(!this.b&&(this.b=new Ms(this,2)),this.b.b)}return rf(this,t-yr(this.ii()),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():this.ii(),t),n,r)},h.Uh=function(t,n,r){var a;switch(n){case 0:return!this.c&&(this.c=new Ms(this,0)),hP(this.c,t,r);case 1:return(!this.c&&(this.c=new Ms(this,0)),l(l(Su(this.c,(Gi(),Sv)),160),71)).Xk(t,r);case 2:return!this.b&&(this.b=new Ms(this,2)),hP(this.b,t,r)}return a=l(Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():this.ii(),n),69),a.wk().Ak(this,U6e(this),n-yr(this.ii()),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ms(this,0)),l(Su(this.c,(Gi(),Sv)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return tf(this,t-yr(this.ii()),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():this.ii(),t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$O(this.c,n);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(l(Su(this.c,(Gi(),Sv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ms(this,2)),$O(this.b,n);return}cf(this,t-yr(this.ii()),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():this.ii(),t),n)},h.ii=function(){return Gi(),GPe},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(Su(this.c,(Gi(),Sv)),160)).$b();return;case 2:!this.b&&(this.b=new Ms(this,2)),$r(this.b);return}of(this,t-yr(this.ii()),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():this.ii(),t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new _f(d0(this)),t.a+=" (mixed: ",O_(t,this.c),t.a+=", anyAttribute: ",O_(t,this.b),t.a+=")",t.a)},I(Zs,"AnyTypeImpl",844),D(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},xre),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return rf(this,t-yr((Gi(),c7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():c7,t),n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=null;case 1:return this.b!=null}return tf(this,t-yr((Gi(),c7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():c7,t))},h.bi=function(t,n){switch(t){case 0:vr(this,Zr(n));return;case 1:pr(this,Zr(n));return}cf(this,t-yr((Gi(),c7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():c7,t),n)},h.ii=function(){return Gi(),c7},h.ki=function(t){switch(t){case 0:this.a=null;return;case 1:this.b=null;return}of(this,t-yr((Gi(),c7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():c7,t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new _f(d0(this)),t.a+=" (data: ",Qo(t,this.a),t.a+=", target: ",Qo(t,this.b),t.a+=")",t.a)},h.a=null,h.b=null,I(Zs,"ProcessingInstructionImpl",681),D(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},gJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ms(this,0)),this.c):(!this.c&&(this.c=new Ms(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ms(this,0)),l(Su(this.c,(Gi(),Sv)),160)):(!this.c&&(this.c=new Ms(this,0)),l(l(Su(this.c,(Gi(),Sv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ms(this,2)),this.b):(!this.b&&(this.b=new Ms(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Ms(this,0)),Zr(pP(this.c,(Gi(),HM),!0));case 4:return h4e(this.a,(!this.c&&(this.c=new Ms(this,0)),Zr(pP(this.c,(Gi(),HM),!0))));case 5:return this.a}return rf(this,t-yr((Gi(),u7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():u7,t),n,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ms(this,0)),l(Su(this.c,(Gi(),Sv)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Ms(this,0)),Zr(pP(this.c,(Gi(),HM),!0))!=null;case 4:return h4e(this.a,(!this.c&&(this.c=new Ms(this,0)),Zr(pP(this.c,(Gi(),HM),!0))))!=null;case 5:return!!this.a}return tf(this,t-yr((Gi(),u7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():u7,t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$O(this.c,n);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(l(Su(this.c,(Gi(),Sv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ms(this,2)),$O(this.b,n);return;case 3:Z5e(this,Zr(n));return;case 4:Z5e(this,l4e(this.a,n));return;case 5:Pn(this,l(n,156));return}cf(this,t-yr((Gi(),u7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():u7,t),n)},h.ii=function(){return Gi(),u7},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(Su(this.c,(Gi(),Sv)),160)).$b();return;case 2:!this.b&&(this.b=new Ms(this,2)),$r(this.b);return;case 3:!this.c&&(this.c=new Ms(this,0)),VU(this.c,(Gi(),HM),null);return;case 4:Z5e(this,l4e(this.a,null));return;case 5:this.a=null;return}of(this,t-yr((Gi(),u7)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():u7,t))},I(Zs,"SimpleAnyTypeImpl",682),D(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},pJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.a&&(this.a=new Ms(this,0)),this.a):(!this.a&&(this.a=new Ms(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new Tl((Tn(),Io),Qc,this,1)),this.b):(!this.b&&(this.b=new Tl((Tn(),Io),Qc,this,1)),iN(this.b));case 2:return r?(!this.c&&(this.c=new Tl((Tn(),Io),Qc,this,2)),this.c):(!this.c&&(this.c=new Tl((Tn(),Io),Qc,this,2)),iN(this.c));case 3:return!this.a&&(this.a=new Ms(this,0)),Su(this.a,(Gi(),bF));case 4:return!this.a&&(this.a=new Ms(this,0)),Su(this.a,(Gi(),mF));case 5:return!this.a&&(this.a=new Ms(this,0)),Su(this.a,(Gi(),VM));case 6:return!this.a&&(this.a=new Ms(this,0)),Su(this.a,(Gi(),UM))}return rf(this,t-yr((Gi(),_3)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():_3,t),n,r)},h.Uh=function(t,n,r){var a;switch(n){case 0:return!this.a&&(this.a=new Ms(this,0)),hP(this.a,t,r);case 1:return!this.b&&(this.b=new Tl((Tn(),Io),Qc,this,1)),Gq(this.b,t,r);case 2:return!this.c&&(this.c=new Tl((Tn(),Io),Qc,this,2)),Gq(this.c,t,r);case 5:return!this.a&&(this.a=new Ms(this,0)),Nrt(Su(this.a,(Gi(),VM)),t,r)}return a=l(Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():(Gi(),_3),n),69),a.wk().Ak(this,U6e(this),n-yr((Gi(),_3)),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Ms(this,0)),!Aq(Su(this.a,(Gi(),bF)));case 4:return!this.a&&(this.a=new Ms(this,0)),!Aq(Su(this.a,(Gi(),mF)));case 5:return!this.a&&(this.a=new Ms(this,0)),!Aq(Su(this.a,(Gi(),VM)));case 6:return!this.a&&(this.a=new Ms(this,0)),!Aq(Su(this.a,(Gi(),UM)))}return tf(this,t-yr((Gi(),_3)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():_3,t))},h.bi=function(t,n){switch(t){case 0:!this.a&&(this.a=new Ms(this,0)),$O(this.a,n);return;case 1:!this.b&&(this.b=new Tl((Tn(),Io),Qc,this,1)),AV(this.b,n);return;case 2:!this.c&&(this.c=new Tl((Tn(),Io),Qc,this,2)),AV(this.c,n);return;case 3:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),bF))),!this.a&&(this.a=new Ms(this,0)),F_(Su(this.a,bF),l(n,16));return;case 4:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),mF))),!this.a&&(this.a=new Ms(this,0)),F_(Su(this.a,mF),l(n,16));return;case 5:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),VM))),!this.a&&(this.a=new Ms(this,0)),F_(Su(this.a,VM),l(n,16));return;case 6:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),UM))),!this.a&&(this.a=new Ms(this,0)),F_(Su(this.a,UM),l(n,16));return}cf(this,t-yr((Gi(),_3)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():_3,t),n)},h.ii=function(){return Gi(),_3},h.ki=function(t){switch(t){case 0:!this.a&&(this.a=new Ms(this,0)),$r(this.a);return;case 1:!this.b&&(this.b=new Tl((Tn(),Io),Qc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new Tl((Tn(),Io),Qc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),bF)));return;case 4:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),mF)));return;case 5:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),VM)));return;case 6:!this.a&&(this.a=new Ms(this,0)),_8(Su(this.a,(Gi(),UM)));return}of(this,t-yr((Gi(),_3)),Ln(this.j&2?(!this.k&&(this.k=new Cf),this.k).Nk():_3,t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new _f(d0(this)),t.a+=" (mixed: ",O_(t,this.a),t.a+=")",t.a)},I(Zs,"XMLTypeDocumentRootImpl",683),D(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},uk),h.ri=function(t,n){switch(t.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:Ec(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Zr(n);case 6:return dfn(l(n,195));case 12:case 47:case 49:case 11:return Dvt(this,t,n);case 13:return n==null?null:TLn(l(n,247));case 15:case 14:return n==null?null:Lgn(ze(Ge(n)));case 17:return Agt((Gi(),n));case 18:return Agt(n);case 21:case 20:return n==null?null:Mgn(l(n,161).a);case 27:return gfn(l(n,195));case 30:return qdt((Gi(),l(n,15)));case 31:return qdt(l(n,15));case 40:return bfn((Gi(),n));case 42:return Lgt((Gi(),n));case 43:return Lgt(n);case 59:case 48:return pfn((Gi(),n));default:throw ue(new Yn(yT+t.xe()+r3))}},h.si=function(t){var n,r,a,o,f;switch(t.G==-1&&(t.G=(r=Lh(t),r?d2(r.vi(),t):-1)),t.G){case 0:return n=new qwe,n;case 1:return a=new xre,a;case 2:return o=new gJe,o;case 3:return f=new pJe,f;default:throw ue(new Yn(Hfe+t.zb+r3))}},h.ti=function(t,n){var r,a,o,f,g,w,E,C,L,B,z,V,J,te,fe,Te;switch(t.hk()){case 5:case 52:case 4:return n;case 6:return k6n(n);case 8:case 7:return n==null?null:cxn(n);case 9:return n==null?null:fN(Nh((a=Au(n,!0),a.length>0&&(Xn(0,a.length),a.charCodeAt(0)==43)?(Xn(1,a.length+1),a.substr(1)):a),-128,127)<<24>>24);case 10:return n==null?null:fN(Nh((o=Au(n,!0),o.length>0&&(Xn(0,o.length),o.charCodeAt(0)==43)?(Xn(1,o.length+1),o.substr(1)):o),-128,127)<<24>>24);case 11:return Zr(Yw(this,(Gi(),cAt),n));case 12:return Zr(Yw(this,(Gi(),uAt),n));case 13:return n==null?null:new f3e(Au(n,!0));case 15:case 14:return DTn(n);case 16:return Zr(Yw(this,(Gi(),lAt),n));case 17:return V1t((Gi(),n));case 18:return V1t(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return Au(n,!0);case 21:case 20:return zTn(n);case 22:return Zr(Yw(this,(Gi(),hAt),n));case 23:return Zr(Yw(this,(Gi(),fAt),n));case 24:return Zr(Yw(this,(Gi(),dAt),n));case 25:return Zr(Yw(this,(Gi(),gAt),n));case 26:return Zr(Yw(this,(Gi(),pAt),n));case 27:return l6n(n);case 30:return U1t((Gi(),n));case 31:return U1t(n);case 32:return n==null?null:pt(Nh((L=Au(n,!0),L.length>0&&(Xn(0,L.length),L.charCodeAt(0)==43)?(Xn(1,L.length+1),L.substr(1)):L),co,Oi));case 33:return n==null?null:new cb((B=Au(n,!0),B.length>0&&(Xn(0,B.length),B.charCodeAt(0)==43)?(Xn(1,B.length+1),B.substr(1)):B));case 34:return n==null?null:pt(Nh((z=Au(n,!0),z.length>0&&(Xn(0,z.length),z.charCodeAt(0)==43)?(Xn(1,z.length+1),z.substr(1)):z),co,Oi));case 36:return n==null?null:sp(WU((V=Au(n,!0),V.length>0&&(Xn(0,V.length),V.charCodeAt(0)==43)?(Xn(1,V.length+1),V.substr(1)):V)));case 37:return n==null?null:sp(WU((J=Au(n,!0),J.length>0&&(Xn(0,J.length),J.charCodeAt(0)==43)?(Xn(1,J.length+1),J.substr(1)):J)));case 40:return o7n((Gi(),n));case 42:return G1t((Gi(),n));case 43:return G1t(n);case 44:return n==null?null:new cb((te=Au(n,!0),te.length>0&&(Xn(0,te.length),te.charCodeAt(0)==43)?(Xn(1,te.length+1),te.substr(1)):te));case 45:return n==null?null:new cb((fe=Au(n,!0),fe.length>0&&(Xn(0,fe.length),fe.charCodeAt(0)==43)?(Xn(1,fe.length+1),fe.substr(1)):fe));case 46:return Au(n,!1);case 47:return Zr(Yw(this,(Gi(),bAt),n));case 59:case 48:return a7n((Gi(),n));case 49:return Zr(Yw(this,(Gi(),mAt),n));case 50:return n==null?null:_E(Nh((Te=Au(n,!0),Te.length>0&&(Xn(0,Te.length),Te.charCodeAt(0)==43)?(Xn(1,Te.length+1),Te.substr(1)):Te),ZG,32767)<<16>>16);case 51:return n==null?null:_E(Nh((f=Au(n,!0),f.length>0&&(Xn(0,f.length),f.charCodeAt(0)==43)?(Xn(1,f.length+1),f.substr(1)):f),ZG,32767)<<16>>16);case 53:return Zr(Yw(this,(Gi(),vAt),n));case 55:return n==null?null:_E(Nh((g=Au(n,!0),g.length>0&&(Xn(0,g.length),g.charCodeAt(0)==43)?(Xn(1,g.length+1),g.substr(1)):g),ZG,32767)<<16>>16);case 56:return n==null?null:_E(Nh((w=Au(n,!0),w.length>0&&(Xn(0,w.length),w.charCodeAt(0)==43)?(Xn(1,w.length+1),w.substr(1)):w),ZG,32767)<<16>>16);case 57:return n==null?null:sp(WU((E=Au(n,!0),E.length>0&&(Xn(0,E.length),E.charCodeAt(0)==43)?(Xn(1,E.length+1),E.substr(1)):E)));case 58:return n==null?null:sp(WU((C=Au(n,!0),C.length>0&&(Xn(0,C.length),C.charCodeAt(0)==43)?(Xn(1,C.length+1),C.substr(1)):C)));case 60:return n==null?null:pt(Nh((r=Au(n,!0),r.length>0&&(Xn(0,r.length),r.charCodeAt(0)==43)?(Xn(1,r.length+1),r.substr(1)):r),co,Oi));case 61:return n==null?null:pt(Nh(Au(n,!0),co,Oi));default:throw ue(new Yn(yT+t.xe()+r3))}};var yAt,KPe,xAt,WPe;I(Zs,"XMLTypeFactoryImpl",2028),D(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},pat),h.N=!1,h.O=!1;var kAt=!1;I(Zs,"XMLTypePackageImpl",594),D(1961,1,{851:1},lk),h.Kk=function(){return kke(),DAt},I(Zs,"XMLTypePackageImpl/1",1961),D(1970,1,ki,qS),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/10",1970),D(1971,1,ki,vre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/11",1971),D(1972,1,ki,wre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/12",1972),D(1973,1,ki,p8),h.fk=function(t){return dy(t)},h.gk=function(t){return We(ea,dt,345,t,7,1)},I(Zs,"XMLTypePackageImpl/13",1973),D(1974,1,ki,j$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/14",1974),D(1975,1,ki,$$),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,Jy,15,t,0,1)},I(Zs,"XMLTypePackageImpl/15",1975),D(1976,1,ki,yre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,Jy,15,t,0,1)},I(Zs,"XMLTypePackageImpl/16",1976),D(1977,1,ki,z$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/17",1977),D(1978,1,ki,q$),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(_T,dt,161,t,0,1)},I(Zs,"XMLTypePackageImpl/18",1978),D(1979,1,ki,NI),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/19",1979),D(1962,1,ki,kre),h.fk=function(t){return De(t,857)},h.gk=function(t){return We(gF,Rn,857,t,0,1)},I(Zs,"XMLTypePackageImpl/2",1962),D(1980,1,ki,HS),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/20",1980),D(1981,1,ki,Ere),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/21",1981),D(1982,1,ki,Tre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/22",1982),D(1983,1,ki,Cre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/23",1983),D(1984,1,ki,Sre),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Dl,dt,195,t,0,2)},I(Zs,"XMLTypePackageImpl/24",1984),D(1985,1,ki,_re),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/25",1985),D(1986,1,ki,H$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/26",1986),D(1987,1,ki,Are),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,Jy,15,t,0,1)},I(Zs,"XMLTypePackageImpl/27",1987),D(1988,1,ki,Lre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,Jy,15,t,0,1)},I(Zs,"XMLTypePackageImpl/28",1988),D(1989,1,ki,Mre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/29",1989),D(1963,1,ki,V$),h.fk=function(t){return De(t,681)},h.gk=function(t){return We(LY,Rn,2119,t,0,1)},I(Zs,"XMLTypePackageImpl/3",1963),D(1990,1,ki,Dre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(Zs,"XMLTypePackageImpl/30",1990),D(1991,1,ki,Ire),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/31",1991),D(1992,1,ki,VS),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(s3,dt,168,t,0,1)},I(Zs,"XMLTypePackageImpl/32",1992),D(1993,1,ki,Ore),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/33",1993),D(1994,1,ki,Nre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/34",1994),D(1995,1,ki,Pre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/35",1995),D(1996,1,ki,Bre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/36",1996),D(1997,1,ki,Fre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,Jy,15,t,0,1)},I(Zs,"XMLTypePackageImpl/37",1997),D(1998,1,ki,Rre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,Jy,15,t,0,1)},I(Zs,"XMLTypePackageImpl/38",1998),D(1999,1,ki,U$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/39",1999),D(1964,1,ki,jre),h.fk=function(t){return De(t,682)},h.gk=function(t){return We(pF,Rn,2120,t,0,1)},I(Zs,"XMLTypePackageImpl/4",1964),D(2e3,1,ki,G$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/40",2e3),D(2001,1,ki,$re),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/41",2001),D(2002,1,ki,PI),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/42",2002),D(2003,1,ki,zre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/43",2003),D(2004,1,ki,K$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/44",2004),D(2005,1,ki,qre),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(a3,dt,191,t,0,1)},I(Zs,"XMLTypePackageImpl/45",2005),D(2006,1,ki,W$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/46",2006),D(2007,1,ki,Hre),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/47",2007),D(2008,1,ki,Y$),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/48",2008),D(2009,1,ki,X$),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(a3,dt,191,t,0,1)},I(Zs,"XMLTypePackageImpl/49",2009),D(1965,1,ki,Q$),h.fk=function(t){return De(t,683)},h.gk=function(t){return We(UPe,Rn,2121,t,0,1)},I(Zs,"XMLTypePackageImpl/5",1965),D(2010,1,ki,BI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(s3,dt,168,t,0,1)},I(Zs,"XMLTypePackageImpl/50",2010),D(2011,1,ki,w5),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/51",2011),D(2012,1,ki,US),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(ro,dt,17,t,0,1)},I(Zs,"XMLTypePackageImpl/52",2012),D(1966,1,ki,E1),h.fk=function(t){return Ia(t)},h.gk=function(t){return We(zt,dt,2,t,6,1)},I(Zs,"XMLTypePackageImpl/6",1966),D(1967,1,ki,J$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(Dl,dt,195,t,0,2)},I(Zs,"XMLTypePackageImpl/7",1967),D(1968,1,ki,hk),h.fk=function(t){return fy(t)},h.gk=function(t){return We(Ps,dt,485,t,8,1)},I(Zs,"XMLTypePackageImpl/8",1968),D(1969,1,ki,FI),h.fk=function(t){return De(t,222)},h.gk=function(t){return We(jx,dt,222,t,0,1)},I(Zs,"XMLTypePackageImpl/9",1969);var Z1,P2,GM,MY,ye;D(55,63,up,ni),I(x2,"RegEx/ParseException",55),D(836,1,{},Z$),h.bm=function(t){return tr*16)throw ue(new ni(ai((Jr(),U4t))));r=r*16+o}while(!0);if(this.a!=125)throw ue(new ni(ai((Jr(),G4t))));if(r>TT)throw ue(new ni(ai((Jr(),K4t))));t=r}else{if(o=0,this.c!=0||(o=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(r=o,Mi(this),this.c!=0||(o=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));r=r*16+o,t=r}break;case 117:if(a=0,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=n*16+a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=n*16+a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));n=n*16+a,t=n;break;case 118:if(Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=n*16+a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=n*16+a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=n*16+a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=n*16+a,Mi(this),this.c!=0||(a=Wm(this.a))<0)throw ue(new ni(ai((Jr(),y2))));if(n=n*16+a,n>TT)throw ue(new ni(ai((Jr(),"parser.descappe.4"))));t=n;break;case 65:case 90:case 122:throw ue(new ni(ai((Jr(),W4t))))}return t},h.dm=function(t){var n,r;switch(t){case 100:r=(this.e&32)==32?Ab("Nd",!0):(Ii(),DY);break;case 68:r=(this.e&32)==32?Ab("Nd",!1):(Ii(),eBe);break;case 119:r=(this.e&32)==32?Ab("IsWord",!0):(Ii(),lC);break;case 87:r=(this.e&32)==32?Ab("IsWord",!1):(Ii(),nBe);break;case 115:r=(this.e&32)==32?Ab("IsSpace",!0):(Ii(),l9);break;case 83:r=(this.e&32)==32?Ab("IsSpace",!1):(Ii(),tBe);break;default:throw ue(new Mc((n=t,W5t+n.toString(16))))}return r},h.em=function(t){var n,r,a,o,f,g,w,E,C,L,B,z;for(this.b=1,Mi(this),n=null,this.c==0&&this.a==94?(Mi(this),t?L=(Ii(),Ii(),new Ah(5)):(n=(Ii(),Ii(),new Ah(4)),_u(n,0,TT),L=new Ah(4))):L=(Ii(),Ii(),new Ah(4)),o=!0;(z=this.c)!=1&&!(z==0&&this.a==93&&!o);){if(o=!1,r=this.a,a=!1,z==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:Wy(L,this.dm(r)),a=!0;break;case 105:case 73:case 99:case 67:r=this.um(L,r),r<0&&(a=!0);break;case 112:case 80:if(B=y9e(this,r),!B)throw ue(new ni(ai((Jr(),n0e))));Wy(L,B),a=!0;break;default:r=this.cm()}else if(z==20){if(g=Nk(this.i,58,this.d),g<0)throw ue(new ni(ai((Jr(),ESe))));if(w=!0,ao(this.i,this.d)==94&&(++this.d,w=!1),f=ef(this.i,this.d,g),E=ylt(f,w,(this.e&512)==512),!E)throw ue(new ni(ai((Jr(),$4t))));if(Wy(L,E),a=!0,g+1>=this.j||ao(this.i,g+1)!=93)throw ue(new ni(ai((Jr(),ESe))));this.d=g+2}if(Mi(this),!a)if(this.c!=0||this.a!=45)_u(L,r,r);else{if(Mi(this),(z=this.c)==1)throw ue(new ni(ai((Jr(),GG))));z==0&&this.a==93?(_u(L,r,r),_u(L,45,45)):(C=this.a,z==10&&(C=this.cm()),Mi(this),_u(L,r,C))}(this.e&b0)==b0&&this.c==0&&this.a==44&&Mi(this)}if(this.c==1)throw ue(new ni(ai((Jr(),GG))));return n&&(nL(n,L),L=n),c6(L),eL(L),this.b=0,Mi(this),L},h.fm=function(){var t,n,r,a;for(r=this.em(!1);(a=this.c)!=7;)if(t=this.a,a==0&&(t==45||t==38)||a==4){if(Mi(this),this.c!=9)throw ue(new ni(ai((Jr(),q4t))));if(n=this.em(!1),a==4)Wy(r,n);else if(t==45)nL(r,n);else if(t==38)_vt(r,n);else throw ue(new Mc("ASSERT"))}else throw ue(new ni(ai((Jr(),H4t))));return Mi(this),r},h.gm=function(){var t,n;return t=this.a-48,n=(Ii(),Ii(),new uoe(12,null,t)),!this.g&&(this.g=new $z),jz(this.g,new Twe(t)),Mi(this),n},h.hm=function(){return Mi(this),Ii(),CAt},h.im=function(){return Mi(this),Ii(),TAt},h.jm=function(){throw ue(new ni(ai((Jr(),pf))))},h.km=function(){throw ue(new ni(ai((Jr(),pf))))},h.lm=function(){return Mi(this),Cyn()},h.mm=function(){return Mi(this),Ii(),_At},h.nm=function(){return Mi(this),Ii(),LAt},h.om=function(){var t;if(this.d>=this.j||((t=ao(this.i,this.d++))&65504)!=64)throw ue(new ni(ai((Jr(),F4t))));return Mi(this),Ii(),Ii(),new tg(0,t-64)},h.pm=function(){return Mi(this),AAn()},h.qm=function(){return Mi(this),Ii(),MAt},h.rm=function(){var t;return t=(Ii(),Ii(),new tg(0,105)),Mi(this),t},h.sm=function(){return Mi(this),Ii(),AAt},h.tm=function(){return Mi(this),Ii(),SAt},h.um=function(t,n){return this.cm()},h.vm=function(){return Mi(this),Ii(),JPe},h.wm=function(){var t,n,r,a,o;if(this.d+1>=this.j)throw ue(new ni(ai((Jr(),N4t))));if(a=-1,n=null,t=ao(this.i,this.d),49<=t&&t<=57){if(a=t-48,!this.g&&(this.g=new $z),jz(this.g,new Twe(a)),++this.d,ao(this.i,this.d)!=41)throw ue(new ni(ai((Jr(),ov))));++this.d}else switch(t==63&&--this.d,Mi(this),n=Kke(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw ue(new ni(ai((Jr(),ov))));break;default:throw ue(new ni(ai((Jr(),P4t))))}if(Mi(this),o=zw(this),r=null,o.e==2){if(o.Pm()!=2)throw ue(new ni(ai((Jr(),B4t))));r=o.Lm(1),o=o.Lm(0)}if(this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),Ii(),Ii(),new tht(a,n,o,r)},h.xm=function(){return Mi(this),Ii(),ZPe},h.ym=function(){var t;if(Mi(this),t=mH(24,zw(this)),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),t},h.zm=function(){var t;if(Mi(this),t=mH(20,zw(this)),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),t},h.Am=function(){var t;if(Mi(this),t=mH(22,zw(this)),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),t},h.Bm=function(){var t,n,r,a,o;for(t=0,r=0,n=-1;this.d=this.j)throw ue(new ni(ai((Jr(),xSe))));if(n==45){for(++this.d;this.d=this.j)throw ue(new ni(ai((Jr(),xSe))))}if(n==58){if(++this.d,Mi(this),a=Xst(zw(this),t,r),this.c!=7)throw ue(new ni(ai((Jr(),ov))));Mi(this)}else if(n==41)++this.d,Mi(this),a=Xst(zw(this),t,r);else throw ue(new ni(ai((Jr(),O4t))));return a},h.Cm=function(){var t;if(Mi(this),t=mH(21,zw(this)),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),t},h.Dm=function(){var t;if(Mi(this),t=mH(23,zw(this)),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),t},h.Em=function(){var t,n;if(Mi(this),t=this.f++,n=Fae(zw(this),t),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),n},h.Fm=function(){var t;if(Mi(this),t=Fae(zw(this),0),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),t},h.Gm=function(t){return Mi(this),this.c==5?(Mi(this),cH(t,(Ii(),Ii(),new Cy(9,t)))):cH(t,(Ii(),Ii(),new Cy(3,t)))},h.Hm=function(t){var n;return Mi(this),n=(Ii(),Ii(),new B_(2)),this.c==5?(Mi(this),Qm(n,WM),Qm(n,t)):(Qm(n,t),Qm(n,WM)),n},h.Im=function(t){return Mi(this),this.c==5?(Mi(this),Ii(),Ii(),new Cy(9,t)):(Ii(),Ii(),new Cy(3,t))},h.a=0,h.b=0,h.c=0,h.d=0,h.e=0,h.f=1,h.g=null,h.j=0,I(x2,"RegEx/RegexParser",836),D(1947,836,{},bJe),h.bm=function(t){return!1},h.cm=function(){return tke(this)},h.dm=function(t){return YE(t)},h.em=function(t){return kwt(this)},h.fm=function(){throw ue(new ni(ai((Jr(),pf))))},h.gm=function(){throw ue(new ni(ai((Jr(),pf))))},h.hm=function(){throw ue(new ni(ai((Jr(),pf))))},h.im=function(){throw ue(new ni(ai((Jr(),pf))))},h.jm=function(){return Mi(this),YE(67)},h.km=function(){return Mi(this),YE(73)},h.lm=function(){throw ue(new ni(ai((Jr(),pf))))},h.mm=function(){throw ue(new ni(ai((Jr(),pf))))},h.nm=function(){throw ue(new ni(ai((Jr(),pf))))},h.om=function(){return Mi(this),YE(99)},h.pm=function(){throw ue(new ni(ai((Jr(),pf))))},h.qm=function(){throw ue(new ni(ai((Jr(),pf))))},h.rm=function(){return Mi(this),YE(105)},h.sm=function(){throw ue(new ni(ai((Jr(),pf))))},h.tm=function(){throw ue(new ni(ai((Jr(),pf))))},h.um=function(t,n){return Wy(t,YE(n)),-1},h.vm=function(){return Mi(this),Ii(),Ii(),new tg(0,94)},h.wm=function(){throw ue(new ni(ai((Jr(),pf))))},h.xm=function(){return Mi(this),Ii(),Ii(),new tg(0,36)},h.ym=function(){throw ue(new ni(ai((Jr(),pf))))},h.zm=function(){throw ue(new ni(ai((Jr(),pf))))},h.Am=function(){throw ue(new ni(ai((Jr(),pf))))},h.Bm=function(){throw ue(new ni(ai((Jr(),pf))))},h.Cm=function(){throw ue(new ni(ai((Jr(),pf))))},h.Dm=function(){throw ue(new ni(ai((Jr(),pf))))},h.Em=function(){var t;if(Mi(this),t=Fae(zw(this),0),this.c!=7)throw ue(new ni(ai((Jr(),ov))));return Mi(this),t},h.Fm=function(){throw ue(new ni(ai((Jr(),pf))))},h.Gm=function(t){return Mi(this),cH(t,(Ii(),Ii(),new Cy(3,t)))},h.Hm=function(t){var n;return Mi(this),n=(Ii(),Ii(),new B_(2)),Qm(n,t),Qm(n,WM),n},h.Im=function(t){return Mi(this),Ii(),Ii(),new Cy(3,t)};var l7=null,cC=null;I(x2,"RegEx/ParserForXMLSchema",1947),D(122,1,CT,Jv),h.Jm=function(t){throw ue(new Mc("Not supported."))},h.Km=function(){return-1},h.Lm=function(t){return null},h.Mm=function(){return null},h.Nm=function(t){},h.Om=function(t){},h.Pm=function(){return 0},h.Ib=function(){return this.Qm(0)},h.Qm=function(t){return this.e==11?".":""},h.e=0;var YPe,uC,KM,EAt,XPe,B4=null,DY,upe=null,QPe,WM,lpe=null,JPe,ZPe,eBe,tBe,nBe,TAt,l9,CAt,SAt,_At,AAt,lC,LAt,MAt,ROn=I(x2,"RegEx/Token",122);D(138,122,{3:1,138:1,122:1},Ah),h.Qm=function(t){var n,r,a;if(this.e==4)if(this==QPe)r=".";else if(this==DY)r="\\d";else if(this==lC)r="\\w";else if(this==l9)r="\\s";else{for(a=new Gp,a.a+="[",n=0;n0&&(a.a+=","),this.b[n]===this.b[n+1]?Qo(a,gP(this.b[n])):(Qo(a,gP(this.b[n])),a.a+="-",Qo(a,gP(this.b[n+1])));a.a+="]",r=a.a}else if(this==eBe)r="\\D";else if(this==nBe)r="\\W";else if(this==tBe)r="\\S";else{for(a=new Gp,a.a+="[^",n=0;n0&&(a.a+=","),this.b[n]===this.b[n+1]?Qo(a,gP(this.b[n])):(Qo(a,gP(this.b[n])),a.a+="-",Qo(a,gP(this.b[n+1])));a.a+="]",r=a.a}return r},h.a=!1,h.c=!1,I(x2,"RegEx/RangeToken",138),D(592,1,{592:1},Twe),h.a=0,I(x2,"RegEx/RegexParser/ReferencePosition",592),D(591,1,{3:1,591:1},DZe),h.Fb=function(t){var n;return t==null||!De(t,591)?!1:(n=l(t,591),wn(this.b,n.b)&&this.a==n.a)},h.Hb=function(){return a2(this.b+"/"+W9e(this.a))},h.Ib=function(){return this.c.Qm(this.a)},h.a=0,I(x2,"RegEx/RegularExpression",591),D(228,122,CT,tg),h.Km=function(){return this.a},h.Qm=function(t){var n,r,a;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:a="\\"+fae(this.a&Js);break;case 12:a="\\f";break;case 10:a="\\n";break;case 13:a="\\r";break;case 9:a="\\t";break;case 27:a="\\e";break;default:this.a>=Mo?(r=(n=this.a>>>0,"0"+n.toString(16)),a="\\v"+ef(r,r.length-6,r.length)):a=""+fae(this.a&Js)}break;case 8:this==JPe||this==ZPe?a=""+fae(this.a&Js):a="\\"+fae(this.a&Js);break;default:a=null}return a},h.a=0,I(x2,"RegEx/Token/CharToken",228),D(318,122,CT,Cy),h.Lm=function(t){return this.a},h.Nm=function(t){this.b=t},h.Om=function(t){this.c=t},h.Pm=function(){return 1},h.Qm=function(t){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}";else throw ue(new Mc("Token#toString(): CLOSURE "+this.c+Eo+this.b));else if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*?";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}?";else throw ue(new Mc("Token#toString(): NONGREEDYCLOSURE "+this.c+Eo+this.b));return n},h.b=0,h.c=0,I(x2,"RegEx/Token/ClosureToken",318),D(837,122,CT,d5e),h.Lm=function(t){return t==0?this.a:this.b},h.Pm=function(){return 2},h.Qm=function(t){var n;return this.b.e==3&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+":this.b.e==9&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+?":n=this.a.Qm(t)+(""+this.b.Qm(t)),n},I(x2,"RegEx/Token/ConcatToken",837),D(1945,122,CT,tht),h.Lm=function(t){if(t==0)return this.d;if(t==1)return this.b;throw ue(new Mc("Internal Error: "+t))},h.Pm=function(){return this.b?2:1},h.Qm=function(t){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},h.c=0,I(x2,"RegEx/Token/ConditionToken",1945),D(1946,122,CT,Uot),h.Lm=function(t){return this.b},h.Pm=function(){return 1},h.Qm=function(t){return"(?"+(this.a==0?"":W9e(this.a))+(this.c==0?"":W9e(this.c))+":"+this.b.Qm(t)+")"},h.a=0,h.c=0,I(x2,"RegEx/Token/ModifierToken",1946),D(838,122,CT,E5e),h.Lm=function(t){return this.a},h.Pm=function(){return 1},h.Qm=function(t){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.Qm(t)+")":n="("+this.a.Qm(t)+")";break;case 20:n="(?="+this.a.Qm(t)+")";break;case 21:n="(?!"+this.a.Qm(t)+")";break;case 22:n="(?<="+this.a.Qm(t)+")";break;case 23:n="(?"+this.a.Qm(t)+")"}return n},h.b=0,I(x2,"RegEx/Token/ParenToken",838),D(530,122,{3:1,122:1,530:1},uoe),h.Mm=function(){return this.b},h.Qm=function(t){return this.e==12?"\\"+this.a:yTn(this.b)},h.a=0,I(x2,"RegEx/Token/StringToken",530),D(477,122,CT,B_),h.Jm=function(t){Qm(this,t)},h.Lm=function(t){return l(Ew(this.a,t),122)},h.Pm=function(){return this.a?this.a.a.c.length:0},h.Qm=function(t){var n,r,a,o,f;if(this.e==1){if(this.a.a.c.length==2)n=l(Ew(this.a,0),122),r=l(Ew(this.a,1),122),r.e==3&&r.Lm(0)==n?o=n.Qm(t)+"+":r.e==9&&r.Lm(0)==n?o=n.Qm(t)+"+?":o=n.Qm(t)+(""+r.Qm(t));else{for(f=new Gp,a=0;a=this.c.b:this.a<=this.c.b},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Vb=function(){return this.b-1},h.Qb=function(){throw ue(new Vp(t6t))},h.a=0,h.b=0,I(qSe,"ExclusiveRange/RangeIterator",258);var xf=Gk(KG,"C"),Vr=Gk(LL,"I"),sh=Gk(Cx,"Z"),rm=Gk(ML,"J"),Dl=Gk(SL,"B"),Na=Gk(_L,"D"),F4=Gk(AL,"F"),h7=Gk(DL,"S"),jOn=Es("org.eclipse.elk.core.labels","ILabelManager"),rBe=Es(To,"DiagnosticChain"),iBe=Es(L5t,"ResourceSet"),sBe=I(To,"InvocationTargetException",null),IAt=(Vz(),Zmn),OAt=OAt=V8n;Gwn(qcn),qwn("permProps",[[["locale","default"],[n6t,"gecko1_8"]],[["locale","default"],[n6t,"safari"]]]),OAt(null,"elk",null)}).call(this)}).call(this,typeof _g<"u"?_g:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(u,d,p){function v(A,P){if(!(A instanceof P))throw new TypeError("Cannot call a class as a function")}function b(A,P){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return P&&(typeof P=="object"||typeof P=="function")?P:A}function y(A,P){if(typeof P!="function"&&P!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof P);A.prototype=Object.create(P&&P.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),P&&(Object.setPrototypeOf?Object.setPrototypeOf(A,P):A.__proto__=P)}var T=u("./elk-api.js").default,_=function(A){y(P,A);function P(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};v(this,P);var F=Object.assign({},R),j=!1;try{u.resolve("web-worker"),j=!0}catch{}if(R.workerUrl)if(j){var W=u("web-worker");F.workerFactory=function(oe){return new W(oe)}}else console.warn(`Web worker requested but 'web-worker' package not installed. +Consider installing the package or pass your own 'workerFactory' to ELK's constructor. +... Falling back to non-web worker version.`);if(!F.workerFactory){var ee=u("./elk-worker.min.js"),ie=ee.Worker;F.workerFactory=function(oe){return new ie(oe)}}return b(this,(P.__proto__||Object.getPrototypeOf(P)).call(this,F))}return P}(T);Object.defineProperty(d.exports,"__esModule",{value:!0}),d.exports=_,_.default=_},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(u,d,p){d.exports=Worker},{}]},{},[3])(3)})})(UKe);var _an=UKe.exports;const Aan=hC(_an),GKe=new Aan;let Uv={};const Lan={};let W7={};const Man=async function(i,s,u,d,p,v,b){const T=u.select(`[id="${s}"]`).insert("g").attr("class","nodes"),_=Object.keys(i);return await Promise.all(_.map(async function(A){const P=i[A];let R="default";P.classes.length>0&&(R=P.classes.join(" ")),R=R+" flowchart-label";const F=om(P.styles);let j=P.text!==void 0?P.text:P.id;const W={width:0,height:0},ee=[{id:P.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:P.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:P.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:P.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let ie=0,oe="",be={};switch(P.type){case"round":ie=5,oe="rect";break;case"square":oe="rect";break;case"diamond":oe="question",be={portConstraints:"FIXED_SIDE"};break;case"hexagon":oe="hexagon";break;case"odd":oe="rect_left_inv_arrow";break;case"lean_right":oe="lean_right";break;case"lean_left":oe="lean_left";break;case"trapezoid":oe="trapezoid";break;case"inv_trapezoid":oe="inv_trapezoid";break;case"odd_right":oe="rect_left_inv_arrow";break;case"circle":oe="circle";break;case"ellipse":oe="ellipse";break;case"stadium":oe="stadium";break;case"subroutine":oe="subroutine";break;case"cylinder":oe="cylinder";break;case"group":oe="rect";break;case"doublecircle":oe="doublecircle";break;default:oe="rect"}const ge={labelStyle:F.labelStyle,shape:oe,labelText:j,labelType:P.labelType,rx:ie,ry:ie,class:R,style:F.style,id:P.id,link:P.link,linkTarget:P.linkTarget,tooltip:p.db.getTooltip(P.id)||"",domId:p.db.lookUpDomId(P.id),haveCallback:P.haveCallback,width:P.type==="group"?500:void 0,dir:P.dir,type:P.type,props:P.props,padding:Uh().flowchart.padding};let ae,ne;if(ge.type!=="group")ne=await nJ(T,ge,P.dir),ae=ne.node().getBBox();else{d.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:de,bbox:X}=await f1(T,ge,void 0,!0);W.width=X.width,W.wrappingWidth=Uh().flowchart.wrappingWidth,W.height=X.height,W.labelNode=de.node(),ge.labelData=W}const se={id:P.id,ports:P.type==="diamond"?ee:[],layoutOptions:be,labelText:j,labelData:W,domId:p.db.lookUpDomId(P.id),width:ae==null?void 0:ae.width,height:ae==null?void 0:ae.height,type:P.type,el:ne,parent:v.parentById[P.id]};W7[ge.id]=se})),b},KKe=(i,s,u)=>{const d={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return d.TD=d.TB,d[u][s][i]},WKe=(i,s,u)=>{if(Xe.info("getNextPort",{node:i,edgeDirection:s,graphDirection:u}),!Uv[i])switch(u){case"TB":case"TD":Uv[i]={inPosition:"north",outPosition:"south"};break;case"BT":Uv[i]={inPosition:"south",outPosition:"north"};break;case"RL":Uv[i]={inPosition:"east",outPosition:"west"};break;case"LR":Uv[i]={inPosition:"west",outPosition:"east"};break}const d=s==="in"?Uv[i].inPosition:Uv[i].outPosition;return s==="in"?Uv[i].inPosition=KKe(Uv[i].inPosition,s,u):Uv[i].outPosition=KKe(Uv[i].outPosition,s,u),d},Dan=(i,s)=>{let u=i.start,d=i.end;const p=u,v=d,b=W7[u],y=W7[d];return!b||!y?{source:u,target:d}:(b.type==="diamond"&&(u=`${u}-${WKe(u,"out",s)}`),y.type==="diamond"&&(d=`${d}-${WKe(d,"in",s)}`),{source:u,target:d,sourceId:p,targetId:v})},Ian=function(i,s,u,d){Xe.info("abc78 edges = ",i);const p=d.insert("g").attr("class","edgeLabels");let v={},b=s.db.getDirection(),y,T;if(i.defaultStyle!==void 0){const _=om(i.defaultStyle);y=_.style,T=_.labelStyle}return i.forEach(function(_){const A="L-"+_.start+"-"+_.end;v[A]===void 0?(v[A]=0,Xe.info("abc78 new entry",A,v[A])):(v[A]++,Xe.info("abc78 new entry",A,v[A]));let P=A+"-"+v[A];Xe.info("abc78 new link id to be used is",A,P,v[A]);const R="LS-"+_.start,F="LE-"+_.end,j={style:"",labelStyle:""};switch(j.minlen=_.length||1,_.type==="arrow_open"?j.arrowhead="none":j.arrowhead="normal",j.arrowTypeStart="arrow_open",j.arrowTypeEnd="arrow_open",_.type){case"double_arrow_cross":j.arrowTypeStart="arrow_cross";case"arrow_cross":j.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":j.arrowTypeStart="arrow_point";case"arrow_point":j.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":j.arrowTypeStart="arrow_circle";case"arrow_circle":j.arrowTypeEnd="arrow_circle";break}let W="",ee="";switch(_.stroke){case"normal":W="fill:none;",y!==void 0&&(W=y),T!==void 0&&(ee=T),j.thickness="normal",j.pattern="solid";break;case"dotted":j.thickness="normal",j.pattern="dotted",j.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":j.thickness="thick",j.pattern="solid",j.style="stroke-width: 3.5px;fill:none;";break}if(_.style!==void 0){const ne=om(_.style);W=ne.style,ee=ne.labelStyle}j.style=j.style+=W,j.labelStyle=j.labelStyle+=ee,_.interpolate!==void 0?j.curve=Nv(_.interpolate,xp):i.defaultInterpolate!==void 0?j.curve=Nv(i.defaultInterpolate,xp):j.curve=Nv(Lan.curve,xp),_.text===void 0?_.style!==void 0&&(j.arrowheadStyle="fill: #333"):(j.arrowheadStyle="fill: #333",j.labelpos="c"),j.labelType=_.labelType,j.label=_.text.replace(ci.lineBreakRegex,` +`),_.style===void 0&&(j.style=j.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),j.labelStyle=j.labelStyle.replace("color:","fill:"),j.id=P,j.classes="flowchart-link "+R+" "+F;const ie=qme(p,j),{source:oe,target:be,sourceId:ge,targetId:ae}=Dan(_,b);Xe.debug("abc78 source and target",oe,be),u.edges.push({id:"e"+_.start+_.end,sources:[oe],targets:[be],sourceId:ge,targetId:ae,labelEl:ie,labels:[{width:j.width,height:j.height,orgWidth:j.width,orgHeight:j.height,text:j.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:j})}),u},Oan=function(i,s,u,d,p){let v="";d&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),MUe(i,s,v,p,u)},Nan=function(i,s){return Xe.info("Extracting classes"),s.db.getClasses()},Pan=function(i){const s={parentById:{},childrenById:{}},u=i.getSubGraphs();return Xe.info("Subgraphs - ",u),u.forEach(function(d){d.nodes.forEach(function(p){s.parentById[p]=d.id,s.childrenById[d.id]===void 0&&(s.childrenById[d.id]=[]),s.childrenById[d.id].push(p)})}),u.forEach(function(d){d.id,s.parentById[d.id]!==void 0&&s.parentById[d.id]}),s},Ban=function(i,s,u){const d=San(i,s,u);if(d===void 0||d==="root")return{x:0,y:0};const p=W7[d].offset;return{x:p.posX,y:p.posY}},Fan=function(i,s,u,d,p,v){const b=Ban(s.sourceId,s.targetId,p),y=s.sections[0].startPoint,T=s.sections[0].endPoint,A=(s.sections[0].bendPoints?s.sections[0].bendPoints:[]).map(be=>[be.x+b.x,be.y+b.y]),P=[[y.x+b.x,y.y+b.y],...A,[T.x+b.x,T.y+b.y]],{x:R,y:F}=LUe(s.edgeData),j=k7().x(R).y(F).curve(xp),W=i.insert("path").attr("d",j(P)).attr("class","path "+u.classes).attr("fill","none"),ee=i.insert("g").attr("class","edgeLabel"),ie=Ir(ee.node().appendChild(s.labelEl)),oe=ie.node().firstChild.getBoundingClientRect();ie.attr("width",oe.width),ie.attr("height",oe.height),ee.attr("transform",`translate(${s.labels[0].x+b.x}, ${s.labels[0].y+b.y})`),Oan(W,u,d.type,d.arrowMarkerAbsolute,v)},YKe=(i,s)=>{i.forEach(u=>{u.children||(u.children=[]);const d=s.childrenById[u.id];d&&d.forEach(p=>{u.children.push(W7[p])}),YKe(u.children,s)})},Ran=async function(i,s,u,d){var se;d.db.clear(),W7={},Uv={},d.db.setGen("gen-2"),d.parser.parse(i);const p=Ir("body").append("div").attr("style","height:400px").attr("id","cy");let v={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(Xe.info("Drawing flowchart using v3 renderer",GKe),d.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:y,flowchart:T}=Uh();let _;y==="sandbox"&&(_=Ir("#i"+s));const A=Ir(y==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=y==="sandbox"?_.nodes()[0].contentDocument:document,R=A.select(`[id="${s}"]`);_me(R,["point","circle","cross"],d.type,s);const j=d.db.getVertices();let W;const ee=d.db.getSubGraphs();Xe.info("Subgraphs - ",ee);for(let de=ee.length-1;de>=0;de--)W=ee[de],d.db.addVertex(W.id,{text:W.title,type:W.labelType},"group",void 0,W.classes,W.dir);const ie=R.insert("g").attr("class","subgraphs"),oe=Pan(d.db);v=await Man(j,s,A,P,d,oe,v);const be=R.insert("g").attr("class","edges edgePath"),ge=d.db.getEdges();v=Ian(ge,d,v,R),Object.keys(W7).forEach(de=>{const X=W7[de];X.parent||v.children.push(X),oe.childrenById[de]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),YKe(v.children,oe),Xe.info("after layout",JSON.stringify(v,null,2));const ne=await GKe.layout(v);XKe(0,0,ne.children,R,ie,d,0),Xe.info("after layout",ne),(se=ne.edges)==null||se.map(de=>{Fan(be,de,de.edgeData,d,oe,s)}),y9({},R,T.diagramPadding,T.useMaxWidth),p.remove()},XKe=(i,s,u,d,p,v,b)=>{u.forEach(function(y){if(y)if(W7[y.id].offset={posX:y.x+i,posY:y.y+s,x:i,y:s,depth:b,width:y.width,height:y.height},y.type==="group"){const T=p.insert("g").attr("class","subgraph");T.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",y.x+i).attr("y",y.y+s).attr("width",y.width).attr("height",y.height);const _=T.insert("g").attr("class","label"),A=Uh().flowchart.htmlLabels?y.labelData.width/2:0;_.attr("transform",`translate(${y.labels[0].x+i+y.x+A}, ${y.labels[0].y+s+y.y+3})`),_.node().appendChild(y.labelData.labelNode),Xe.info("Id (UGH)= ",y.type,y.labels)}else Xe.info("Id (UGH)= ",y.id),y.el.attr("transform",`translate(${y.x+i+y.width/2}, ${y.y+s+y.height/2})`)}),u.forEach(function(y){y&&y.type==="group"&&XKe(i+y.x,s+y.y,y.children,d,p,v,b+1)})},jan={getClasses:Nan,draw:Ran},$an=i=>{let s="";for(let u=0;u<5;u++)s+=` + .subgraph-lvl-${u} { + fill: ${i[`surface${u}`]}; + stroke: ${i[`surfacePeer${u}`]}; + } + `;return s},zan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:LUt,renderer:jan,parser:Kbe,styles:i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span { + color: ${i.titleColor}; + } + + .label text,span { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.85; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + .cluster rect { + fill: ${i.clusterBkg}; + stroke: ${i.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } + .subgraph { + stroke-width:2; + rx:3; + } + // .subgraph-lvl-1 { + // fill:#ccc; + // // stroke:black; + // } + + .flowchart-label text { + text-anchor: middle; + } + + ${$an(i)} +`}},Symbol.toStringTag,{value:"Module"}));var Jve=function(){var i=function(R,F,j,W){for(j=j||{},W=R.length;W--;j[R[W]]=F);return j},s=[6,8,10,11,12,14,16,17,20,21],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,16],T=[1,17],_={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(F,j,W,ee,ie,oe,be){var ge=oe.length-1;switch(ie){case 1:return oe[ge-1];case 2:this.$=[];break;case 3:oe[ge-1].push(oe[ge]),this.$=oe[ge-1];break;case 4:case 5:this.$=oe[ge];break;case 6:case 7:this.$=[];break;case 8:ee.getCommonDb().setDiagramTitle(oe[ge].substr(6)),this.$=oe[ge].substr(6);break;case 9:this.$=oe[ge].trim(),ee.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=oe[ge].trim(),ee.getCommonDb().setAccDescription(this.$);break;case 12:ee.addSection(oe[ge].substr(8)),this.$=oe[ge].substr(8);break;case 15:ee.addTask(oe[ge],0,""),this.$=oe[ge];break;case 16:ee.addEvent(oe[ge].substr(2)),this.$=oe[ge];break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:T},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:18,11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:T},i(s,[2,5]),i(s,[2,6]),i(s,[2,8]),{13:[1,19]},{15:[1,20]},i(s,[2,11]),i(s,[2,12]),i(s,[2,13]),i(s,[2,14]),i(s,[2,15]),i(s,[2,16]),i(s,[2,4]),i(s,[2,9]),i(s,[2,10])],defaultActions:{},parseError:function(F,j){if(j.recoverable)this.trace(F);else{var W=new Error(F);throw W.hash=j,W}},parse:function(F){var j=this,W=[0],ee=[],ie=[null],oe=[],be=this.table,ge="",ae=0,ne=0,se=2,de=1,X=oe.slice.call(arguments,1),pe=Object.create(this.lexer),K={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(K.yy[xe]=this.yy[xe]);pe.setInput(F,K.yy),K.yy.lexer=pe,K.yy.parser=this,typeof pe.yylloc>"u"&&(pe.yylloc={});var U=pe.yylloc;oe.push(U);var Be=pe.options&&pe.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(){var Et;return Et=ee.pop()||pe.lex()||de,typeof Et!="number"&&(Et instanceof Array&&(ee=Et,Et=ee.pop()),Et=j.symbols_[Et]||Et),Et}for(var je,Ie,Se,Ce,ke={},Ke,Ft,Pe,gn;;){if(Ie=W[W.length-1],this.defaultActions[Ie]?Se=this.defaultActions[Ie]:((je===null||typeof je>"u")&&(je=Ne()),Se=be[Ie]&&be[Ie][je]),typeof Se>"u"||!Se.length||!Se[0]){var kt="";gn=[];for(Ke in be[Ie])this.terminals_[Ke]&&Ke>se&&gn.push("'"+this.terminals_[Ke]+"'");pe.showPosition?kt="Parse error on line "+(ae+1)+`: +`+pe.showPosition()+` +Expecting `+gn.join(", ")+", got '"+(this.terminals_[je]||je)+"'":kt="Parse error on line "+(ae+1)+": Unexpected "+(je==de?"end of input":"'"+(this.terminals_[je]||je)+"'"),this.parseError(kt,{text:pe.match,token:this.terminals_[je]||je,line:pe.yylineno,loc:U,expected:gn})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ie+", token: "+je);switch(Se[0]){case 1:W.push(je),ie.push(pe.yytext),oe.push(pe.yylloc),W.push(Se[1]),je=null,ne=pe.yyleng,ge=pe.yytext,ae=pe.yylineno,U=pe.yylloc;break;case 2:if(Ft=this.productions_[Se[1]][1],ke.$=ie[ie.length-Ft],ke._$={first_line:oe[oe.length-(Ft||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(Ft||1)].first_column,last_column:oe[oe.length-1].last_column},Be&&(ke._$.range=[oe[oe.length-(Ft||1)].range[0],oe[oe.length-1].range[1]]),Ce=this.performAction.apply(ke,[ge,ne,ae,K.yy,Se[1],ie,oe].concat(X)),typeof Ce<"u")return Ce;Ft&&(W=W.slice(0,-1*Ft*2),ie=ie.slice(0,-1*Ft),oe=oe.slice(0,-1*Ft)),W.push(this.productions_[Se[1]][0]),ie.push(ke.$),oe.push(ke._$),Pe=be[W[W.length-2]][W[W.length-1]],W.push(Pe);break;case 3:return!0}}return!0}},A=function(){var R={EOF:1,parseError:function(j,W){if(this.yy.parser)this.yy.parser.parseError(j,W);else throw new Error(j)},setInput:function(F,j){return this.yy=j||this.yy||{},this._input=F,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var F=this._input[0];this.yytext+=F,this.yyleng++,this.offset++,this.match+=F,this.matched+=F;var j=F.match(/(?:\r\n?|\n).*/g);return j?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),F},unput:function(F){var j=F.length,W=F.split(/(?:\r\n?|\n)/g);this._input=F+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j),this.offset-=j;var ee=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1&&(this.yylineno-=W.length-1);var ie=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===ee.length?this.yylloc.first_column:0)+ee[ee.length-W.length].length-W[0].length:this.yylloc.first_column-j},this.options.ranges&&(this.yylloc.range=[ie[0],ie[0]+this.yyleng-j]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(F){this.unput(this.match.slice(F))},pastInput:function(){var F=this.matched.substr(0,this.matched.length-this.match.length);return(F.length>20?"...":"")+F.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var F=this.match;return F.length<20&&(F+=this._input.substr(0,20-F.length)),(F.substr(0,20)+(F.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var F=this.pastInput(),j=new Array(F.length+1).join("-");return F+this.upcomingInput()+` +`+j+"^"},test_match:function(F,j){var W,ee,ie;if(this.options.backtrack_lexer&&(ie={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ie.yylloc.range=this.yylloc.range.slice(0))),ee=F[0].match(/(?:\r\n?|\n).*/g),ee&&(this.yylineno+=ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ee?ee[ee.length-1].length-ee[ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+F[0].length},this.yytext+=F[0],this.match+=F[0],this.matches=F,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(F[0].length),this.matched+=F[0],W=this.performAction.call(this,this.yy,this,j,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var oe in ie)this[oe]=ie[oe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var F,j,W,ee;this._more||(this.yytext="",this.match="");for(var ie=this._currentRules(),oe=0;oej[0].length)){if(j=W,ee=oe,this.options.backtrack_lexer){if(F=this.test_match(W,ie[oe]),F!==!1)return F;if(this._backtrack){j=!1;continue}else return!1}else if(!this.options.flex)break}return j?(F=this.test_match(j,ie[ee]),F!==!1?F:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var j=this.next();return j||this.lex()},begin:function(j){this.conditionStack.push(j)},popState:function(){var j=this.conditionStack.length-1;return j>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(j){return j=this.conditionStack.length-1-Math.abs(j||0),j>=0?this.conditionStack[j]:"INITIAL"},pushState:function(j){this.begin(j)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(j,W,ee,ie){switch(ee){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return R}();_.lexer=A;function P(){this.yy={}}return P.prototype=_,_.Parser=P,new P}();Jve.parser=Jve;const qan=Jve;let ZD="",QKe=0;const Zve=[],OJ=[],eI=[],JKe=()=>e$e,ZKe=function(){Zve.length=0,OJ.length=0,ZD="",eI.length=0,Ng()},eWe=function(i){ZD=i,Zve.push(i)},tWe=function(){return Zve},nWe=function(){let i=aWe();const s=100;let u=0;for(;!i&&uu.id===QKe-1).events.push(i)},sWe=function(i){const s={section:ZD,type:ZD,description:i,task:i,classes:[]};OJ.push(s)},aWe=function(){const i=function(u){return eI[u].processed};let s=!0;for(const[u,d]of eI.entries())i(u),s=s&&d.processed;return s},Han=Object.freeze(Object.defineProperty({__proto__:null,addEvent:iWe,addSection:eWe,addTask:rWe,addTaskOrg:sWe,clear:ZKe,default:{clear:ZKe,getCommonDb:JKe,addSection:eWe,getSections:tWe,getTasks:nWe,addTask:rWe,addTaskOrg:sWe,addEvent:iWe},getCommonDb:JKe,getSections:tWe,getTasks:nWe},Symbol.toStringTag,{value:"Module"})),Van=12,NJ=function(i,s){const u=i.append("rect");return u.attr("x",s.x),u.attr("y",s.y),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("width",s.width),u.attr("height",s.height),u.attr("rx",s.rx),u.attr("ry",s.ry),s.class!==void 0&&u.attr("class",s.class),u},Uan=function(i,s){const d=i.append("circle").attr("cx",s.cx).attr("cy",s.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",s.cx-15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",s.cx+15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(T){const _=lD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+2)+")")}function b(T){const _=lD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+7)+")")}function y(T){T.append("line").attr("class","mouth").attr("stroke",2).attr("x1",s.cx-5).attr("y1",s.cy+7).attr("x2",s.cx+5).attr("y2",s.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.score>3?v(p):s.score<3?b(p):y(p),d},Gan=function(i,s){const u=i.append("circle");return u.attr("cx",s.cx),u.attr("cy",s.cy),u.attr("class","actor-"+s.pos),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("r",s.r),u.class!==void 0&&u.attr("class",u.class),s.title!==void 0&&u.append("title").text(s.title),u},oWe=function(i,s){const u=s.text.replace(//gi," "),d=i.append("text");d.attr("x",s.x),d.attr("y",s.y),d.attr("class","legend"),d.style("text-anchor",s.anchor),s.class!==void 0&&d.attr("class",s.class);const p=d.append("tspan");return p.attr("x",s.x+s.textMargin*2),p.text(u),d},Kan=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(s.x,s.y,50,20,7)),d.attr("class","labelBox"),s.y=s.y+s.labelMargin,s.x=s.x+.5*s.labelMargin,oWe(i,s)},Wan=function(i,s,u){const d=i.append("g"),p=ewe();p.x=s.x,p.y=s.y,p.fill=s.fill,p.width=u.width,p.height=u.height,p.class="journey-section section-type-"+s.num,p.rx=3,p.ry=3,NJ(d,p),uWe(u)(s.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+s.num},u,s.colour)};let cWe=-1;const Yan=function(i,s,u){const d=s.x+u.width/2,p=i.append("g");cWe++;const v=300+5*30;p.append("line").attr("id","task"+cWe).attr("x1",d).attr("y1",s.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Uan(p,{cx:d,cy:300+(5-s.score)*30,score:s.score});const b=ewe();b.x=s.x,b.y=s.y,b.fill=s.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+s.num,b.rx=3,b.ry=3,NJ(p,b),s.x+14,uWe(u)(s.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,s.colour)},Xan=function(i,s){NJ(i,{x:s.startx,y:s.starty,width:s.stopx-s.startx,height:s.stopy-s.starty,fill:s.fill,class:"rect"}).lower()},Qan=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},ewe=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},uWe=function(){function i(p,v,b,y,T,_,A,P){const R=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function s(p,v,b,y,T,_,A,P,R){const{taskFontSize:F,taskFontFamily:j}=P,W=p.split(//gi);for(let ee=0;ee)/).reverse(),p,v=[],b=1.1,y=u.attr("y"),T=parseFloat(u.attr("dy")),_=u.text(null).append("tspan").attr("x",0).attr("y",y).attr("dy",T+"em");for(let A=0;As||p==="
")&&(v.pop(),_.text(v.join(" ").trim()),p==="
"?v=[""]:v=[p],_=u.append("tspan").attr("x",0).attr("y",y).attr("dy",b+"em").text(p))})}const Zan=function(i,s,u,d){const p=u%Van-1,v=i.append("g");s.section=p,v.attr("class",(s.class?s.class+" ":"")+"timeline-node "+("section-"+p));const b=v.append("g"),y=v.append("g"),_=y.append("text").text(s.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(lWe,s.width).node().getBBox(),A=d.fontSize&&d.fontSize.replace?d.fontSize.replace("px",""):d.fontSize;return s.height=_.height+A*1.1*.5+s.padding,s.height=Math.max(s.height,s.maxHeight),s.width=s.width+2*s.padding,y.attr("transform","translate("+s.width/2+", "+s.padding/2+")"),ton(b,s,p),s},eon=function(i,s,u){const d=i.append("g"),v=d.append("text").text(s.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(lWe,s.width).node().getBBox(),b=u.fontSize&&u.fontSize.replace?u.fontSize.replace("px",""):u.fontSize;return d.remove(),v.height+b*1.1*.5+s.padding},ton=function(i,s,u){i.append("path").attr("id","node-"+s.id).attr("class","node-bkg node-"+s.type).attr("d",`M0 ${s.height-5} v${-s.height+2*5} q0,-5 5,-5 h${s.width-2*5} q5,0 5,5 v${s.height-5} H0 Z`),i.append("line").attr("class","node-line-"+u).attr("x1",0).attr("y1",s.height).attr("x2",s.width).attr("y2",s.height)},sS={drawRect:NJ,drawCircle:Gan,drawSection:Wan,drawText:oWe,drawLabel:Kan,drawTask:Yan,drawBackgroundRect:Xan,getTextObj:Qan,getNoteRect:ewe,initGraphics:Jan,drawNode:Zan,getVirtualNodeHeight:eon},non=function(i,s,u,d){var X,pe;const p=qt(),v=p.leftMargin??50;Xe.debug("timeline",d.db);const b=p.securityLevel;let y;b==="sandbox"&&(y=Ir("#i"+s));const _=Ir(b==="sandbox"?y.nodes()[0].contentDocument.body:"body").select("#"+s);_.append("g");const A=d.db.getTasks(),P=d.db.getCommonDb().getDiagramTitle();Xe.debug("task",A),sS.initGraphics(_);const R=d.db.getSections();Xe.debug("sections",R);let F=0,j=0,W=0,ee=0,ie=50+v,oe=50;ee=50;let be=0,ge=!0;R.forEach(function(K){const xe={number:be,descr:K,section:be,width:150,padding:20,maxHeight:F},U=sS.getVirtualNodeHeight(_,xe,p);Xe.debug("sectionHeight before draw",U),F=Math.max(F,U+20)});let ae=0,ne=0;Xe.debug("tasks.length",A.length);for(const[K,xe]of A.entries()){const U={number:K,descr:xe,section:xe.section,width:150,padding:20,maxHeight:j},Be=sS.getVirtualNodeHeight(_,U,p);Xe.debug("taskHeight before draw",Be),j=Math.max(j,Be+20),ae=Math.max(ae,xe.events.length);let Ne=0;for(let je=0;je0?R.forEach(K=>{const xe=A.filter(je=>je.section===K),U={number:be,descr:K,section:be,width:200*Math.max(xe.length,1)-50,padding:20,maxHeight:F};Xe.debug("sectionNode",U);const Be=_.append("g"),Ne=sS.drawNode(Be,U,be,p);Xe.debug("sectionNode output",Ne),Be.attr("transform",`translate(${ie}, ${ee})`),oe+=F+50,xe.length>0&&hWe(_,xe,be,ie,oe,j,p,ae,ne,F,!1),ie+=200*Math.max(xe.length,1),oe=ee,be++}):(ge=!1,hWe(_,A,be,ie,oe,j,p,ae,ne,F,!0));const se=_.node().getBBox();Xe.debug("bounds",se),P&&_.append("text").text(P).attr("x",se.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),W=ge?F+j+150:j+100,_.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",W).attr("x2",se.width+3*v).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),y9(void 0,_,((X=p.timeline)==null?void 0:X.padding)??50,((pe=p.timeline)==null?void 0:pe.useMaxWidth)??!1)},hWe=function(i,s,u,d,p,v,b,y,T,_,A){var P;for(const R of s){const F={descr:R.task,section:u,number:u,width:150,padding:20,maxHeight:v};Xe.debug("taskNode",F);const j=i.append("g").attr("class","taskWrapper"),ee=sS.drawNode(j,F,u,b).height;if(Xe.debug("taskHeight after draw",ee),j.attr("transform",`translate(${d}, ${p})`),v=Math.max(v,ee),R.events){const ie=i.append("g").attr("class","lineWrapper");let oe=v;p+=100,oe=oe+ron(i,R.events,u,d,p,b),p-=100,ie.append("line").attr("x1",d+190/2).attr("y1",p+v).attr("x2",d+190/2).attr("y2",p+v+(A?v:_)+T+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}d=d+200,A&&!((P=b.timeline)!=null&&P.disableMulticolor)&&u++}p=p-10},ron=function(i,s,u,d,p,v){let b=0;const y=p;p=p+100;for(const T of s){const _={descr:T,section:u,number:u,width:150,padding:20,maxHeight:50};Xe.debug("eventNode",_);const A=i.append("g").attr("class","eventWrapper"),R=sS.drawNode(A,_,u,v).height;b=b+R,A.attr("transform",`translate(${d}, ${p})`),p=p+10+R}return p=y,b},ion={setConf:()=>{},draw:non},son=i=>{let s="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${son(i)} + .section-root rect, .section-root path, .section-root circle { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`}},Symbol.toStringTag,{value:"Module"}));var twe=function(){var i=function(ge,ae,ne,se){for(ne=ne||{},se=ge.length;se--;ne[ge[se]]=ae);return ne},s=[1,4],u=[1,13],d=[1,12],p=[1,15],v=[1,16],b=[1,20],y=[1,19],T=[6,7,8],_=[1,26],A=[1,24],P=[1,25],R=[6,7,11],F=[1,6,13,15,16,19,22],j=[1,33],W=[1,34],ee=[1,6,7,11,13,15,16,19,22],ie={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(ae,ne,se,de,X,pe,K){var xe=pe.length-1;switch(X){case 6:case 7:return de;case 8:de.getLogger().trace("Stop NL ");break;case 9:de.getLogger().trace("Stop EOF ");break;case 11:de.getLogger().trace("Stop NL2 ");break;case 12:de.getLogger().trace("Stop EOF2 ");break;case 15:de.getLogger().info("Node: ",pe[xe].id),de.addNode(pe[xe-1].length,pe[xe].id,pe[xe].descr,pe[xe].type);break;case 16:de.getLogger().trace("Icon: ",pe[xe]),de.decorateNode({icon:pe[xe]});break;case 17:case 21:de.decorateNode({class:pe[xe]});break;case 18:de.getLogger().trace("SPACELIST");break;case 19:de.getLogger().trace("Node: ",pe[xe].id),de.addNode(0,pe[xe].id,pe[xe].descr,pe[xe].type);break;case 20:de.decorateNode({icon:pe[xe]});break;case 25:de.getLogger().trace("node found ..",pe[xe-2]),this.$={id:pe[xe-1],descr:pe[xe-1],type:de.getType(pe[xe-2],pe[xe])};break;case 26:this.$={id:pe[xe],descr:pe[xe],type:de.nodeType.DEFAULT};break;case 27:de.getLogger().trace("node found ..",pe[xe-3]),this.$={id:pe[xe-3],descr:pe[xe-1],type:de.getType(pe[xe-2],pe[xe])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:s},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:s},{6:u,7:[1,10],9:9,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(T,[2,3]),{1:[2,2]},i(T,[2,4]),i(T,[2,5]),{1:[2,6],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:u,9:22,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:_,7:A,10:23,11:P},i(R,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:y}),i(R,[2,18]),i(R,[2,19]),i(R,[2,20]),i(R,[2,21]),i(R,[2,23]),i(R,[2,24]),i(R,[2,26],{19:[1,30]}),{20:[1,31]},{6:_,7:A,10:32,11:P},{1:[2,7],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(F,[2,14],{7:j,11:W}),i(ee,[2,8]),i(ee,[2,9]),i(ee,[2,10]),i(R,[2,15]),i(R,[2,16]),i(R,[2,17]),{20:[1,35]},{21:[1,36]},i(F,[2,13],{7:j,11:W}),i(ee,[2,11]),i(ee,[2,12]),{21:[1,37]},i(R,[2,25]),i(R,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(ae,ne){if(ne.recoverable)this.trace(ae);else{var se=new Error(ae);throw se.hash=ne,se}},parse:function(ae){var ne=this,se=[0],de=[],X=[null],pe=[],K=this.table,xe="",U=0,Be=0,Ne=2,je=1,Ie=pe.slice.call(arguments,1),Se=Object.create(this.lexer),Ce={yy:{}};for(var ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ke)&&(Ce.yy[ke]=this.yy[ke]);Se.setInput(ae,Ce.yy),Ce.yy.lexer=Se,Ce.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ke=Se.yylloc;pe.push(Ke);var Ft=Se.options&&Se.options.ranges;typeof Ce.yy.parseError=="function"?this.parseError=Ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var On;return On=de.pop()||Se.lex()||je,typeof On!="number"&&(On instanceof Array&&(de=On,On=de.pop()),On=ne.symbols_[On]||On),On}for(var gn,kt,Et,Gt,ln={},xt,Pt,Ze,At;;){if(kt=se[se.length-1],this.defaultActions[kt]?Et=this.defaultActions[kt]:((gn===null||typeof gn>"u")&&(gn=Pe()),Et=K[kt]&&K[kt][gn]),typeof Et>"u"||!Et.length||!Et[0]){var Tt="";At=[];for(xt in K[kt])this.terminals_[xt]&&xt>Ne&&At.push("'"+this.terminals_[xt]+"'");Se.showPosition?Tt="Parse error on line "+(U+1)+`: +`+Se.showPosition()+` +Expecting `+At.join(", ")+", got '"+(this.terminals_[gn]||gn)+"'":Tt="Parse error on line "+(U+1)+": Unexpected "+(gn==je?"end of input":"'"+(this.terminals_[gn]||gn)+"'"),this.parseError(Tt,{text:Se.match,token:this.terminals_[gn]||gn,line:Se.yylineno,loc:Ke,expected:At})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+kt+", token: "+gn);switch(Et[0]){case 1:se.push(gn),X.push(Se.yytext),pe.push(Se.yylloc),se.push(Et[1]),gn=null,Be=Se.yyleng,xe=Se.yytext,U=Se.yylineno,Ke=Se.yylloc;break;case 2:if(Pt=this.productions_[Et[1]][1],ln.$=X[X.length-Pt],ln._$={first_line:pe[pe.length-(Pt||1)].first_line,last_line:pe[pe.length-1].last_line,first_column:pe[pe.length-(Pt||1)].first_column,last_column:pe[pe.length-1].last_column},Ft&&(ln._$.range=[pe[pe.length-(Pt||1)].range[0],pe[pe.length-1].range[1]]),Gt=this.performAction.apply(ln,[xe,Be,U,Ce.yy,Et[1],X,pe].concat(Ie)),typeof Gt<"u")return Gt;Pt&&(se=se.slice(0,-1*Pt*2),X=X.slice(0,-1*Pt),pe=pe.slice(0,-1*Pt)),se.push(this.productions_[Et[1]][0]),X.push(ln.$),pe.push(ln._$),Ze=K[se[se.length-2]][se[se.length-1]],se.push(Ze);break;case 3:return!0}}return!0}},oe=function(){var ge={EOF:1,parseError:function(ne,se){if(this.yy.parser)this.yy.parser.parseError(ne,se);else throw new Error(ne)},setInput:function(ae,ne){return this.yy=ne||this.yy||{},this._input=ae,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var ne=ae.match(/(?:\r\n?|\n).*/g);return ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ae},unput:function(ae){var ne=ae.length,se=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var de=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),se.length-1&&(this.yylineno-=se.length-1);var X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===de.length?this.yylloc.first_column:0)+de[de.length-se.length].length-se[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ae){this.unput(this.match.slice(ae))},pastInput:function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ae=this.match;return ae.length<20&&(ae+=this._input.substr(0,20-ae.length)),(ae.substr(0,20)+(ae.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ae=this.pastInput(),ne=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+` +`+ne+"^"},test_match:function(ae,ne){var se,de,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),de=ae[0].match(/(?:\r\n?|\n).*/g),de&&(this.yylineno+=de.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:de?de[de.length-1].length-de[de.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ae[0].length},this.yytext+=ae[0],this.match+=ae[0],this.matches=ae,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ae[0].length),this.matched+=ae[0],se=this.performAction.call(this,this.yy,this,ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var pe in X)this[pe]=X[pe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,ne,se,de;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),pe=0;pene[0].length)){if(ne=se,de=pe,this.options.backtrack_lexer){if(ae=this.test_match(se,X[pe]),ae!==!1)return ae;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(ae=this.test_match(ne,X[de]),ae!==!1?ae:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ne=this.next();return ne||this.lex()},begin:function(ne){this.conditionStack.push(ne)},popState:function(){var ne=this.conditionStack.length-1;return ne>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},pushState:function(ne){this.begin(ne)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ne,se,de,X){switch(de){case 0:return ne.getLogger().trace("Found comment",se.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:ne.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ne.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ne.getLogger().trace("end icon"),this.popState();break;case 10:return ne.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ne.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ne.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ne.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:ne.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ne.getLogger().trace("description:",se.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ne.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ne.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ne.getLogger().trace("node end ...",se.yytext),"NODE_DEND";case 30:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 35:return ne.getLogger().trace("Long description:",se.yytext),20;case 36:return ne.getLogger().trace("Long description:",se.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return ge}();ie.lexer=oe;function be(){this.yy={}}return be.prototype=ie,ie.Parser=be,new be}();twe.parser=twe;const oon=twe;let W3=[],fWe=0,nwe={};const con=()=>{W3=[],fWe=0,nwe={}},uon=function(i){for(let s=W3.length-1;s>=0;s--)if(W3[s].levelW3.length>0?W3[0]:null,hon=(i,s,u,d)=>{var T,_;Xe.info("addNode",i,s,u,d);const p=qt();let v=((T=p.mindmap)==null?void 0:T.padding)??ah.mindmap.padding;switch(d){case b1.ROUNDED_RECT:case b1.RECT:case b1.HEXAGON:v*=2}const b={id:fWe++,nodeId:Wf(s,p),level:i,descr:Wf(u,p),type:d,children:[],width:((_=p.mindmap)==null?void 0:_.maxNodeWidth)??ah.mindmap.maxNodeWidth,padding:v},y=uon(i);if(y)y.children.push(b),W3.push(b);else if(W3.length===0)W3.push(b);else throw new Error('There can be only one root. No parent could be found for ("'+b.descr+'")')},b1={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},fon={clear:con,addNode:hon,getMindmap:lon,nodeType:b1,getType:(i,s)=>{switch(Xe.debug("In get type",i,s),i){case"[":return b1.RECT;case"(":return s===")"?b1.ROUNDED_RECT:b1.CLOUD;case"((":return b1.CIRCLE;case")":return b1.CLOUD;case"))":return b1.BANG;case"{{":return b1.HEXAGON;default:return b1.DEFAULT}},setElementForId:(i,s)=>{nwe[i]=s},decorateNode:i=>{if(!i)return;const s=qt(),u=W3[W3.length-1];i.icon&&(u.icon=Wf(i.icon,s)),i.class&&(u.class=Wf(i.class,s))},type2Str:i=>{switch(i){case b1.DEFAULT:return"no-border";case b1.RECT:return"rect";case b1.ROUNDED_RECT:return"rounded-rect";case b1.CIRCLE:return"circle";case b1.CLOUD:return"cloud";case b1.BANG:return"bang";case b1.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>Xe,getElementById:i=>nwe[i]};var dWe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(_g,function(){function u(x){"@babel/helpers - typeof";return u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},u(x)}function d(x,m){if(!(x instanceof m))throw new TypeError("Cannot call a class as a function")}function p(x,m){for(var k=0;kx.length)&&(m=x.length);for(var k=0,S=new Array(m);k"u"?null:window,j=F?F.navigator:null;F&&F.document;var W=u(""),ee=u({}),ie=u(function(){}),oe=typeof HTMLElement>"u"?"undefined":u(HTMLElement),be=function(m){return m&&m.instanceString&&ae(m.instanceString)?m.instanceString():null},ge=function(m){return m!=null&&u(m)==W},ae=function(m){return m!=null&&u(m)===ie},ne=function(m){return!xe(m)&&(Array.isArray?Array.isArray(m):m!=null&&m instanceof Array)},se=function(m){return m!=null&&u(m)===ee&&!ne(m)&&m.constructor===Object},de=function(m){return m!=null&&u(m)===ee},X=function(m){return m!=null&&u(m)===u(1)&&!isNaN(m)},pe=function(m){return X(m)&&Math.floor(m)===m},K=function(m){if(oe!=="undefined")return m!=null&&m instanceof HTMLElement},xe=function(m){return U(m)||Be(m)},U=function(m){return be(m)==="collection"&&m._private.single},Be=function(m){return be(m)==="collection"&&!m._private.single},Ne=function(m){return be(m)==="core"},je=function(m){return be(m)==="stylesheet"},Ie=function(m){return be(m)==="event"},Se=function(m){return m==null?!0:!!(m===""||m.match(/^\s+$/))},Ce=function(m){return typeof HTMLElement>"u"?!1:m instanceof HTMLElement},ke=function(m){return se(m)&&X(m.x1)&&X(m.x2)&&X(m.y1)&&X(m.y2)},Ke=function(m){return de(m)&&ae(m.then)},Ft=function(){return j&&j.userAgent.match(/msie|trident|edge/i)},Pe=function(m,k){k||(k=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],N=0;Nk?1:0},zr=function(m,k){return-1*ht(m,k)},yt=Object.assign!=null?Object.assign.bind(Object):function(x){for(var m=arguments,k=1;k1&&(_e-=1),_e<1/6?me+(Le-me)*6*_e:_e<1/2?Le:_e<2/3?me+(Le-me)*(2/3-_e)*6:me}var Z=new RegExp("^"+Ze+"$").exec(m);if(Z){if(S=parseInt(Z[1]),S<0?S=(360- -1*S%360)%360:S>360&&(S=S%360),S/=360,M=parseFloat(Z[2]),M<0||M>100||(M=M/100,O=parseFloat(Z[3]),O<0||O>100)||(O=O/100,N=Z[4],N!==void 0&&(N=parseFloat(N),N<0||N>1)))return;if(M===0)$=H=q=Math.round(O*255);else{var ce=O<.5?O*(1+M):O+M-O*M,ve=2*O-ce;$=Math.round(255*Y(ve,ce,S+1/3)),H=Math.round(255*Y(ve,ce,S)),q=Math.round(255*Y(ve,ce,S-1/3))}k=[$,H,q,N]}return k},Pa=function(m){var k,S=new RegExp("^"+xt+"$").exec(m);if(S){k=[];for(var M=[],O=1;O<=3;O++){var N=S[O];if(N[N.length-1]==="%"&&(M[O]=!0),N=parseFloat(N),M[O]&&(N=N/100*255),N<0||N>255)return;k.push(Math.floor(N))}var $=M[1]||M[2]||M[3],H=M[1]&&M[2]&&M[3];if($&&!H)return;var q=S[4];if(q!==void 0){if(q=parseFloat(q),q<0||q>1)return;k.push(q)}}return k},ta=function(m){return Ar[m.toLowerCase()]},$o=function(m){return(ne(m)?m:null)||ta(m)||Fi(m)||Pa(m)||yi(m)},Ar={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Nn=function(m){for(var k=m.map,S=m.keys,M=S.length,O=0;O=m||Ye<0||Z&&mt>=O}function Ee(){var st=No();if(_e(st))return Fe(st);$=setTimeout(Ee,Le(st))}function Fe(st){return $=void 0,ce&&S?ve(st):(S=M=void 0,N)}function Re(){$!==void 0&&clearTimeout($),q=0,S=H=M=$=void 0}function Ve(){return $===void 0?N:Fe(No())}function ct(){var st=No(),Ye=_e(st);if(S=arguments,M=this,H=st,Ye){if($===void 0)return me(H);if(Z)return clearTimeout($),$=setTimeout(Ee,m),ve(H)}return $===void 0&&($=setTimeout(Ee,m)),N}return ct.cancel=Re,ct.flush=Ve,ct}var su=ui,Ot=F?F.performance:null,Y3=Ot&&Ot.now?function(){return Ot.now()}:function(){return Date.now()},Kt=function(){if(F){if(F.requestAnimationFrame)return function(x){F.requestAnimationFrame(x)};if(F.mozRequestAnimationFrame)return function(x){F.mozRequestAnimationFrame(x)};if(F.webkitRequestAnimationFrame)return function(x){F.webkitRequestAnimationFrame(x)};if(F.msRequestAnimationFrame)return function(x){F.msRequestAnimationFrame(x)}}return function(x){x&&setTimeout(function(){x(Y3())},1e3/60)}}(),j0=function(m){return Kt(m)},Fp=Y3,X3=9261,$9=65599,c5=5381,Th=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:X3,S=k,M;M=m.next(),!M.done;)S=S*$9+M.value|0;return S},$g=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:X3;return k*$9+m|0},bm=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:c5;return(k<<5)+k+m|0},z9=function(m,k){return m*2097152+k},mm=function(m){return m[0]*2097152+m[1]},u5=function(m,k){return[$g(m[0],k[0]),bm(m[1],k[1])]},m1=function(m,k){var S={value:0,done:!1},M=0,O=m.length,N={next:function(){return M=0&&!(m[M]===k&&(m.splice(M,1),S));M--);},cS=function(m){m.splice(0,m.length)},lj=function(m,k){for(var S=0;S"u"?"undefined":u(Set))!==UJ?Set:GJ,uS=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(m===void 0||k===void 0||!Ne(m)){lh("An element must have a core reference and parameters set");return}var M=k.group;if(M==null&&(k.data&&k.data.source!=null&&k.data.target!=null?M="edges":M="nodes"),M!=="nodes"&&M!=="edges"){lh("An element must be of type `nodes` or `edges`; you specified `"+M+"`");return}this.length=1,this[0]=this;var O=this._private={cy:m,single:!0,data:k.data||{},position:k.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:M,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!k.selected,selectable:k.selectable===void 0?!0:!!k.selectable,locked:!!k.locked,grabbed:!1,grabbable:k.grabbable===void 0?!0:!!k.grabbable,pannable:k.pannable===void 0?M==="edges":!!k.pannable,active:!1,classes:new Q7,animation:{current:[],queue:[]},rscratch:{},scratch:k.scratch||{},edges:[],children:[],parent:k.parent&&k.parent.isNode()?k.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),k.renderedPosition){var N=k.renderedPosition,$=m.pan(),H=m.zoom();O.position={x:(N.x-$.x)/H,y:(N.y-$.y)/H}}var q=[];ne(k.classes)?q=k.classes:ge(k.classes)&&(q=k.classes.split(/\s+/));for(var Y=0,Z=q.length;YFe?1:0},Y=function(Ee,Fe,Re,Ve,ct){var st;if(Re==null&&(Re=0),ct==null&&(ct=S),Re<0)throw new Error("lo must be non-negative");for(Ve==null&&(Ve=Ee.length);ReMt;0<=Mt?Qe++:Qe--)mt.push(Qe);return mt}).apply(this).reverse(),Ye=[],Ve=0,ct=st.length;VeDt;0<=Dt?++mt:--mt)ut.push(N(Ee,Re));return ut},Le=function(Ee,Fe,Re,Ve){var ct,st,Ye;for(Ve==null&&(Ve=S),ct=Ee[Re];Re>Fe;){if(Ye=Re-1>>1,st=Ee[Ye],Ve(ct,st)<0){Ee[Re]=st,Re=Ye;continue}break}return Ee[Re]=ct},_e=function(Ee,Fe,Re){var Ve,ct,st,Ye,mt;for(Re==null&&(Re=S),ct=Ee.length,mt=Fe,st=Ee[Fe],Ve=2*Fe+1;Ve0;){var st=Fe.pop(),Ye=_e(st),mt=st.id();if(ce[mt]=Ye,Ye!==1/0)for(var Qe=st.neighborhood().intersect(me),Mt=0;Mt0)for(Dn.unshift(Yt);Z[vr];){var Pn=Z[vr];Dn.unshift(Pn.edge),Dn.unshift(Pn.node),ir=Pn.node,vr=ir.id()}return $.spawn(Dn)}}}},XJ={kruskal:function(m){m=m||function(Re){return 1};for(var k=this.byGroup(),S=k.nodes,M=k.edges,O=S.length,N=new Array(O),$=S,H=function(Ve){for(var ct=0;ct0;){if(ct(),Ye++,Ve===Y){for(var mt=[],Qe=O,Mt=Y,Dt=Ee[Mt];mt.unshift(Qe),Dt!=null&&mt.unshift(Dt),Qe=_e[Mt],Qe!=null;)Mt=Qe.id(),Dt=Ee[Mt];return{found:!0,distance:Z[Ve],path:this.spawn(mt),steps:Ye}}ve[Ve]=!0;for(var ut=Re._private.edges,Wt=0;WtDt&&(me[Mt]=Dt,Fe[Mt]=Qe,Re[Mt]=ct),!O){var ut=Qe*Y+mt;!O&&me[ut]>Dt&&(me[ut]=Dt,Fe[ut]=mt,Re[ut]=ct)}}}for(var Wt=0;Wt1&&arguments[1]!==void 0?arguments[1]:N,vo=Re(ks),$a=[],Da=vo;;){if(Da==null)return k.spawn();var Fo=Fe(Da),tr=Fo.edge,G=Fo.pred;if($a.unshift(Da[0]),Da.same(Rs)&&$a.length>0)break;tr!=null&&$a.unshift(tr),Da=G}return H.spawn($a)},st=0;st=0;Y--){var Z=q[Y],ce=Z[1],ve=Z[2];(k[ce]===$&&k[ve]===H||k[ce]===H&&k[ve]===$)&&q.splice(Y,1)}for(var me=0;meM;){var O=Math.floor(Math.random()*k.length);k=iZ(O,m,k),S--}return k},sZ={kargerStein:function(){var m=this,k=this.byGroup(),S=k.nodes,M=k.edges;M.unmergeBy(function(Dn){return Dn.isLoop()});var O=S.length,N=M.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),H=Math.floor(O/rZ);if(O<2){lh("At least 2 nodes are required for Karger-Stein algorithm");return}for(var q=[],Y=0;Y1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=-1/0,O=k;O1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=0,O=0,N=k;N1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;M?m=m.slice(k,S):(S0&&m.splice(0,k));for(var $=0,H=m.length-1;H>=0;H--){var q=m[H];N?isFinite(q)||(m[H]=-1/0,$++):m.splice(H,1)}O&&m.sort(function(ce,ve){return ce-ve});var Y=m.length,Z=Math.floor(Y/2);return Y%2!==0?m[Z+1+$]:(m[Z-1+$]+m[Z+$])/2},hZ=function(m){return Math.PI*m/180},hS=function(m,k){return Math.atan2(k,m)-Math.PI/2},iI=Math.log2||function(x){return Math.log(x)/Math.log(2)},dj=function(m){return m>0?1:m<0?-1:0},h5=function(m,k){return Math.sqrt(f5(m,k))},f5=function(m,k){var S=k.x-m.x,M=k.y-m.y;return S*S+M*M},fZ=function(m){for(var k=m.length,S=0,M=0;M=m.x1&&m.y2>=m.y1)return{x1:m.x1,y1:m.y1,x2:m.x2,y2:m.y2,w:m.x2-m.x1,h:m.y2-m.y1};if(m.w!=null&&m.h!=null&&m.w>=0&&m.h>=0)return{x1:m.x1,y1:m.y1,x2:m.x1+m.w,y2:m.y1+m.h,w:m.w,h:m.h}}},gZ=function(m){return{x1:m.x1,x2:m.x2,w:m.w,y1:m.y1,y2:m.y2,h:m.h}},pZ=function(m){m.x1=1/0,m.y1=1/0,m.x2=-1/0,m.y2=-1/0,m.w=0,m.h=0},bZ=function(m,k,S){return{x1:m.x1+k,x2:m.x2+k,y1:m.y1+S,y2:m.y2+S,w:m.w,h:m.h}},gj=function(m,k){m.x1=Math.min(m.x1,k.x1),m.x2=Math.max(m.x2,k.x2),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,k.y1),m.y2=Math.max(m.y2,k.y2),m.h=m.y2-m.y1},mZ=function(m,k,S){m.x1=Math.min(m.x1,k),m.x2=Math.max(m.x2,k),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,S),m.y2=Math.max(m.y2,S),m.h=m.y2-m.y1},fS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m.x1-=k,m.x2+=k,m.y1-=k,m.y2+=k,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},dS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],S,M,O,N;if(k.length===1)S=M=O=N=k[0];else if(k.length===2)S=O=k[0],N=M=k[1];else if(k.length===4){var $=y(k,4);S=$[0],M=$[1],O=$[2],N=$[3]}return m.x1-=N,m.x2+=M,m.y1-=S,m.y2+=O,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},pj=function(m,k){m.x1=k.x1,m.y1=k.y1,m.x2=k.x2,m.y2=k.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1},sI=function(m,k){return!(m.x1>k.x2||k.x1>m.x2||m.x2k.y2||k.y1>m.y2)},e8=function(m,k,S){return m.x1<=k&&k<=m.x2&&m.y1<=S&&S<=m.y2},vZ=function(m,k){return e8(m,k.x,k.y)},bj=function(m,k){return e8(m,k.x1,k.y1)&&e8(m,k.x2,k.y2)},mj=function(m,k,S,M,O,N,$){var H=W9(O,N),q=O/2,Y=N/2,Z;{var ce=S-q+H-$,ve=M-Y-$,me=S+q-H+$,Le=ve;if(Z=ey(m,k,S,M,ce,ve,me,Le,!1),Z.length>0)return Z}{var _e=S+q+$,Ee=M-Y+H-$,Fe=_e,Re=M+Y-H+$;if(Z=ey(m,k,S,M,_e,Ee,Fe,Re,!1),Z.length>0)return Z}{var Ve=S-q+H-$,ct=M+Y+$,st=S+q-H+$,Ye=ct;if(Z=ey(m,k,S,M,Ve,ct,st,Ye,!1),Z.length>0)return Z}{var mt=S-q-$,Qe=M-Y+H-$,Mt=mt,Dt=M+Y-H+$;if(Z=ey(m,k,S,M,mt,Qe,Mt,Dt,!1),Z.length>0)return Z}var ut;{var Wt=S-q+H,Ct=M-Y+H;if(ut=G9(m,k,S,M,Wt,Ct,H+$),ut.length>0&&ut[0]<=Wt&&ut[1]<=Ct)return[ut[0],ut[1]]}{var _n=S+q-H,hn=M-Y+H;if(ut=G9(m,k,S,M,_n,hn,H+$),ut.length>0&&ut[0]>=_n&&ut[1]<=hn)return[ut[0],ut[1]]}{var Yt=S+q-H,Dn=M+Y-H;if(ut=G9(m,k,S,M,Yt,Dn,H+$),ut.length>0&&ut[0]>=Yt&&ut[1]>=Dn)return[ut[0],ut[1]]}{var ir=S-q+H,vr=M+Y-H;if(ut=G9(m,k,S,M,ir,vr,H+$),ut.length>0&&ut[0]<=ir&&ut[1]>=vr)return[ut[0],ut[1]]}return[]},wZ=function(m,k,S,M,O,N,$){var H=$,q=Math.min(S,O),Y=Math.max(S,O),Z=Math.min(M,N),ce=Math.max(M,N);return q-H<=m&&m<=Y+H&&Z-H<=k&&k<=ce+H},yZ=function(m,k,S,M,O,N,$,H,q){var Y={x1:Math.min(S,$,O)-q,x2:Math.max(S,$,O)+q,y1:Math.min(M,H,N)-q,y2:Math.max(M,H,N)+q};return!(mY.x2||kY.y2)},xZ=function(m,k,S,M){S-=M;var O=k*k-4*m*S;if(O<0)return[];var N=Math.sqrt(O),$=2*m,H=(-k+N)/$,q=(-k-N)/$;return[H,q]},kZ=function(m,k,S,M,O){var N=1e-5;m===0&&(m=N),k/=m,S/=m,M/=m;var $,H,q,Y,Z,ce,ve,me;if(H=(3*S-k*k)/9,q=-(27*M)+k*(9*S-2*(k*k)),q/=54,$=H*H*H+q*q,O[1]=0,ve=k/3,$>0){Z=q+Math.sqrt($),Z=Z<0?-Math.pow(-Z,1/3):Math.pow(Z,1/3),ce=q-Math.sqrt($),ce=ce<0?-Math.pow(-ce,1/3):Math.pow(ce,1/3),O[0]=-ve+Z+ce,ve+=(Z+ce)/2,O[4]=O[2]=-ve,ve=Math.sqrt(3)*(-ce+Z)/2,O[3]=ve,O[5]=-ve;return}if(O[5]=O[3]=0,$===0){me=q<0?-Math.pow(-q,1/3):Math.pow(q,1/3),O[0]=-ve+2*me,O[4]=O[2]=-(me+ve);return}H=-H,Y=H*H*H,Y=Math.acos(q/Math.sqrt(Y)),me=2*Math.sqrt(H),O[0]=-ve+me*Math.cos(Y/3),O[2]=-ve+me*Math.cos((Y+2*Math.PI)/3),O[4]=-ve+me*Math.cos((Y+4*Math.PI)/3)},EZ=function(m,k,S,M,O,N,$,H){var q=1*S*S-4*S*O+2*S*$+4*O*O-4*O*$+$*$+M*M-4*M*N+2*M*H+4*N*N-4*N*H+H*H,Y=1*9*S*O-3*S*S-3*S*$-6*O*O+3*O*$+9*M*N-3*M*M-3*M*H-6*N*N+3*N*H,Z=1*3*S*S-6*S*O+S*$-S*m+2*O*O+2*O*m-$*m+3*M*M-6*M*N+M*H-M*k+2*N*N+2*N*k-H*k,ce=1*S*O-S*S+S*m-O*m+M*N-M*M+M*k-N*k,ve=[];kZ(q,Y,Z,ce,ve);for(var me=1e-7,Le=[],_e=0;_e<6;_e+=2)Math.abs(ve[_e+1])=0&&ve[_e]<=1&&Le.push(ve[_e]);Le.push(1),Le.push(0);for(var Ee=-1,Fe,Re,Ve,ct=0;ct=0?Veq?(m-O)*(m-O)+(k-N)*(k-N):Y-ce},Wd=function(m,k,S){for(var M,O,N,$,H,q=0,Y=0;Y=m&&m>=N||M<=m&&m<=N)H=(m-M)/(N-M)*($-O)+O,H>k&&q++;else continue;return q%2!==0},Kv=function(m,k,S,M,O,N,$,H,q){var Y=new Array(S.length),Z;H[0]!=null?(Z=Math.atan(H[1]/H[0]),H[0]<0?Z=Z+Math.PI/2:Z=-Z-Math.PI/2):Z=H;for(var ce=Math.cos(-Z),ve=Math.sin(-Z),me=0;me0){var _e=pS(Y,-q);Le=gS(_e)}else Le=Y;return Wd(m,k,Le)},CZ=function(m,k,S,M,O,N,$){for(var H=new Array(S.length),q=N/2,Y=$/2,Z=cI(N,$),ce=Z*Z,ve=0;ve=0&&_e<=1&&Fe.push(_e),Ee>=0&&Ee<=1&&Fe.push(Ee),Fe.length===0)return[];var Re=Fe[0]*H[0]+m,Ve=Fe[0]*H[1]+k;if(Fe.length>1){if(Fe[0]==Fe[1])return[Re,Ve];var ct=Fe[1]*H[0]+m,st=Fe[1]*H[1]+k;return[Re,Ve,ct,st]}else return[Re,Ve]},aI=function(m,k,S){return k<=m&&m<=S||S<=m&&m<=k?m:m<=k&&k<=S||S<=k&&k<=m?k:S},ey=function(m,k,S,M,O,N,$,H,q){var Y=m-O,Z=S-m,ce=$-O,ve=k-N,me=M-k,Le=H-N,_e=ce*ve-Le*Y,Ee=Z*ve-me*Y,Fe=Le*Z-ce*me;if(Fe!==0){var Re=_e/Fe,Ve=Ee/Fe,ct=.001,st=0-ct,Ye=1+ct;return st<=Re&&Re<=Ye&&st<=Ve&&Ve<=Ye?[m+Re*Z,k+Re*me]:q?[m+Re*Z,k+Re*me]:[]}else return _e===0||Ee===0?aI(m,S,$)===$?[$,H]:aI(m,S,O)===O?[O,N]:aI(O,$,S)===S?[S,M]:[]:[]},K9=function(m,k,S,M,O,N,$,H){var q=[],Y,Z=new Array(S.length),ce=!0;N==null&&(ce=!1);var ve;if(ce){for(var me=0;me0){var Le=pS(Z,-H);ve=gS(Le)}else ve=Z}else ve=S;for(var _e,Ee,Fe,Re,Ve=0;Ve2){for(var hn=[q[0],q[1]],Yt=Math.pow(hn[0]-m,2)+Math.pow(hn[1]-k,2),Dn=1;DnY&&(Y=Ve)},get:function(Re){return q[Re]}},ce=0;ce<$.length;ce++){var ve=$[ce],me=ve.id();S?H[me]=ve.outgoers().nodes():H[me]=ve.openNeighborhood().nodes(),Z.set(me,0)}for(var Le=function(Re){for(var Ve=$[Re].id(),ct=[],st={},Ye={},mt={},Qe=new V9(function(Tr,Or){return mt[Tr]-mt[Or]}),Mt=0;Mt<$.length;Mt++){var Dt=$[Mt].id();st[Dt]=[],Ye[Dt]=0,mt[Dt]=1/0}for(Ye[Ve]=1,mt[Ve]=0,Qe.push(Ve);!Qe.empty();){var ut=Qe.pop();if(ct.push(ut),O)for(var Wt=0;Wt0?hn=_n.edgesTo(Ct)[0]:hn=Ct.edgesTo(_n)[0];var Yt=M(hn);Ct=Ct.id(),mt[Ct]>mt[ut]+Yt&&(mt[Ct]=mt[ut]+Yt,Qe.nodes.indexOf(Ct)<0?Qe.push(Ct):Qe.updateItem(Ct),Ye[Ct]=0,st[Ct]=[]),mt[Ct]==mt[ut]+Yt&&(Ye[Ct]=Ye[Ct]+Ye[ut],st[Ct].push(ut))}else for(var Dn=0;Dn0;){for(var pr=ct.pop(),Er=0;Er0&&$.push(S[H]);$.length!==0&&O.push(M.collection($))}return O},$Z=function(m,k){for(var S=0;S5&&arguments[5]!==void 0?arguments[5]:HZ,$=M,H,q,Y=0;Y=2?Y9(m,k,S,0,_j,VZ):Y9(m,k,S,0,Sj)},squaredEuclidean:function(m,k,S){return Y9(m,k,S,0,_j)},manhattan:function(m,k,S){return Y9(m,k,S,0,Sj)},max:function(m,k,S){return Y9(m,k,S,-1/0,UZ)}};r8["squared-euclidean"]=r8.squaredEuclidean,r8.squaredeuclidean=r8.squaredEuclidean;function mS(x,m,k,S,M,O){var N;return ae(x)?N=x:N=r8[x]||r8.euclidean,m===0&&ae(x)?N(M,O):N(m,k,S,M,O)}var GZ=$0({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hI=function(m){return GZ(m)},vS=function(m,k,S,M,O){var N=O!=="kMedoids",$=N?function(Z){return S[Z]}:function(Z){return M[Z](S)},H=function(ce){return M[ce](k)},q=S,Y=k;return mS(m,M.length,$,H,q,Y)},fI=function(m,k,S){for(var M=S.length,O=new Array(M),N=new Array(M),$=new Array(k),H=null,q=0;qS)return!1}return!0},YZ=function(m,k,S){for(var M=0;M$&&($=k[q][Y],H=Y);O[H].push(m[q])}for(var Z=0;Z=O.threshold||O.mode==="dendrogram"&&m.length===1)return!1;var me=k[N],Le=k[M[N]],_e;O.mode==="dendrogram"?_e={left:me,right:Le,key:me.key}:_e={value:me.value.concat(Le.value),key:me.key},m[me.index]=_e,m.splice(Le.index,1),k[me.key]=_e;for(var Ee=0;EeS[Le.key][Fe.key]&&(H=S[Le.key][Fe.key])):O.linkage==="max"?(H=S[me.key][Fe.key],S[me.key][Fe.key]0&&M.push(O);return M},Pj=function(m,k,S){for(var M=[],O=0;O$&&(N=q,$=k[O*m+q])}N>0&&M.push(N)}for(var Y=0;Yq&&(H=Y,q=Z)}S[O]=N[H]}return M=Pj(m,k,S),M},Bj=function(m){for(var k=this.cy(),S=this.nodes(),M=uee(m),O={},N=0;N=Dt?(ut=Dt,Dt=Ct,Wt=_n):Ct>ut&&(ut=Ct);for(var hn=0;hn<$;hn++)Z[Mt*$+hn]=(1-M.damping)*(q[Mt*$+hn]-Dt)+M.damping*Re[hn];Z[Mt*$+Wt]=(1-M.damping)*(q[Mt*$+Wt]-ut)+M.damping*Re[Wt]}for(var Yt=0;Yt<$;Yt++){for(var Dn=0,ir=0;ir<$;ir++)Re[ir]=ce[ir*$+Yt],Ve[ir]=Math.max(0,Z[ir*$+Yt]),Dn+=Ve[ir];Dn-=Ve[Yt],Ve[Yt]=Z[Yt*$+Yt],Dn+=Ve[Yt];for(var vr=0;vr<$;vr++)ce[vr*$+Yt]=(1-M.damping)*Math.min(0,Dn-Ve[vr])+M.damping*Re[vr];ce[Yt*$+Yt]=(1-M.damping)*(Dn-Ve[Yt])+M.damping*Re[Yt]}for(var Pn=0,pr=0;pr<$;pr++){var Er=ce[pr*$+pr]+Z[pr*$+pr]>0?1:0;Ye[Qe%M.minIterations*$+pr]=Er,Pn+=Er}if(Pn>0&&(Qe>=M.minIterations-1||Qe==M.maxIterations-1)){for(var Mr=0,Tr=0;Tr<$;Tr++){ct[Tr]=0;for(var Or=0;Or1||st>1)&&($=!0),Z[Re]=[],Fe.outgoers().forEach(function(mt){mt.isEdge()&&Z[Re].push(mt.id())})}else ce[Re]=[void 0,Fe.target().id()]}):N.forEach(function(Fe){var Re=Fe.id();if(Fe.isNode()){var Ve=Fe.degree(!0);Ve%2&&(H?q?$=!0:q=Re:H=Re),Z[Re]=[],Fe.connectedEdges().forEach(function(ct){return Z[Re].push(ct.id())})}else ce[Re]=[Fe.source().id(),Fe.target().id()]});var ve={found:!1,trail:void 0};if($)return ve;if(q&&H)if(O){if(Y&&q!=Y)return ve;Y=q}else{if(Y&&q!=Y&&H!=Y)return ve;Y||(Y=q)}else Y||(Y=N[0].id());var me=function(Re){for(var Ve=Re,ct=[Re],st,Ye,mt;Z[Ve].length;)st=Z[Ve].shift(),Ye=ce[st][0],mt=ce[st][1],Ve!=mt?(Z[mt]=Z[mt].filter(function(Qe){return Qe!=st}),Ve=mt):!O&&Ve!=Ye&&(Z[Ye]=Z[Ye].filter(function(Qe){return Qe!=st}),Ve=Ye),ct.unshift(st),ct.unshift(Ve);return ct},Le=[],_e=[];for(_e=me(Y);_e.length!=1;)Z[_e[0]].length==0?(Le.unshift(N.getElementById(_e.shift())),Le.unshift(N.getElementById(_e.shift()))):_e=me(_e.shift()).concat(_e);Le.unshift(N.getElementById(_e.shift()));for(var Ee in Z)if(Z[Ee].length)return ve;return ve.found=!0,ve.trail=this.spawn(Le,!0),ve}},yS=function(){var m=this,k={},S=0,M=0,O=[],N=[],$={},H=function(ce,ve){for(var me=N.length-1,Le=[],_e=m.spawn();N[me].x!=ce||N[me].y!=ve;)Le.push(N.pop().edge),me--;Le.push(N.pop().edge),Le.forEach(function(Ee){var Fe=Ee.connectedNodes().intersection(m);_e.merge(Ee),Fe.forEach(function(Re){var Ve=Re.id(),ct=Re.connectedEdges().intersection(m);_e.merge(Re),k[Ve].cutVertex?_e.merge(ct.filter(function(st){return st.isLoop()})):_e.merge(ct)})}),O.push(_e)},q=function Z(ce,ve,me){ce===me&&(M+=1),k[ve]={id:S,low:S++,cutVertex:!1};var Le=m.getElementById(ve).connectedEdges().intersection(m);if(Le.size()===0)O.push(m.spawn(m.getElementById(ve)));else{var _e,Ee,Fe,Re;Le.forEach(function(Ve){_e=Ve.source().id(),Ee=Ve.target().id(),Fe=_e===ve?Ee:_e,Fe!==me&&(Re=Ve.id(),$[Re]||($[Re]=!0,N.push({x:ve,y:Fe,edge:Ve})),Fe in k?k[ve].low=Math.min(k[ve].low,k[Fe].id):(Z(ce,Fe,ve),k[ve].low=Math.min(k[ve].low,k[Fe].low),k[ve].id<=k[Fe].low&&(k[ve].cutVertex=!0,H(ve,Fe))))})}};m.forEach(function(Z){if(Z.isNode()){var ce=Z.id();ce in k||(M=0,q(ce,ce),k[ce].cutVertex=M>1)}});var Y=Object.keys(k).filter(function(Z){return k[Z].cutVertex}).map(function(Z){return m.getElementById(Z)});return{cut:m.spawn(Y),components:O}},mee={hopcroftTarjanBiconnected:yS,htbc:yS,htb:yS,hopcroftTarjanBiconnectedComponents:yS},xS=function(){var m=this,k={},S=0,M=[],O=[],N=m.spawn(m),$=function H(q){O.push(q),k[q]={index:S,low:S++,explored:!1};var Y=m.getElementById(q).connectedEdges().intersection(m);if(Y.forEach(function(Le){var _e=Le.target().id();_e!==q&&(_e in k||H(_e),k[_e].explored||(k[q].low=Math.min(k[q].low,k[_e].low)))}),k[q].index===k[q].low){for(var Z=m.spawn();;){var ce=O.pop();if(Z.merge(m.getElementById(ce)),k[ce].low=k[q].index,k[ce].explored=!0,ce===q)break}var ve=Z.edgesWith(Z),me=Z.merge(ve);M.push(me),N=N.difference(me)}};return m.forEach(function(H){if(H.isNode()){var q=H.id();q in k||$(q)}}),{cut:N,components:M}},vee={tarjanStronglyConnected:xS,tsc:xS,tscc:xS,tarjanStronglyConnectedComponents:xS},Fj={};[H9,YJ,XJ,JJ,eZ,nZ,sZ,MZ,t8,n8,lI,qZ,tee,oee,gee,bee,mee,vee].forEach(function(x){yt(Fj,x)});/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/var Rj=0,jj=1,$j=2,Wv=function x(m){if(!(this instanceof x))return new x(m);this.id="Thenable/1.0.7",this.state=Rj,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof m=="function"&&m.call(this,this.fulfill.bind(this),this.reject.bind(this))};Wv.prototype={fulfill:function(m){return zj(this,jj,"fulfillValue",m)},reject:function(m){return zj(this,$j,"rejectReason",m)},then:function(m,k){var S=this,M=new Wv;return S.onFulfilled.push(Vj(m,M,"fulfill")),S.onRejected.push(Vj(k,M,"reject")),qj(S),M.proxy}};var zj=function(m,k,S,M){return m.state===Rj&&(m.state=k,m[S]=M,qj(m)),m},qj=function(m){m.state===jj?Hj(m,"onFulfilled",m.fulfillValue):m.state===$j&&Hj(m,"onRejected",m.rejectReason)},Hj=function(m,k,S){if(m[k].length!==0){var M=m[k];m[k]=[];var O=function(){for(var $=0;$0}},clearQueue:function(){return function(){var k=this,S=k.length!==void 0,M=S?k:[k],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var N=0;N-1}var wte=vte;function yte(x,m){var k=this.__data__,S=TS(k,x);return S<0?(++this.size,k.push([x,m])):k[S][1]=m,this}var xte=yte;function a8(x){var m=-1,k=x==null?0:x.length;for(this.clear();++m-1&&x%1==0&&x0&&this.spawn(M).updateStyle().emit("class"),k},addClass:function(m){return this.toggleClass(m,!0)},hasClass:function(m){var k=this[0];return k!=null&&k._private.classes.has(m)},toggleClass:function(m,k){ne(m)||(m=m.match(/\S+/g)||[]);for(var S=this,M=k===void 0,O=[],N=0,$=S.length;N<$;N++)for(var H=S[N],q=H._private.classes,Y=!1,Z=0;Z0&&this.spawn(O).updateStyle().emit("class"),S},removeClass:function(m){return this.toggleClass(m,!1)},flashClass:function(m,k){var S=this;if(k==null)k=250;else if(k===0)return S;return S.addClass(m),setTimeout(function(){S.removeClass(m)},k),S}};SS.className=SS.classNames=SS.classes;var $c={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:ln,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};$c.variable="(?:[\\w-.]|(?:\\\\"+$c.metaChar+"))+",$c.className="(?:[\\w-]|(?:\\\\"+$c.metaChar+"))+",$c.value=$c.string+"|"+$c.number,$c.id=$c.variable,function(){var x,m,k;for(x=$c.comparatorOp.split("|"),k=0;k=0)&&m!=="="&&($c.comparatorOp+="|\\!"+m)}();var Fu=function(){return{checks:[]}},fs={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},mI=[{selector:":selected",matches:function(m){return m.selected()}},{selector:":unselected",matches:function(m){return!m.selected()}},{selector:":selectable",matches:function(m){return m.selectable()}},{selector:":unselectable",matches:function(m){return!m.selectable()}},{selector:":locked",matches:function(m){return m.locked()}},{selector:":unlocked",matches:function(m){return!m.locked()}},{selector:":visible",matches:function(m){return m.visible()}},{selector:":hidden",matches:function(m){return!m.visible()}},{selector:":transparent",matches:function(m){return m.transparent()}},{selector:":grabbed",matches:function(m){return m.grabbed()}},{selector:":free",matches:function(m){return!m.grabbed()}},{selector:":removed",matches:function(m){return m.removed()}},{selector:":inside",matches:function(m){return!m.removed()}},{selector:":grabbable",matches:function(m){return m.grabbable()}},{selector:":ungrabbable",matches:function(m){return!m.grabbable()}},{selector:":animated",matches:function(m){return m.animated()}},{selector:":unanimated",matches:function(m){return!m.animated()}},{selector:":parent",matches:function(m){return m.isParent()}},{selector:":childless",matches:function(m){return m.isChildless()}},{selector:":child",matches:function(m){return m.isChild()}},{selector:":orphan",matches:function(m){return m.isOrphan()}},{selector:":nonorphan",matches:function(m){return m.isChild()}},{selector:":compound",matches:function(m){return m.isNode()?m.isParent():m.source().isParent()||m.target().isParent()}},{selector:":loop",matches:function(m){return m.isLoop()}},{selector:":simple",matches:function(m){return m.isSimple()}},{selector:":active",matches:function(m){return m.active()}},{selector:":inactive",matches:function(m){return!m.active()}},{selector:":backgrounding",matches:function(m){return m.backgrounding()}},{selector:":nonbackgrounding",matches:function(m){return!m.backgrounding()}}].sort(function(x,m){return zr(x.selector,m.selector)}),Tne=function(){for(var x={},m,k=0;k0&&Y.edgeCount>0)return gu("The selector `"+m+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(Y.edgeCount>1)return gu("The selector `"+m+"` is invalid because it uses multiple edge selectors"),!1;Y.edgeCount===1&&gu("The selector `"+m+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},Lne=function(){if(this.toStringCache!=null)return this.toStringCache;for(var m=function(Y){return Y??""},k=function(Y){return ge(Y)?'"'+Y+'"':m(Y)},S=function(Y){return" "+Y+" "},M=function(Y,Z){var ce=Y.type,ve=Y.value;switch(ce){case fs.GROUP:{var me=m(ve);return me.substring(0,me.length-1)}case fs.DATA_COMPARE:{var Le=Y.field,_e=Y.operator;return"["+Le+S(m(_e))+k(ve)+"]"}case fs.DATA_BOOL:{var Ee=Y.operator,Fe=Y.field;return"["+m(Ee)+Fe+"]"}case fs.DATA_EXIST:{var Re=Y.field;return"["+Re+"]"}case fs.META_COMPARE:{var Ve=Y.operator,ct=Y.field;return"[["+ct+S(m(Ve))+k(ve)+"]]"}case fs.STATE:return ve;case fs.ID:return"#"+ve;case fs.CLASS:return"."+ve;case fs.PARENT:case fs.CHILD:return O(Y.parent,Z)+S(">")+O(Y.child,Z);case fs.ANCESTOR:case fs.DESCENDANT:return O(Y.ancestor,Z)+" "+O(Y.descendant,Z);case fs.COMPOUND_SPLIT:{var st=O(Y.left,Z),Ye=O(Y.subject,Z),mt=O(Y.right,Z);return st+(st.length>0?" ":"")+Ye+mt}case fs.TRUE:return""}},O=function(Y,Z){return Y.checks.reduce(function(ce,ve,me){return ce+(Z===Y&&me===0?"$":"")+M(ve,Z)},"")},N="",$=0;$1&&$=0&&(k=k.replace("!",""),Z=!0),k.indexOf("@")>=0&&(k=k.replace("@",""),Y=!0),(O||$||Y)&&(H=!O&&!N?"":""+m,q=""+S),Y&&(m=H=H.toLowerCase(),S=q=q.toLowerCase()),k){case"*=":M=H.indexOf(q)>=0;break;case"$=":M=H.indexOf(q,H.length-q.length)>=0;break;case"^=":M=H.indexOf(q)===0;break;case"=":M=m===S;break;case">":ce=!0,M=m>S;break;case">=":ce=!0,M=m>=S;break;case"<":ce=!0,M=m0;){var Y=M.shift();m(Y),O.add(Y.id()),$&&S(M,O,Y)}return x}function h$(x,m,k){if(k.isParent())for(var S=k._private.children,M=0;M1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,h$)};function f$(x,m,k){if(k.isChild()){var S=k._private.parent;m.has(S.id())||x.push(S)}}u8.forEachUp=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,f$)};function Bne(x,m,k){f$(x,m,k),h$(x,m,k)}u8.forEachUpAndDown=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return yI(this,x,m,Bne)},u8.ancestors=u8.parents;var v1,d$;v1=d$={data:pu.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:pu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:pu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:pu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:pu.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:pu.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var m=this[0];if(m)return m._private.data.id}},v1.attr=v1.data,v1.removeAttr=v1.removeData;var ry=d$,J9={};function xI(x){return function(m){var k=this;if(m===void 0&&(m=!0),k.length!==0)if(k.isNode()&&!k.removed()){for(var S=0,M=k[0],O=M._private.edges,N=0;Nm}),minIndegree:l8("indegree",function(x,m){return xm}),minOutdegree:l8("outdegree",function(x,m){return xm})}),yt(J9,{totalDegree:function(m){for(var k=0,S=this.nodes(),M=0;M0,ce=Z;Z&&(Y=Y[0]);var ve=ce?Y.position():{x:0,y:0};k!==void 0?q.position(m,k+ve[m]):O!==void 0&&q.position({x:O.x+ve.x,y:O.y+ve.y})}else{var me=S.position(),Le=$?S.parent():null,_e=Le&&Le.length>0,Ee=_e;_e&&(Le=Le[0]);var Fe=Ee?Le.position():{x:0,y:0};return O={x:me.x-Fe.x,y:me.y-Fe.y},m===void 0?O:O[m]}else if(!N)return;return this}},Y2.modelPosition=Y2.point=Y2.position,Y2.modelPositions=Y2.points=Y2.positions,Y2.renderedPoint=Y2.renderedPosition,Y2.relativePoint=Y2.relativePosition;var Fne=g$,h8,iy;h8=iy={},iy.renderedBoundingBox=function(x){var m=this.boundingBox(x),k=this.cy(),S=k.zoom(),M=k.pan(),O=m.x1*S+M.x,N=m.x2*S+M.x,$=m.y1*S+M.y,H=m.y2*S+M.y;return{x1:O,x2:N,y1:$,y2:H,w:N-O,h:H-$}},iy.dirtyCompoundBoundsCache=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();return!m.styleEnabled()||!m.hasCompoundNodes()?this:(this.forEachUp(function(k){if(k.isParent()){var S=k._private;S.compoundBoundsClean=!1,S.bbCache=null,x||k.emitAndNotify("bounds")}}),this)},iy.updateCompoundBounds=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();if(!m.styleEnabled()||!m.hasCompoundNodes())return this;if(!x&&m.batching())return this;function k(N){if(!N.isParent())return;var $=N._private,H=N.children(),q=N.pstyle("compound-sizing-wrt-labels").value==="include",Y={width:{val:N.pstyle("min-width").pfValue,left:N.pstyle("min-width-bias-left"),right:N.pstyle("min-width-bias-right")},height:{val:N.pstyle("min-height").pfValue,top:N.pstyle("min-height-bias-top"),bottom:N.pstyle("min-height-bias-bottom")}},Z=H.boundingBox({includeLabels:q,includeOverlays:!1,useCache:!1}),ce=$.position;(Z.w===0||Z.h===0)&&(Z={w:N.pstyle("width").pfValue,h:N.pstyle("height").pfValue},Z.x1=ce.x-Z.w/2,Z.x2=ce.x+Z.w/2,Z.y1=ce.y-Z.h/2,Z.y2=ce.y+Z.h/2);function ve(Qe,Mt,Dt){var ut=0,Wt=0,Ct=Mt+Dt;return Qe>0&&Ct>0&&(ut=Mt/Ct*Qe,Wt=Dt/Ct*Qe),{biasDiff:ut,biasComplementDiff:Wt}}function me(Qe,Mt,Dt,ut){if(Dt.units==="%")switch(ut){case"width":return Qe>0?Dt.pfValue*Qe:0;case"height":return Mt>0?Dt.pfValue*Mt:0;case"average":return Qe>0&&Mt>0?Dt.pfValue*(Qe+Mt)/2:0;case"min":return Qe>0&&Mt>0?Qe>Mt?Dt.pfValue*Mt:Dt.pfValue*Qe:0;case"max":return Qe>0&&Mt>0?Qe>Mt?Dt.pfValue*Qe:Dt.pfValue*Mt:0;default:return 0}else return Dt.units==="px"?Dt.pfValue:0}var Le=Y.width.left.value;Y.width.left.units==="px"&&Y.width.val>0&&(Le=Le*100/Y.width.val);var _e=Y.width.right.value;Y.width.right.units==="px"&&Y.width.val>0&&(_e=_e*100/Y.width.val);var Ee=Y.height.top.value;Y.height.top.units==="px"&&Y.height.val>0&&(Ee=Ee*100/Y.height.val);var Fe=Y.height.bottom.value;Y.height.bottom.units==="px"&&Y.height.val>0&&(Fe=Fe*100/Y.height.val);var Re=ve(Y.width.val-Z.w,Le,_e),Ve=Re.biasDiff,ct=Re.biasComplementDiff,st=ve(Y.height.val-Z.h,Ee,Fe),Ye=st.biasDiff,mt=st.biasComplementDiff;$.autoPadding=me(Z.w,Z.h,N.pstyle("padding"),N.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Z.w,Y.width.val),ce.x=(-Ve+Z.x1+Z.x2+ct)/2,$.autoHeight=Math.max(Z.h,Y.height.val),ce.y=(-Ye+Z.y1+Z.y2+mt)/2}for(var S=0;Sm.x2?M:m.x2,m.y1=Sm.y2?O:m.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1)},b5=function(m,k){return k==null?m:X2(m,k.x1,k.y1,k.x2,k.y2)},Z9=function(m,k,S){return W2(m,k,S)},_S=function(m,k,S){if(!k.cy().headless()){var M=k._private,O=M.rstyle,N=O.arrowWidth/2,$=k.pstyle(S+"-arrow-shape").value,H,q;if($!=="none"){S==="source"?(H=O.srcX,q=O.srcY):S==="target"?(H=O.tgtX,q=O.tgtY):(H=O.midX,q=O.midY);var Y=M.arrowBounds=M.arrowBounds||{},Z=Y[S]=Y[S]||{};Z.x1=H-N,Z.y1=q-N,Z.x2=H+N,Z.y2=q+N,Z.w=Z.x2-Z.x1,Z.h=Z.y2-Z.y1,fS(Z,1),X2(m,Z.x1,Z.y1,Z.x2,Z.y2)}}},kI=function(m,k,S){if(!k.cy().headless()){var M;S?M=S+"-":M="";var O=k._private,N=O.rstyle,$=k.pstyle(M+"label").strValue;if($){var H=k.pstyle("text-halign"),q=k.pstyle("text-valign"),Y=Z9(N,"labelWidth",S),Z=Z9(N,"labelHeight",S),ce=Z9(N,"labelX",S),ve=Z9(N,"labelY",S),me=k.pstyle(M+"text-margin-x").pfValue,Le=k.pstyle(M+"text-margin-y").pfValue,_e=k.isEdge(),Ee=k.pstyle(M+"text-rotation"),Fe=k.pstyle("text-outline-width").pfValue,Re=k.pstyle("text-border-width").pfValue,Ve=Re/2,ct=k.pstyle("text-background-padding").pfValue,st=2,Ye=Z,mt=Y,Qe=mt/2,Mt=Ye/2,Dt,ut,Wt,Ct;if(_e)Dt=ce-Qe,ut=ce+Qe,Wt=ve-Mt,Ct=ve+Mt;else{switch(H.value){case"left":Dt=ce-mt,ut=ce;break;case"center":Dt=ce-Qe,ut=ce+Qe;break;case"right":Dt=ce,ut=ce+mt;break}switch(q.value){case"top":Wt=ve-Ye,Ct=ve;break;case"center":Wt=ve-Mt,Ct=ve+Mt;break;case"bottom":Wt=ve,Ct=ve+Ye;break}}Dt+=me-Math.max(Fe,Ve)-ct-st,ut+=me+Math.max(Fe,Ve)+ct+st,Wt+=Le-Math.max(Fe,Ve)-ct-st,Ct+=Le+Math.max(Fe,Ve)+ct+st;var _n=S||"main",hn=O.labelBounds,Yt=hn[_n]=hn[_n]||{};Yt.x1=Dt,Yt.y1=Wt,Yt.x2=ut,Yt.y2=Ct,Yt.w=ut-Dt,Yt.h=Ct-Wt;var Dn=_e&&Ee.strValue==="autorotate",ir=Ee.pfValue!=null&&Ee.pfValue!==0;if(Dn||ir){var vr=Dn?Z9(O.rstyle,"labelAngle",S):Ee.pfValue,Pn=Math.cos(vr),pr=Math.sin(vr),Er=(Dt+ut)/2,Mr=(Wt+Ct)/2;if(!_e){switch(H.value){case"left":Er=ut;break;case"right":Er=Dt;break}switch(q.value){case"top":Mr=Ct;break;case"bottom":Mr=Wt;break}}var Tr=function(pa,Di){return pa=pa-Er,Di=Di-Mr,{x:pa*Pn-Di*pr+Er,y:pa*pr+Di*Pn+Mr}},Or=Tr(Dt,Wt),Wn=Tr(Dt,Ct),br=Tr(ut,Wt),Cr=Tr(ut,Ct);Dt=Math.min(Or.x,Wn.x,br.x,Cr.x),ut=Math.max(Or.x,Wn.x,br.x,Cr.x),Wt=Math.min(Or.y,Wn.y,br.y,Cr.y),Ct=Math.max(Or.y,Wn.y,br.y,Cr.y)}var Nr=_n+"Rot",_i=hn[Nr]=hn[Nr]||{};_i.x1=Dt,_i.y1=Wt,_i.x2=ut,_i.y2=Ct,_i.w=ut-Dt,_i.h=Ct-Wt,X2(m,Dt,Wt,ut,Ct),X2(O.labelBounds.all,Dt,Wt,ut,Ct)}return m}},Rne=function(m,k){if(!k.cy().headless()){var S=k.pstyle("outline-opacity").value,M=k.pstyle("outline-width").value;if(S>0&&M>0){var O=k.pstyle("outline-offset").value,N=k.pstyle("shape").value,$=M+O,H=(m.w+$*2)/m.w,q=(m.h+$*2)/m.h,Y=0,Z=0;["diamond","pentagon","round-triangle"].includes(N)?(H=(m.w+$*2.4)/m.w,Z=-$/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(N)?H=(m.w+$*2.4)/m.w:N==="star"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.6)/m.h,Z=-$/3.8):N==="triangle"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.4)/m.h,Z=-$/1.4):N==="vee"&&(H=(m.w+$*4.4)/m.w,q=(m.h+$*3.8)/m.h,Z=-$*.5);var ce=m.h*q-m.h,ve=m.w*H-m.w;if(dS(m,[Math.ceil(ce/2),Math.ceil(ve/2)]),Y!=0||Z!==0){var me=bZ(m,Y,Z);gj(m,me)}}}},jne=function(m,k){var S=m._private.cy,M=S.styleEnabled(),O=S.headless(),N=Kd(),$=m._private,H=m.isNode(),q=m.isEdge(),Y,Z,ce,ve,me,Le,_e=$.rstyle,Ee=H&&M?m.pstyle("bounds-expansion").pfValue:[0],Fe=function(ds){return ds.pstyle("display").value!=="none"},Re=!M||Fe(m)&&(!q||Fe(m.source())&&Fe(m.target()));if(Re){var Ve=0,ct=0;M&&k.includeOverlays&&(Ve=m.pstyle("overlay-opacity").value,Ve!==0&&(ct=m.pstyle("overlay-padding").value));var st=0,Ye=0;M&&k.includeUnderlays&&(st=m.pstyle("underlay-opacity").value,st!==0&&(Ye=m.pstyle("underlay-padding").value));var mt=Math.max(ct,Ye),Qe=0,Mt=0;if(M&&(Qe=m.pstyle("width").pfValue,Mt=Qe/2),H&&k.includeNodes){var Dt=m.position();me=Dt.x,Le=Dt.y;var ut=m.outerWidth(),Wt=ut/2,Ct=m.outerHeight(),_n=Ct/2;Y=me-Wt,Z=me+Wt,ce=Le-_n,ve=Le+_n,X2(N,Y,ce,Z,ve),M&&k.includeOutlines&&Rne(N,m)}else if(q&&k.includeEdges)if(M&&!O){var hn=m.pstyle("curve-style").strValue;if(Y=Math.min(_e.srcX,_e.midX,_e.tgtX),Z=Math.max(_e.srcX,_e.midX,_e.tgtX),ce=Math.min(_e.srcY,_e.midY,_e.tgtY),ve=Math.max(_e.srcY,_e.midY,_e.tgtY),Y-=Mt,Z+=Mt,ce-=Mt,ve+=Mt,X2(N,Y,ce,Z,ve),hn==="haystack"){var Yt=_e.haystackPts;if(Yt&&Yt.length===2){if(Y=Yt[0].x,ce=Yt[0].y,Z=Yt[1].x,ve=Yt[1].y,Y>Z){var Dn=Y;Y=Z,Z=Dn}if(ce>ve){var ir=ce;ce=ve,ve=ir}X2(N,Y-Mt,ce-Mt,Z+Mt,ve+Mt)}}else if(hn==="bezier"||hn==="unbundled-bezier"||hn==="segments"||hn==="taxi"){var vr;switch(hn){case"bezier":case"unbundled-bezier":vr=_e.bezierPts;break;case"segments":case"taxi":vr=_e.linePts;break}if(vr!=null)for(var Pn=0;PnZ){var Wn=Y;Y=Z,Z=Wn}if(ce>ve){var br=ce;ce=ve,ve=br}Y-=Mt,Z+=Mt,ce-=Mt,ve+=Mt,X2(N,Y,ce,Z,ve)}if(M&&k.includeEdges&&q&&(_S(N,m,"mid-source"),_S(N,m,"mid-target"),_S(N,m,"source"),_S(N,m,"target")),M){var Cr=m.pstyle("ghost").value==="yes";if(Cr){var Nr=m.pstyle("ghost-offset-x").pfValue,_i=m.pstyle("ghost-offset-y").pfValue;X2(N,N.x1+Nr,N.y1+_i,N.x2+Nr,N.y2+_i)}}var xs=$.bodyBounds=$.bodyBounds||{};pj(xs,N),dS(xs,Ee),fS(xs,1),M&&(Y=N.x1,Z=N.x2,ce=N.y1,ve=N.y2,X2(N,Y-mt,ce-mt,Z+mt,ve+mt));var pa=$.overlayBounds=$.overlayBounds||{};pj(pa,N),dS(pa,Ee),fS(pa,1);var Di=$.labelBounds=$.labelBounds||{};Di.all!=null?pZ(Di.all):Di.all=Kd(),M&&k.includeLabels&&(k.includeMainLabels&&kI(N,m,null),q&&(k.includeSourceLabels&&kI(N,m,"source"),k.includeTargetLabels&&kI(N,m,"target")))}return N.x1=$p(N.x1),N.y1=$p(N.y1),N.x2=$p(N.x2),N.y2=$p(N.y2),N.w=$p(N.x2-N.x1),N.h=$p(N.y2-N.y1),N.w>0&&N.h>0&&Re&&(dS(N,Ee),fS(N,1)),N},m$=function(m){var k=0,S=function(N){return(N?1:0)<0&&arguments[0]!==void 0?arguments[0]:Qne,m=arguments.length>1?arguments[1]:void 0,k=0;k=0;$--)N($);return this},Q2.removeAllListeners=function(){return this.removeListener("*")},Q2.emit=Q2.trigger=function(x,m,k){var S=this.listeners,M=S.length;return this.emitting++,ne(m)||(m=[m]),MS(this,function(O,N){k!=null&&(S=[{event:N.event,type:N.type,namespace:N.namespace,callback:k}],M=S.length);for(var $=function(Y){var Z=S[Y];if(Z.type===N.type&&(!Z.namespace||Z.namespace===N.namespace||Z.namespace===Xne)&&O.eventMatches(O.context,Z,N)){var ce=[N];m!=null&&lj(ce,m),O.beforeEmit(O.context,Z,N),Z.conf&&Z.conf.one&&(O.listeners=O.listeners.filter(function(Le){return Le!==Z}));var ve=O.callbackContext(O.context,Z,N),me=Z.callback.apply(ve,ce);O.afterEmit(O.context,Z,N),me===!1&&(N.stopPropagation(),N.preventDefault())}},H=0;H1&&!N){var $=this.length-1,H=this[$],q=H._private.data.id;this[$]=void 0,this[m]=H,O.set(q,{ele:H,index:m})}return this.length--,this},unmergeOne:function(m){m=m[0];var k=this._private,S=m._private.data.id,M=k.map,O=M.get(S);if(!O)return this;var N=O.index;return this.unmergeAt(N),this},unmerge:function(m){var k=this._private.cy;if(!m)return this;if(m&&ge(m)){var S=m;m=k.mutableElements().filter(S)}for(var M=0;M=0;k--){var S=this[k];m(S)&&this.unmergeAt(k)}return this},map:function(m,k){for(var S=[],M=this,O=0;OS&&(S=H,M=$)}return{value:S,ele:M}},min:function(m,k){for(var S=1/0,M,O=this,N=0;N=0&&O"u"?"undefined":u(Symbol))!=m&&u(Symbol.iterator)!=m;k&&(DS[Symbol.iterator]=function(){var S=this,M={value:void 0,done:!1},O=0,N=this.length;return b({next:function(){return O1&&arguments[1]!==void 0?arguments[1]:!0,S=this[0],M=S.cy();if(M.styleEnabled()&&S){this.cleanStyle();var O=S._private.style[m];return O??(k?M.style().getDefaultProperty(m):null)}},numericStyle:function(m){var k=this[0];if(k.cy().styleEnabled()&&k){var S=k.pstyle(m);return S.pfValue!==void 0?S.pfValue:S.value}},numericStyleUnits:function(m){var k=this[0];if(k.cy().styleEnabled()&&k)return k.pstyle(m).units},renderedStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=this[0];if(S)return k.style().getRenderedStyle(S,m)},style:function(m,k){var S=this.cy();if(!S.styleEnabled())return this;var M=!1,O=S.style();if(se(m)){var N=m;O.applyBypass(this,N,M),this.emitAndNotify("style")}else if(ge(m))if(k===void 0){var $=this[0];return $?O.getStylePropertyValue($,m):void 0}else O.applyBypass(this,m,k,M),this.emitAndNotify("style");else if(m===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=!1,M=k.style(),O=this;if(m===void 0)for(var N=0;N0&&m.push(Y[0]),m.push($[0])}return this.spawn(m,!0).filter(x)},"neighborhood"),closedNeighborhood:function(m){return this.neighborhood().add(this).filter(m)},openNeighborhood:function(m){return this.neighborhood(m)}}),w1.neighbourhood=w1.neighborhood,w1.closedNeighbourhood=w1.closedNeighborhood,w1.openNeighbourhood=w1.openNeighborhood,yt(w1,{source:jp(function(m){var k=this[0],S;return k&&(S=k._private.source||k.cy().collection()),S&&m?S.filter(m):S},"source"),target:jp(function(m){var k=this[0],S;return k&&(S=k._private.target||k.cy().collection()),S&&m?S.filter(m):S},"target"),sources:I$({attr:"source"}),targets:I$({attr:"target"})});function I$(x){return function(k){for(var S=[],M=0;M0);return N},component:function(){var m=this[0];return m.cy().mutableElements().components(m)[0]}}),w1.componentsOf=w1.components;var q0=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(m===void 0){lh("A collection must have a reference to the core");return}var O=new wm,N=!1;if(!k)k=[];else if(k.length>0&&se(k[0])&&!U(k[0])){N=!0;for(var $=[],H=new Q7,q=0,Y=k.length;q0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=k.cy(),M=S._private,O=[],N=[],$,H=0,q=k.length;H0){for(var ir=$.length===k.length?k:new q0(S,$),vr=0;vr0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=[],M={},O=k._private.cy;function N(Ct){for(var _n=Ct._private.edges,hn=0;hn<_n.length;hn++)H(_n[hn])}function $(Ct){for(var _n=Ct._private.children,hn=0;hn<_n.length;hn++)H(_n[hn])}function H(Ct){var _n=M[Ct.id()];m&&Ct.removed()||_n||(M[Ct.id()]=!0,Ct.isNode()?(S.push(Ct),N(Ct),$(Ct)):S.unshift(Ct))}for(var q=0,Y=k.length;q0&&(x?Dt.emitAndNotify("remove"):m&&Dt.emit("remove"));for(var ut=0;ut0?ut=Ct:Dt=Ct;while(Math.abs(Wt)>N&&++_n<$);return Ct}function ct(Mt){for(var Dt=0,ut=1,Wt=H-1;ut!==Wt&&ce[ut]<=Mt;++ut)Dt+=q;--ut;var Ct=(Mt-ce[ut])/(ce[ut+1]-ce[ut]),_n=Dt+Ct*q,hn=Ee(_n,x,k);return hn>=O?Fe(Mt,_n):hn===0?_n:Ve(Mt,Dt,Dt+q)}var st=!1;function Ye(){st=!0,(x!==m||k!==S)&&Re()}var mt=function(Dt){return st||Ye(),x===m&&k===S?Dt:Dt===0?0:Dt===1?1:_e(ct(Dt),m,S)};mt.getControlPoints=function(){return[{x,y:m},{x:k,y:S}]};var Qe="generateBezier("+[x,m,k,S]+")";return mt.toString=function(){return Qe},mt}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var cre=function(){function x(S){return-S.tension*S.x-S.friction*S.v}function m(S,M,O){var N={x:S.x+O.dx*M,v:S.v+O.dv*M,tension:S.tension,friction:S.friction};return{dx:N.v,dv:x(N)}}function k(S,M){var O={dx:S.v,dv:x(S)},N=m(S,M*.5,O),$=m(S,M*.5,N),H=m(S,M,$),q=1/6*(O.dx+2*(N.dx+$.dx)+H.dx),Y=1/6*(O.dv+2*(N.dv+$.dv)+H.dv);return S.x=S.x+q*M,S.v=S.v+Y*M,S}return function S(M,O,N){var $={x:-1,v:0,tension:null,friction:null},H=[0],q=0,Y=1/1e4,Z=16/1e3,ce,ve,me;for(M=parseFloat(M)||500,O=parseFloat(O)||20,N=N||null,$.tension=M,$.friction=O,ce=N!==null,ce?(q=S(M,O),ve=q/N*Z):ve=Z;me=k(me||$,ve),H.push(1+me.x),q+=16,Math.abs(me.x)>Y&&Math.abs(me.v)>Y;);return ce?function(Le){return H[Le*(H.length-1)|0]}:q}}(),sl=function(m,k,S,M){var O=ore(m,k,S,M);return function(N,$,H){return N+($-N)*O(H)}},BS={linear:function(m,k,S){return m+(k-m)*S},ease:sl(.25,.1,.25,1),"ease-in":sl(.42,0,1,1),"ease-out":sl(0,0,.58,1),"ease-in-out":sl(.42,0,.58,1),"ease-in-sine":sl(.47,0,.745,.715),"ease-out-sine":sl(.39,.575,.565,1),"ease-in-out-sine":sl(.445,.05,.55,.95),"ease-in-quad":sl(.55,.085,.68,.53),"ease-out-quad":sl(.25,.46,.45,.94),"ease-in-out-quad":sl(.455,.03,.515,.955),"ease-in-cubic":sl(.55,.055,.675,.19),"ease-out-cubic":sl(.215,.61,.355,1),"ease-in-out-cubic":sl(.645,.045,.355,1),"ease-in-quart":sl(.895,.03,.685,.22),"ease-out-quart":sl(.165,.84,.44,1),"ease-in-out-quart":sl(.77,0,.175,1),"ease-in-quint":sl(.755,.05,.855,.06),"ease-out-quint":sl(.23,1,.32,1),"ease-in-out-quint":sl(.86,0,.07,1),"ease-in-expo":sl(.95,.05,.795,.035),"ease-out-expo":sl(.19,1,.22,1),"ease-in-out-expo":sl(1,0,0,1),"ease-in-circ":sl(.6,.04,.98,.335),"ease-out-circ":sl(.075,.82,.165,1),"ease-in-out-circ":sl(.785,.135,.15,.86),spring:function(m,k,S){if(S===0)return BS.linear;var M=cre(m,k,S);return function(O,N,$){return O+(N-O)*M($)}},"cubic-bezier":sl};function P$(x,m,k,S,M){if(S===1||m===k)return k;var O=M(m,k,S);return x==null||((x.roundValue||x.color)&&(O=Math.round(O)),x.min!==void 0&&(O=Math.max(O,x.min)),x.max!==void 0&&(O=Math.min(O,x.max))),O}function B$(x,m){return x.pfValue!=null||x.value!=null?x.pfValue!=null&&(m==null||m.type.units!=="%")?x.pfValue:x.value:x}function g8(x,m,k,S,M){var O=M!=null?M.type:null;k<0?k=0:k>1&&(k=1);var N=B$(x,M),$=B$(m,M);if(X(N)&&X($))return P$(O,N,$,k,S);if(ne(N)&&ne($)){for(var H=[],q=0;q<$.length;q++){var Y=N[q],Z=$[q];if(Y!=null&&Z!=null){var ce=P$(O,Y,Z,k,S);H.push(ce)}else H.push(Z)}return H}}function ure(x,m,k,S){var M=!S,O=x._private,N=m._private,$=N.easing,H=N.startTime,q=S?x:x.cy(),Y=q.style();if(!N.easingImpl)if($==null)N.easingImpl=BS.linear;else{var Z;if(ge($)){var ce=Y.parse("transition-timing-function",$);Z=ce.value}else Z=$;var ve,me;ge(Z)?(ve=Z,me=[]):(ve=Z[1],me=Z.slice(2).map(function(ir){return+ir})),me.length>0?(ve==="spring"&&me.push(N.duration),N.easingImpl=BS[ve].apply(null,me)):N.easingImpl=BS[ve]}var Le=N.easingImpl,_e;if(N.duration===0?_e=1:_e=(k-H)/N.duration,N.applying&&(_e=N.progress),_e<0?_e=0:_e>1&&(_e=1),N.delay==null){var Ee=N.startPosition,Fe=N.position;if(Fe&&M&&!x.locked()){var Re={};ak(Ee.x,Fe.x)&&(Re.x=g8(Ee.x,Fe.x,_e,Le)),ak(Ee.y,Fe.y)&&(Re.y=g8(Ee.y,Fe.y,_e,Le)),x.position(Re)}var Ve=N.startPan,ct=N.pan,st=O.pan,Ye=ct!=null&&S;Ye&&(ak(Ve.x,ct.x)&&(st.x=g8(Ve.x,ct.x,_e,Le)),ak(Ve.y,ct.y)&&(st.y=g8(Ve.y,ct.y,_e,Le)),x.emit("pan"));var mt=N.startZoom,Qe=N.zoom,Mt=Qe!=null&&S;Mt&&(ak(mt,Qe)&&(O.zoom=U9(O.minZoom,g8(mt,Qe,_e,Le),O.maxZoom)),x.emit("zoom")),(Ye||Mt)&&x.emit("viewport");var Dt=N.style;if(Dt&&Dt.length>0&&M){for(var ut=0;ut=0;Ye--){var mt=st[Ye];mt()}st.splice(0,st.length)},Fe=ve.length-1;Fe>=0;Fe--){var Re=ve[Fe],Ve=Re._private;if(Ve.stopped){ve.splice(Fe,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Ee(Ve.frames);continue}!Ve.playing&&!Ve.applying||(Ve.playing&&Ve.applying&&(Ve.applying=!1),Ve.started||lre(Y,Re,x),ure(Y,Re,x,Z),Ve.applying&&(Ve.applying=!1),Ee(Ve.frames),Ve.step!=null&&Ve.step(x),Re.completed()&&(ve.splice(Fe,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Ee(Ve.completes)),Le=!0)}return!Z&&ve.length===0&&me.length===0&&S.push(Y),Le}for(var O=!1,N=0;N0?m.notify("draw",k):m.notify("draw")),k.unmerge(S),m.emit("step")}var hre={animate:pu.animate(),animation:pu.animation(),animated:pu.animated(),clearQueue:pu.clearQueue(),delay:pu.delay(),delayAnimation:pu.delayAnimation(),stop:pu.stop(),addToAnimationPool:function(m){var k=this;k.styleEnabled()&&k._private.aniEles.merge(m)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var m=this;if(m._private.animationsRunning=!0,!m.styleEnabled())return;function k(){m._private.animationsRunning&&j0(function(O){F$(O,m),k()})}var S=m.renderer();S&&S.beforeRender?S.beforeRender(function(O,N){F$(N,m)},S.beforeRenderPriorities.animations):k()}},fre={qualifierCompare:function(m,k){return m==null||k==null?m==null&&k==null:m.sameText(k)},eventMatches:function(m,k,S){var M=k.qualifier;return M!=null?m!==S.target&&U(S.target)&&M.matches(S.target):!0},addEventFields:function(m,k){k.cy=m,k.target=m},callbackContext:function(m,k,S){return k.qualifier!=null?S.target:m}},FS=function(m){return ge(m)?new ty(m):m},R$={createEmitter:function(){var m=this._private;return m.emitter||(m.emitter=new LS(fre,this)),this},emitter:function(){return this._private.emitter},on:function(m,k,S){return this.emitter().on(m,FS(k),S),this},removeListener:function(m,k,S){return this.emitter().removeListener(m,FS(k),S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(m,k,S){return this.emitter().one(m,FS(k),S),this},once:function(m,k,S){return this.emitter().one(m,FS(k),S),this},emit:function(m,k){return this.emitter().emit(m,k),this},emitAndNotify:function(m,k){return this.emit(m),this.notify(m,k),this}};pu.eventAliasesOn(R$);var MI={png:function(m){var k=this._private.renderer;return m=m||{},k.png(m)},jpg:function(m){var k=this._private.renderer;return m=m||{},m.bg=m.bg||"#fff",k.jpg(m)}};MI.jpeg=MI.jpg;var RS={layout:function(m){var k=this;if(m==null){lh("Layout options must be specified to make a layout");return}if(m.name==null){lh("A `name` must be specified to make a layout");return}var S=m.name,M=k.extension("layout",S);if(M==null){lh("No such layout `"+S+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;ge(m.eles)?O=k.$(m.eles):O=m.eles!=null?m.eles:k.$();var N=new M(yt({},m,{cy:k,eles:O}));return N}};RS.createLayout=RS.makeLayout=RS.layout;var dre={notify:function(m,k){var S=this._private;if(this.batching()){S.batchNotifications=S.batchNotifications||{};var M=S.batchNotifications[m]=S.batchNotifications[m]||this.collection();k!=null&&M.merge(k);return}if(S.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(m,k)}},notifications:function(m){var k=this._private;return m===void 0?k.notificationsEnabled:(k.notificationsEnabled=!!m,this)},noNotifications:function(m){this.notifications(!1),m(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var m=this._private;return m.batchCount==null&&(m.batchCount=0),m.batchCount===0&&(m.batchStyleEles=this.collection(),m.batchNotifications={}),m.batchCount++,this},endBatch:function(){var m=this._private;if(m.batchCount===0)return this;if(m.batchCount--,m.batchCount===0){m.batchStyleEles.updateStyle();var k=this.renderer();Object.keys(m.batchNotifications).forEach(function(S){var M=m.batchNotifications[S];M.empty()?k.notify(S):k.notify(S,M)})}return this},batch:function(m){return this.startBatch(),m(),this.endBatch(),this},batchData:function(m){var k=this;return this.batch(function(){for(var S=Object.keys(m),M=0;M0;)k.removeChild(k.childNodes[0]);m._private.renderer=null,m.mutableElements().forEach(function(S){var M=S._private;M.rscratch={},M.rstyle={},M.animation.current=[],M.animation.queue=[]})},onRender:function(m){return this.on("render",m)},offRender:function(m){return this.off("render",m)}};DI.invalidateDimensions=DI.resize;var jS={collection:function(m,k){return ge(m)?this.$(m):xe(m)?m.collection():ne(m)?(k||(k={}),new q0(this,m,k.unique,k.removed)):new q0(this)},nodes:function(m){var k=this.$(function(S){return S.isNode()});return m?k.filter(m):k},edges:function(m){var k=this.$(function(S){return S.isEdge()});return m?k.filter(m):k},$:function(m){var k=this._private.elements;return m?k.filter(m):k.spawnSelf()},mutableElements:function(){return this._private.elements}};jS.elements=jS.filter=jS.$;var y1={},ok="t",pre="f";y1.apply=function(x){for(var m=this,k=m._private,S=k.cy,M=S.collection(),O=0;O0;if(ce||Z&&ve){var me=void 0;ce&&ve||ce?me=q.properties:ve&&(me=q.mappedProperties);for(var Le=0;Le1&&(Ve=1),$.color){var st=S.valueMin[0],Ye=S.valueMax[0],mt=S.valueMin[1],Qe=S.valueMax[1],Mt=S.valueMin[2],Dt=S.valueMax[2],ut=S.valueMin[3]==null?1:S.valueMin[3],Wt=S.valueMax[3]==null?1:S.valueMax[3],Ct=[Math.round(st+(Ye-st)*Ve),Math.round(mt+(Qe-mt)*Ve),Math.round(Mt+(Dt-Mt)*Ve),Math.round(ut+(Wt-ut)*Ve)];O={bypass:S.bypass,name:S.name,value:Ct,strValue:"rgb("+Ct[0]+", "+Ct[1]+", "+Ct[2]+")"}}else if($.number){var _n=S.valueMin+(S.valueMax-S.valueMin)*Ve;O=this.parse(S.name,_n,S.bypass,ce)}else return!1;if(!O)return Le(),!1;O.mapping=S,S=O;break}case N.data:{for(var hn=S.field.split("."),Yt=Z.data,Dn=0;Dn0&&O>0){for(var $={},H=!1,q=0;q0?x.delayAnimation(N).play().promise().then(Re):Re()}).then(function(){return x.animation({style:$,duration:O,easing:x.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){k.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1})}else S.transitioning&&(this.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1)},y1.checkTrigger=function(x,m,k,S,M,O){var N=this.properties[m],$=M(N);$!=null&&$(k,S)&&O(N)},y1.checkZOrderTrigger=function(x,m,k,S){var M=this;this.checkTrigger(x,m,k,S,function(O){return O.triggersZOrder},function(){M._private.cy.notify("zorder",x)})},y1.checkBoundsTrigger=function(x,m,k,S){this.checkTrigger(x,m,k,S,function(M){return M.triggersBounds},function(M){x.dirtyCompoundBoundsCache(),x.dirtyBoundingBoxCache(),M.triggersBoundsOfParallelBeziers&&m==="curve-style"&&(k==="bezier"||S==="bezier")&&x.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()}),M.triggersBoundsOfConnectedEdges&&m==="display"&&(k==="none"||S==="none")&&x.connectedEdges().forEach(function(O){O.dirtyBoundingBoxCache()})})},y1.checkTriggers=function(x,m,k,S){x.dirtyStyleCache(),this.checkZOrderTrigger(x,m,k,S),this.checkBoundsTrigger(x,m,k,S)};var ck={};ck.applyBypass=function(x,m,k,S){var M=this,O=[],N=!0;if(m==="*"||m==="**"){if(k!==void 0)for(var $=0;$M.length?S=S.substr(M.length):S=""}function H(){O.length>N.length?O=O.substr(N.length):O=""}for(;;){var q=S.match(/^\s*$/);if(q)break;var Y=S.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!Y){gu("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+S);break}M=Y[0];var Z=Y[1];if(Z!=="core"){var ce=new ty(Z);if(ce.invalid){gu("Skipping parsing of block: Invalid selector found in string stylesheet: "+Z),$();continue}}var ve=Y[2],me=!1;O=ve;for(var Le=[];;){var _e=O.match(/^\s*$/);if(_e)break;var Ee=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Ee){gu("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ve),me=!0;break}N=Ee[0];var Fe=Ee[1],Re=Ee[2],Ve=m.properties[Fe];if(!Ve){gu("Skipping property: Invalid property name in: "+N),H();continue}var ct=k.parse(Fe,Re);if(!ct){gu("Skipping property: Invalid property definition in: "+N),H();continue}Le.push({name:Fe,val:Re}),H()}if(me){$();break}k.selector(Z);for(var st=0;st=7&&m[0]==="d"&&(Y=new RegExp($.data.regex).exec(m))){if(k)return!1;var ce=$.data;return{name:x,value:Y,strValue:""+m,mapped:ce,field:Y[1],bypass:k}}else if(m.length>=10&&m[0]==="m"&&(Z=new RegExp($.mapData.regex).exec(m))){if(k||q.multiple)return!1;var ve=$.mapData;if(!(q.color||q.number))return!1;var me=this.parse(x,Z[4]);if(!me||me.mapped)return!1;var Le=this.parse(x,Z[5]);if(!Le||Le.mapped)return!1;if(me.pfValue===Le.pfValue||me.strValue===Le.strValue)return gu("`"+x+": "+m+"` is not a valid mapper because the output range is zero; converting to `"+x+": "+me.strValue+"`"),this.parse(x,me.strValue);if(q.color){var _e=me.value,Ee=Le.value,Fe=_e[0]===Ee[0]&&_e[1]===Ee[1]&&_e[2]===Ee[2]&&(_e[3]===Ee[3]||(_e[3]==null||_e[3]===1)&&(Ee[3]==null||Ee[3]===1));if(Fe)return!1}return{name:x,value:Z,strValue:""+m,mapped:ve,field:Z[1],fieldMin:parseFloat(Z[2]),fieldMax:parseFloat(Z[3]),valueMin:me.value,valueMax:Le.value,bypass:k}}}if(q.multiple&&S!=="multiple"){var Re;if(H?Re=m.split(/\s+/):ne(m)?Re=m:Re=[m],q.evenMultiple&&Re.length%2!==0)return null;for(var Ve=[],ct=[],st=[],Ye="",mt=!1,Qe=0;Qe0?" ":"")+Mt.strValue}return q.validate&&!q.validate(Ve,ct)?null:q.singleEnum&&mt?Ve.length===1&&ge(Ve[0])?{name:x,value:Ve[0],strValue:Ve[0],bypass:k}:null:{name:x,value:Ve,pfValue:st,strValue:Ye,bypass:k,units:ct}}var Dt=function(){for(var Cr=0;Crq.max||q.strictMax&&m===q.max))return null;var hn={name:x,value:m,strValue:""+m+(ut||""),units:ut,bypass:k};return q.unitless||ut!=="px"&&ut!=="em"?hn.pfValue=m:hn.pfValue=ut==="px"||!ut?m:this.getEmSizeInPixels()*m,(ut==="ms"||ut==="s")&&(hn.pfValue=ut==="ms"?m:1e3*m),(ut==="deg"||ut==="rad")&&(hn.pfValue=ut==="rad"?m:hZ(m)),ut==="%"&&(hn.pfValue=m/100),hn}else if(q.propList){var Yt=[],Dn=""+m;if(Dn!=="none"){for(var ir=Dn.split(/\s*,\s*|\s+/),vr=0;vr0&&$>0&&!isNaN(S.w)&&!isNaN(S.h)&&S.w>0&&S.h>0){H=Math.min((N-2*k)/S.w,($-2*k)/S.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H=S.minZoom&&(S.maxZoom=k),this},minZoom:function(m){return m===void 0?this._private.minZoom:this.zoomRange({min:m})},maxZoom:function(m){return m===void 0?this._private.maxZoom:this.zoomRange({max:m})},getZoomedViewport:function(m){var k=this._private,S=k.pan,M=k.zoom,O,N,$=!1;if(k.zoomingEnabled||($=!0),X(m)?N=m:se(m)&&(N=m.level,m.position!=null?O=lS(m.position,M,S):m.renderedPosition!=null&&(O=m.renderedPosition),O!=null&&!k.panningEnabled&&($=!0)),N=N>k.maxZoom?k.maxZoom:N,N=Nk.maxZoom||!k.zoomingEnabled?N=!0:(k.zoom=H,O.push("zoom"))}if(M&&(!N||!m.cancelOnFailedZoom)&&k.panningEnabled){var q=m.pan;X(q.x)&&(k.pan.x=q.x,$=!1),X(q.y)&&(k.pan.y=q.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(m){var k=this.getCenterPan(m);return k&&(this._private.pan=k,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(m,k){if(this._private.panningEnabled){if(ge(m)){var S=m;m=this.mutableElements().filter(S)}else xe(m)||(m=this.mutableElements());if(m.length!==0){var M=m.boundingBox(),O=this.width(),N=this.height();k=k===void 0?this._private.zoom:k;var $={x:(O-k*(M.x1+M.x2))/2,y:(N-k*(M.y1+M.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var m=this._private,k=m.container,S=this;return m.sizeCache=m.sizeCache||(k?function(){var M=S.window().getComputedStyle(k),O=function($){return parseFloat(M.getPropertyValue($))};return{width:k.clientWidth-O("padding-left")-O("padding-right"),height:k.clientHeight-O("padding-top")-O("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var m=this._private.pan,k=this._private.zoom,S=this.renderedExtent(),M={x1:(S.x1-m.x)/k,x2:(S.x2-m.x)/k,y1:(S.y1-m.y)/k,y2:(S.y2-m.y)/k};return M.w=M.x2-M.x1,M.h=M.y2-M.y1,M},renderedExtent:function(){var m=this.width(),k=this.height();return{x1:0,y1:0,x2:m,y2:k,w:m,h:k}},multiClickDebounceTime:function(m){if(m)this._private.multiClickDebounceTime=m;else return this._private.multiClickDebounceTime;return this}};v5.centre=v5.center,v5.autolockNodes=v5.autolock,v5.autoungrabifyNodes=v5.autoungrabify;var uk={data:pu.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:pu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:pu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:pu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};uk.attr=uk.data,uk.removeAttr=uk.removeData;var lk=function(m){var k=this;m=yt({},m);var S=m.container;S&&!K(S)&&K(S[0])&&(S=S[0]);var M=S?S._cyreg:null;M=M||{},M&&M.cy&&(M.cy.destroy(),M={});var O=M.readies=M.readies||[];S&&(S._cyreg=M),M.cy=k;var N=F!==void 0&&S!==void 0&&!m.headless,$=m;$.layout=yt({name:N?"grid":"null"},$.layout),$.renderer=yt({name:N?"canvas":"null"},$.renderer);var H=function(me,Le,_e){return Le!==void 0?Le:_e!==void 0?_e:me},q=this._private={container:S,ready:!1,options:$,elements:new q0(this),listeners:[],aniEles:new q0(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,$.zoomingEnabled),userZoomingEnabled:H(!0,$.userZoomingEnabled),panningEnabled:H(!0,$.panningEnabled),userPanningEnabled:H(!0,$.userPanningEnabled),boxSelectionEnabled:H(!0,$.boxSelectionEnabled),autolock:H(!1,$.autolock,$.autolockNodes),autoungrabify:H(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:H(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?N:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:se($.pan)&&X($.pan.x)?$.pan.x:0,y:se($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var Y=function(me,Le){var _e=me.some(Ke);if(_e)return i8.all(me).then(Le);Le(me)};q.styleEnabled&&k.setStyle([]);var Z=yt({},$,$.renderer);k.initRenderer(Z);var ce=function(me,Le,_e){k.notifications(!1);var Ee=k.mutableElements();Ee.length>0&&Ee.remove(),me!=null&&(se(me)||ne(me))&&k.add(me),k.one("layoutready",function(Re){k.notifications(!0),k.emit(Re),k.one("load",Le),k.emitAndNotify("load")}).one("layoutstop",function(){k.one("done",_e),k.emit("done")});var Fe=yt({},k._private.options.layout);Fe.eles=k.elements(),k.layout(Fe).run()};Y([$.style,$.elements],function(ve){var me=ve[0],Le=ve[1];q.styleEnabled&&k.style().append(me),ce(Le,function(){k.startAnimationLoop(),q.ready=!0,ae($.ready)&&k.on("ready",$.ready);for(var _e=0;_e0,H=Kd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),q;if(xe(m.roots))q=m.roots;else if(ne(m.roots)){for(var Y=[],Z=0;Z0;){var _n=Ct(),hn=Mt(_n,ut);if(hn)_n.outgoers().filter(function(Di){return Di.isNode()&&S.has(Di)}).forEach(Wt);else if(hn===null){gu("Detected double maximal shift for node `"+_n.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Qe();var Yt=0;if(m.avoidOverlap)for(var Dn=0;Dn0&&Ee[0].length<=3?Da/2:0),G=2*Math.PI/Ee[Fs].length*ks;return Fs===0&&Ee[0].length===1&&(tr=1),{x:_i.x+tr*Math.cos(G),y:_i.y+tr*Math.sin(G)}}else{var Fo={x:_i.x+(ks+1-(Rs+1)/2)*vo,y:(Fs+1)*$a};return Fo}};return S.nodes().layoutPositions(this,m,pa),this};var yre={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function z$(x){this.options=yt({},yre,x)}z$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,O=S.nodes().not(":parent");m.sort&&(O=O.sort(m.sort));for(var N=Kd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=m.sweep===void 0?2*Math.PI-2*Math.PI/O.length:m.sweep,q=H/Math.max(1,O.length-1),Y,Z=0,ce=0;ce1&&m.avoidOverlap){Z*=1.75;var Ee=Math.cos(q)-Math.cos(0),Fe=Math.sin(q)-Math.sin(0),Re=Math.sqrt(Z*Z/(Ee*Ee+Fe*Fe));Y=Math.max(Re,Y)}var Ve=function(st,Ye){var mt=m.startAngle+Ye*q*(M?1:-1),Qe=Y*Math.cos(mt),Mt=Y*Math.sin(mt),Dt={x:$.x+Qe,y:$.y+Mt};return Dt};return S.nodes().layoutPositions(this,m,Ve),this};var xre={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(m){return m.degree()},levelWidth:function(m){return m.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function q$(x){this.options=yt({},xre,x)}q$.prototype.run=function(){for(var x=this.options,m=x,k=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,S=x.cy,M=m.eles,O=M.nodes().not(":parent"),N=Kd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:S.width(),h:S.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=[],q=0,Y=0;Y0){var ct=Math.abs(Fe[0].value-Ve.value);ct>=_e&&(Fe=[],Ee.push(Fe))}Fe.push(Ve)}var st=q+m.minNodeSpacing;if(!m.avoidOverlap){var Ye=Ee.length>0&&Ee[0].length>1,mt=Math.min(N.w,N.h)/2-st,Qe=mt/(Ee.length+Ye?1:0);st=Math.min(st,Qe)}for(var Mt=0,Dt=0;Dt1&&m.avoidOverlap){var _n=Math.cos(Ct)-Math.cos(0),hn=Math.sin(Ct)-Math.sin(0),Yt=Math.sqrt(st*st/(_n*_n+hn*hn));Mt=Math.max(Yt,Mt)}ut.r=Mt,Mt+=st}if(m.equidistant){for(var Dn=0,ir=0,vr=0;vr=x.numIter||(Lre(S,x),S.temperature=S.temperature*x.coolingFactor,S.temperature=x.animationThreshold&&O(),j0(Z)}};Y()}else{for(;q;)q=N(H),H++;U$(S,x),$()}return this},HS.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},HS.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Ere=function(m,k,S){for(var M=S.eles.edges(),O=S.eles.nodes(),N=Kd(S.boundingBox?S.boundingBox:{x1:0,y1:0,w:m.width(),h:m.height()}),$={isCompound:m.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:M.size(),temperature:S.initialTemp,clientWidth:N.w,clientHeight:N.h,boundingBox:N},H=S.eles.components(),q={},Y=0;Y0){$.graphSet.push(mt);for(var Y=0;YM.count?0:M.graph},Cre=function x(m,k,S,M){var O=M.graphSet[S];if(-10)var Z=M.nodeOverlap*Y,ce=Math.sqrt($*$+H*H),ve=Z*$/ce,me=Z*H/ce;else var Le=VS(m,$,H),_e=VS(k,-1*$,-1*H),Ee=_e.x-Le.x,Fe=_e.y-Le.y,Re=Ee*Ee+Fe*Fe,ce=Math.sqrt(Re),Z=(m.nodeRepulsion+k.nodeRepulsion)/Re,ve=Z*Ee/ce,me=Z*Fe/ce;m.isLocked||(m.offsetX-=ve,m.offsetY-=me),k.isLocked||(k.offsetX+=ve,k.offsetY+=me)}},Ire=function(m,k,S,M){if(S>0)var O=m.maxX-k.minX;else var O=k.maxX-m.minX;if(M>0)var N=m.maxY-k.minY;else var N=k.maxY-m.minY;return O>=0&&N>=0?Math.sqrt(O*O+N*N):0},VS=function(m,k,S){var M=m.positionX,O=m.positionY,N=m.height||1,$=m.width||1,H=S/k,q=N/$,Y={};return k===0&&0S?(Y.x=M,Y.y=O+N/2,Y):0k&&-1*q<=H&&H<=q?(Y.x=M-$/2,Y.y=O-$*S/2/k,Y):0=q)?(Y.x=M+N*k/2/S,Y.y=O+N/2,Y):(0>S&&(H<=-1*q||H>=q)&&(Y.x=M-N*k/2/S,Y.y=O-N/2),Y)},Ore=function(m,k){for(var S=0;SS){var _e=k.gravity*ve/Le,Ee=k.gravity*me/Le;ce.offsetX+=_e,ce.offsetY+=Ee}}}}},Pre=function(m,k){var S=[],M=0,O=-1;for(S.push.apply(S,m.graphSet[0]),O+=m.graphSet[0].length;M<=O;){var N=S[M++],$=m.idToIndex[N],H=m.layoutNodes[$],q=H.children;if(0S)var O={x:S*m/M,y:S*k/M};else var O={x:m,y:k};return O},Rre=function x(m,k){var S=m.parentId;if(S!=null){var M=k.layoutNodes[k.idToIndex[S]],O=!1;if((M.maxX==null||m.maxX+M.padRight>M.maxX)&&(M.maxX=m.maxX+M.padRight,O=!0),(M.minX==null||m.minX-M.padLeftM.maxY)&&(M.maxY=m.maxY+M.padBottom,O=!0),(M.minY==null||m.minY-M.padTopEe&&(me+=_e+k.componentSpacing,ve=0,Le=0,_e=0)}}},jre={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(m){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function G$(x){this.options=yt({},jre,x)}G$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=S.nodes().not(":parent");m.sort&&(M=M.sort(m.sort));var O=Kd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()});if(O.h===0||O.w===0)S.nodes().layoutPositions(this,m,function(Er){return{x:O.x1,y:O.y1}});else{var N=M.size(),$=Math.sqrt(N*O.h/O.w),H=Math.round($),q=Math.round(O.w/O.h*$),Y=function(Mr){if(Mr==null)return Math.min(H,q);var Tr=Math.min(H,q);Tr==H?H=Mr:q=Mr},Z=function(Mr){if(Mr==null)return Math.max(H,q);var Tr=Math.max(H,q);Tr==H?H=Mr:q=Mr},ce=m.rows,ve=m.cols!=null?m.cols:m.columns;if(ce!=null&&ve!=null)H=ce,q=ve;else if(ce!=null&&ve==null)H=ce,q=Math.ceil(N/H);else if(ce==null&&ve!=null)q=ve,H=Math.ceil(N/q);else if(q*H>N){var me=Y(),Le=Z();(me-1)*Le>=N?Y(me-1):(Le-1)*me>=N&&Z(Le-1)}else for(;q*H=N?Z(Ee+1):Y(_e+1)}var Fe=O.w/q,Re=O.h/H;if(m.condense&&(Fe=0,Re=0),m.avoidOverlap)for(var Ve=0;Ve=q&&(_n=0,Ct++)},Yt={},Dn=0;Dn(_n=TZ(x,m,hn[Yt],hn[Yt+1],hn[Yt+2],hn[Yt+3])))return _e(Ye,_n),!0}else if(Qe.edgeType==="bezier"||Qe.edgeType==="multibezier"||Qe.edgeType==="self"||Qe.edgeType==="compound"){for(var hn=Qe.allpts,Yt=0;Yt+5(_n=EZ(x,m,hn[Yt],hn[Yt+1],hn[Yt+2],hn[Yt+3],hn[Yt+4],hn[Yt+5])))return _e(Ye,_n),!0}for(var Dn=Dn||mt.source,ir=ir||mt.target,vr=M.getArrowWidth(Mt,Dt),Pn=[{name:"source",x:Qe.arrowStartX,y:Qe.arrowStartY,angle:Qe.srcArrowAngle},{name:"target",x:Qe.arrowEndX,y:Qe.arrowEndY,angle:Qe.tgtArrowAngle},{name:"mid-source",x:Qe.midX,y:Qe.midY,angle:Qe.midsrcArrowAngle},{name:"mid-target",x:Qe.midX,y:Qe.midY,angle:Qe.midtgtArrowAngle}],Yt=0;Yt0&&(Ee(Dn),Ee(ir))}function Re(Ye,mt,Qe){return W2(Ye,mt,Qe)}function Ve(Ye,mt){var Qe=Ye._private,Mt=ce,Dt;mt?Dt=mt+"-":Dt="",Ye.boundingBox();var ut=Qe.labelBounds[mt||"main"],Wt=Ye.pstyle(Dt+"label").value,Ct=Ye.pstyle("text-events").strValue==="yes";if(!(!Ct||!Wt)){var _n=Re(Qe.rscratch,"labelX",mt),hn=Re(Qe.rscratch,"labelY",mt),Yt=Re(Qe.rscratch,"labelAngle",mt),Dn=Ye.pstyle(Dt+"text-margin-x").pfValue,ir=Ye.pstyle(Dt+"text-margin-y").pfValue,vr=ut.x1-Mt-Dn,Pn=ut.x2+Mt-Dn,pr=ut.y1-Mt-ir,Er=ut.y2+Mt-ir;if(Yt){var Mr=Math.cos(Yt),Tr=Math.sin(Yt),Or=function(pa,Di){return pa=pa-_n,Di=Di-hn,{x:pa*Mr-Di*Tr+_n,y:pa*Tr+Di*Mr+hn}},Wn=Or(vr,pr),br=Or(vr,Er),Cr=Or(Pn,pr),Nr=Or(Pn,Er),_i=[Wn.x+Dn,Wn.y+ir,Cr.x+Dn,Cr.y+ir,Nr.x+Dn,Nr.y+ir,br.x+Dn,br.y+ir];if(Wd(x,m,_i))return _e(Ye),!0}else if(e8(ut,x,m))return _e(Ye),!0}}for(var ct=N.length-1;ct>=0;ct--){var st=N[ct];st.isNode()?Ee(st)||Ve(st):Fe(st)||Ve(st)||Ve(st,"source")||Ve(st,"target")}return $},w5.getAllInBox=function(x,m,k,S){var M=this.getCachedZSortedEles().interactive,O=[],N=Math.min(x,k),$=Math.max(x,k),H=Math.min(m,S),q=Math.max(m,S);x=N,k=$,m=H,S=q;for(var Y=Kd({x1:x,y1:m,x2:k,y2:S}),Z=0;Z0?Math.max(wr-Cs,0):Math.min(wr+Cs,0)},Wt=ut(Mt,mt),Ct=ut(Dt,Qe),_n=!1;Fe===q?Ee=Math.abs(Wt)>Math.abs(Ct)?M:S:Fe===H||Fe===$?(Ee=S,_n=!0):(Fe===O||Fe===N)&&(Ee=M,_n=!0);var hn=Ee===S,Yt=hn?Ct:Wt,Dn=hn?Dt:Mt,ir=dj(Dn),vr=!1;!(_n&&(Ve||st))&&(Fe===$&&Dn<0||Fe===H&&Dn>0||Fe===O&&Dn>0||Fe===N&&Dn<0)&&(ir*=-1,Yt=ir*Math.abs(Yt),vr=!0);var Pn;if(Ve){var pr=ct<0?1+ct:ct;Pn=pr*Yt}else{var Er=ct<0?Yt:0;Pn=Er+ct*ir}var Mr=function(wr){return Math.abs(wr)=Math.abs(Yt)},Tr=Mr(Pn),Or=Mr(Math.abs(Yt)-Math.abs(Pn)),Wn=Tr||Or;if(Wn&&!vr)if(hn){var br=Math.abs(Dn)<=ce/2,Cr=Math.abs(Mt)<=ve/2;if(br){var Nr=(Y.x1+Y.x2)/2,_i=Y.y1,xs=Y.y2;k.segpts=[Nr,_i,Nr,xs]}else if(Cr){var pa=(Y.y1+Y.y2)/2,Di=Y.x1,pi=Y.x2;k.segpts=[Di,pa,pi,pa]}else k.segpts=[Y.x1,Y.y2]}else{var ds=Math.abs(Dn)<=Z/2,Fs=Math.abs(Dt)<=me/2;if(ds){var ks=(Y.y1+Y.y2)/2,Rs=Y.x1,vo=Y.x2;k.segpts=[Rs,ks,vo,ks]}else if(Fs){var $a=(Y.x1+Y.x2)/2,Da=Y.y1,Fo=Y.y2;k.segpts=[$a,Da,$a,Fo]}else k.segpts=[Y.x2,Y.y1]}else if(hn){var tr=Y.y1+Pn+(_e?ce/2*ir:0),G=Y.x1,Jn=Y.x2;k.segpts=[G,tr,Jn,tr]}else{var kr=Y.x1+Pn+(_e?Z/2*ir:0),lr=Y.y1,Vt=Y.y2;k.segpts=[kr,lr,kr,Vt]}},E1.tryToCorrectInvalidPoints=function(x,m){var k=x._private.rscratch;if(k.edgeType==="bezier"){var S=m.srcPos,M=m.tgtPos,O=m.srcW,N=m.srcH,$=m.tgtW,H=m.tgtH,q=m.srcShape,Y=m.tgtShape,Z=!X(k.startX)||!X(k.startY),ce=!X(k.arrowStartX)||!X(k.arrowStartY),ve=!X(k.endX)||!X(k.endY),me=!X(k.arrowEndX)||!X(k.arrowEndY),Le=3,_e=this.getArrowWidth(x.pstyle("width").pfValue,x.pstyle("arrow-scale").value)*this.arrowShapeWidth,Ee=Le*_e,Fe=h5({x:k.ctrlpts[0],y:k.ctrlpts[1]},{x:k.startX,y:k.startY}),Re=FeCt.poolIndex()){var _n=Wt;Wt=Ct,Ct=_n}var hn=Qe.srcPos=Wt.position(),Yt=Qe.tgtPos=Ct.position(),Dn=Qe.srcW=Wt.outerWidth(),ir=Qe.srcH=Wt.outerHeight(),vr=Qe.tgtW=Ct.outerWidth(),Pn=Qe.tgtH=Ct.outerHeight(),pr=Qe.srcShape=k.nodeShapes[m.getNodeShape(Wt)],Er=Qe.tgtShape=k.nodeShapes[m.getNodeShape(Ct)];Qe.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Mr=0;Mr0){var br=O,Cr=f5(br,J7(k)),Nr=f5(br,J7(Wn)),_i=Cr;if(Nr2){var xs=f5(br,{x:Wn[2],y:Wn[3]});xs<_i&&(k=[Wn[2],Wn[3]])}}}var pa=bS(k,Mt,m.arrowShapes[$].spacing(x)+q),Di=bS(k,Mt,m.arrowShapes[$].gap(x)+q);if(ce.endX=Di[0],ce.endY=Di[1],ce.arrowEndX=pa[0],ce.arrowEndY=pa[1],Ye==="inside-to-node")k=[O.x,O.y];else if(st.units)k=this.manualEndptToPx(S,st);else if(Ye==="outside-to-line")k=ce.srcIntn;else if(Ye==="outside-to-node"||Ye==="outside-to-node-or-label"?Wt=Dt:(Ye==="outside-to-line"||Ye==="outside-to-line-or-label")&&(Wt=[N.x,N.y]),k=m.nodeShapes[this.getNodeShape(S)].intersectLine(O.x,O.y,S.outerWidth(),S.outerHeight(),Wt[0],Wt[1],0),Ye==="outside-to-node-or-label"||Ye==="outside-to-line-or-label"){var pi=S._private.rscratch,ds=pi.labelWidth,Fs=pi.labelHeight,ks=pi.labelX,Rs=pi.labelY,vo=ds/2,$a=Fs/2,Da=S.pstyle("text-valign").value;Da==="top"?Rs-=$a:Da==="bottom"&&(Rs+=$a);var Fo=S.pstyle("text-halign").value;Fo==="left"?ks-=vo:Fo==="right"&&(ks+=vo);var tr=K9(Wt[0],Wt[1],[ks-vo,Rs-$a,ks+vo,Rs-$a,ks+vo,Rs+$a,ks-vo,Rs+$a],O.x,O.y);if(tr.length>0){var G=N,Jn=f5(G,J7(k)),kr=f5(G,J7(tr)),lr=Jn;if(kr2){var Vt=f5(G,{x:tr[2],y:tr[3]});Vt=me||Ye){_e={cp:Ve,segment:st};break}}if(_e)break}var mt=_e.cp,Qe=_e.segment,Mt=(me-Ee)/Qe.length,Dt=Qe.t1-Qe.t0,ut=ve?Qe.t0+Dt*Mt:Qe.t1-Dt*Mt;ut=U9(0,ut,1),m=Z7(mt.p0,mt.p1,mt.p2,ut),ce=Vre(mt.p0,mt.p1,mt.p2,ut);break}case"straight":case"segments":case"haystack":{for(var Wt=0,Ct,_n,hn,Yt,Dn=S.allpts.length,ir=0;ir+3=me));ir+=2);var vr=me-_n,Pn=vr/Ct;Pn=U9(0,Pn,1),m=dZ(hn,Yt,Pn),ce=GS(hn,Yt);break}}N("labelX",Z,m.x),N("labelY",Z,m.y),N("labelAutoAngle",Z,ce)}};q("source"),q("target"),this.applyLabelDimensions(x)}},km.applyLabelDimensions=function(x){this.applyPrefixedLabelDimensions(x),x.isEdge()&&(this.applyPrefixedLabelDimensions(x,"source"),this.applyPrefixedLabelDimensions(x,"target"))},km.applyPrefixedLabelDimensions=function(x,m){var k=x._private,S=this.getLabelText(x,m),M=this.calculateLabelDimensions(x,S),O=x.pstyle("line-height").pfValue,N=x.pstyle("text-wrap").strValue,$=W2(k.rscratch,"labelWrapCachedLines",m)||[],H=N!=="wrap"?1:Math.max($.length,1),q=M.height/H,Y=q*O,Z=M.width,ce=M.height+(H-1)*(O-1)*q;Z3(k.rstyle,"labelWidth",m,Z),Z3(k.rscratch,"labelWidth",m,Z),Z3(k.rstyle,"labelHeight",m,ce),Z3(k.rscratch,"labelHeight",m,ce),Z3(k.rscratch,"labelLineHeight",m,Y)},km.getLabelText=function(x,m){var k=x._private,S=m?m+"-":"",M=x.pstyle(S+"label").strValue,O=x.pstyle("text-transform").value,N=function(vr,Pn){return Pn?(Z3(k.rscratch,vr,m,Pn),Pn):W2(k.rscratch,vr,m)};if(!M)return"";O=="none"||(O=="uppercase"?M=M.toUpperCase():O=="lowercase"&&(M=M.toLowerCase()));var $=x.pstyle("text-wrap").value;if($==="wrap"){var H=N("labelKey");if(H!=null&&N("labelWrapKey")===H)return N("labelWrapCachedText");for(var q="​",Y=M.split(` +`),Z=x.pstyle("text-max-width").pfValue,ce=x.pstyle("text-overflow-wrap").value,ve=ce==="anywhere",me=[],Le=/[\s\u200b]+/,_e=ve?"":" ",Ee=0;EeZ){for(var st=Fe.split(Le),Ye="",mt=0;mtWt)break;Ct+=M[Yt],Yt===M.length-1&&(hn=!0)}return hn||(Ct+=_n),Ct}return M},km.getLabelJustification=function(x){var m=x.pstyle("text-justification").strValue,k=x.pstyle("text-halign").strValue;if(m==="auto")if(x.isNode())switch(k){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return m},km.calculateLabelDimensions=function(x,m){var k=this,S=ad(m,x._private.labelDimsKey),M=k.labelDimCache||(k.labelDimCache=[]),O=M[S];if(O!=null)return O;var N=0,$=x.pstyle("font-style").strValue,H=x.pstyle("font-size").pfValue,q=x.pstyle("font-family").strValue,Y=x.pstyle("font-weight").strValue,Z=this.labelCalcCanvas,ce=this.labelCalcCanvasContext;if(!Z){Z=this.labelCalcCanvas=document.createElement("canvas"),ce=this.labelCalcCanvasContext=Z.getContext("2d");var ve=Z.style;ve.position="absolute",ve.left="-9999px",ve.top="-9999px",ve.zIndex="-1",ve.visibility="hidden",ve.pointerEvents="none"}ce.font="".concat($," ").concat(Y," ").concat(H,"px ").concat(q);for(var me=0,Le=0,_e=m.split(` +`),Ee=0;Ee<_e.length;Ee++){var Fe=_e[Ee],Re=ce.measureText(Fe),Ve=Math.ceil(Re.width),ct=H;me=Math.max(Ve,me),Le+=ct}return me+=N,Le+=N,M[S]={width:me,height:Le}},km.calculateLabelAngle=function(x,m){var k=x._private,S=k.rscratch,M=x.isEdge(),O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=N.strValue;return $==="none"?0:M&&$==="autorotate"?S.labelAutoAngle:$==="autorotate"?0:N.pfValue},km.calculateLabelAngles=function(x){var m=this,k=x.isEdge(),S=x._private,M=S.rscratch;M.labelAngle=m.calculateLabelAngle(x),k&&(M.sourceLabelAngle=m.calculateLabelAngle(x,"source"),M.targetLabelAngle=m.calculateLabelAngle(x,"target"))};var tz={},nz=28,rz=!1;tz.getNodeShape=function(x){var m=this,k=x.pstyle("shape").value;if(k==="cutrectangle"&&(x.width()1&&arguments[1]!==void 0?arguments[1]:!0;if(m.merge(N),$)for(var H=0;H=x.desktopTapThreshold2}var Xv=M(G);Yl&&(x.hoverData.tapholdCancelled=!0);var ay=function(){var Em=x.hoverData.dragDelta=x.hoverData.dragDelta||[];Em.length===0?(Em.push(wo[0]),Em.push(wo[1])):(Em[0]+=wo[0],Em[1]+=wo[1])};kr=!0,S(za,["mousemove","vmousemove","tapdrag"],G,{x:wr[0],y:wr[1]});var E8=function(){x.data.bgActivePosistion=void 0,x.hoverData.selecting||lr.emit({originalEvent:G,type:"boxstart",position:{x:wr[0],y:wr[1]}}),qc[4]=1,x.hoverData.selecting=!0,x.redrawHint("select",!0),x.redraw()};if(x.hoverData.which===3){if(Yl){var x5={originalEvent:G,type:"cxtdrag",position:{x:wr[0],y:wr[1]}};ba?ba.emit(x5):lr.emit(x5),x.hoverData.cxtDragged=!0,(!x.hoverData.cxtOver||za!==x.hoverData.cxtOver)&&(x.hoverData.cxtOver&&x.hoverData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:wr[0],y:wr[1]}}),x.hoverData.cxtOver=za,za&&za.emit({originalEvent:G,type:"cxtdragover",position:{x:wr[0],y:wr[1]}}))}}else if(x.hoverData.dragging){if(kr=!0,lr.panningEnabled()&&lr.userPanningEnabled()){var T8;if(x.hoverData.justStartedPan){var ZS=x.hoverData.mdownPos;T8={x:(wr[0]-ZS[0])*Vt,y:(wr[1]-ZS[1])*Vt},x.hoverData.justStartedPan=!1}else T8={x:wo[0]*Vt,y:wo[1]*Vt};lr.panBy(T8),lr.emit("dragpan"),x.hoverData.dragged=!0}wr=x.projectIntoViewport(G.clientX,G.clientY)}else if(qc[4]==1&&(ba==null||ba.pannable())){if(Yl){if(!x.hoverData.dragging&&lr.boxSelectionEnabled()&&(Xv||!lr.panningEnabled()||!lr.userPanningEnabled()))E8();else if(!x.hoverData.selecting&&lr.panningEnabled()&&lr.userPanningEnabled()){var k5=O(ba,x.hoverData.downs);k5&&(x.hoverData.dragging=!0,x.hoverData.justStartedPan=!0,qc[4]=0,x.data.bgActivePosistion=J7(Cs),x.redrawHint("select",!0),x.redraw())}ba&&ba.pannable()&&ba.active()&&ba.unactivate()}}else{if(ba&&ba.pannable()&&ba.active()&&ba.unactivate(),(!ba||!ba.grabbed())&&za!=Ac&&(Ac&&S(Ac,["mouseout","tapdragout"],G,{x:wr[0],y:wr[1]}),za&&S(za,["mouseover","tapdragover"],G,{x:wr[0],y:wr[1]}),x.hoverData.last=za),ba)if(Yl){if(lr.boxSelectionEnabled()&&Xv)ba&&ba.grabbed()&&(_e(fh),ba.emit("freeon"),fh.emit("free"),x.dragData.didDrag&&(ba.emit("dragfreeon"),fh.emit("dragfree"))),E8();else if(ba&&ba.grabbed()&&x.nodeIsDraggable(ba)){var Xd=!x.dragData.didDrag;Xd&&x.redrawHint("eles",!0),x.dragData.didDrag=!0,x.hoverData.draggingEles||me(fh,{inDragLayer:!0});var T1={x:0,y:0};if(X(wo[0])&&X(wo[1])&&(T1.x+=wo[0],T1.y+=wo[1],Xd)){var Qd=x.hoverData.dragDelta;Qd&&X(Qd[0])&&X(Qd[1])&&(T1.x+=Qd[0],T1.y+=Qd[1])}x.hoverData.draggingEles=!0,fh.silentShift(T1).emit("position drag"),x.redrawHint("drag",!0),x.redraw()}}else ay();kr=!0}if(qc[2]=wr[0],qc[3]=wr[1],kr)return G.stopPropagation&&G.stopPropagation(),G.preventDefault&&G.preventDefault(),!1}},!1);var Mt,Dt,ut;x.registerBinding(m,"mouseup",function(G){var Jn=x.hoverData.capture;if(Jn){x.hoverData.capture=!1;var kr=x.cy,lr=x.projectIntoViewport(G.clientX,G.clientY),Vt=x.selection,qs=x.findNearestElement(lr[0],lr[1],!0,!1),wr=x.dragData.possibleDragElements,Cs=x.hoverData.down,ho=M(G);if(x.data.bgActivePosistion&&(x.redrawHint("select",!0),x.redraw()),x.hoverData.tapholdCancelled=!0,x.data.bgActivePosistion=void 0,Cs&&Cs.unactivate(),x.hoverData.which===3){var qc={originalEvent:G,type:"cxttapend",position:{x:lr[0],y:lr[1]}};if(Cs?Cs.emit(qc):kr.emit(qc),!x.hoverData.cxtDragged){var za={originalEvent:G,type:"cxttap",position:{x:lr[0],y:lr[1]}};Cs?Cs.emit(za):kr.emit(za)}x.hoverData.cxtDragged=!1,x.hoverData.which=null}else if(x.hoverData.which===1){if(S(qs,["mouseup","tapend","vmouseup"],G,{x:lr[0],y:lr[1]}),!x.dragData.didDrag&&!x.hoverData.dragged&&!x.hoverData.selecting&&!x.hoverData.isOverThresholdDrag&&(S(Cs,["click","tap","vclick"],G,{x:lr[0],y:lr[1]}),Dt=!1,G.timeStamp-ut<=kr.multiClickDebounceTime()?(Mt&&clearTimeout(Mt),Dt=!0,ut=null,S(Cs,["dblclick","dbltap","vdblclick"],G,{x:lr[0],y:lr[1]})):(Mt=setTimeout(function(){Dt||S(Cs,["oneclick","onetap","voneclick"],G,{x:lr[0],y:lr[1]})},kr.multiClickDebounceTime()),ut=G.timeStamp)),Cs==null&&!x.dragData.didDrag&&!x.hoverData.selecting&&!x.hoverData.dragged&&!M(G)&&(kr.$(k).unselect(["tapunselect"]),wr.length>0&&x.redrawHint("eles",!0),x.dragData.possibleDragElements=wr=kr.collection()),qs==Cs&&!x.dragData.didDrag&&!x.hoverData.selecting&&qs!=null&&qs._private.selectable&&(x.hoverData.dragging||(kr.selectionType()==="additive"||ho?qs.selected()?qs.unselect(["tapunselect"]):qs.select(["tapselect"]):ho||(kr.$(k).unmerge(qs).unselect(["tapunselect"]),qs.select(["tapselect"]))),x.redrawHint("eles",!0)),x.hoverData.selecting){var Ac=kr.collection(x.getAllInBox(Vt[0],Vt[1],Vt[2],Vt[3]));x.redrawHint("select",!0),Ac.length>0&&x.redrawHint("eles",!0),kr.emit({type:"boxend",originalEvent:G,position:{x:lr[0],y:lr[1]}});var ba=function(Yl){return Yl.selectable()&&!Yl.selected()};kr.selectionType()==="additive"||ho||kr.$(k).unmerge(Ac).unselect(),Ac.emit("box").stdFilter(ba).select().emit("boxselect"),x.redraw()}if(x.hoverData.dragging&&(x.hoverData.dragging=!1,x.redrawHint("select",!0),x.redrawHint("eles",!0),x.redraw()),!Vt[4]){x.redrawHint("drag",!0),x.redrawHint("eles",!0);var wo=Cs&&Cs.grabbed();_e(wr),wo&&(Cs.emit("freeon"),wr.emit("free"),x.dragData.didDrag&&(Cs.emit("dragfreeon"),wr.emit("dragfree")))}}Vt[4]=0,x.hoverData.down=null,x.hoverData.cxtStarted=!1,x.hoverData.draggingEles=!1,x.hoverData.selecting=!1,x.hoverData.isOverThresholdDrag=!1,x.dragData.didDrag=!1,x.hoverData.dragged=!1,x.hoverData.dragDelta=[],x.hoverData.mdownPos=null,x.hoverData.mdownGPos=null}},!1);var Wt=function(G){if(!x.scrollingPage){var Jn=x.cy,kr=Jn.zoom(),lr=Jn.pan(),Vt=x.projectIntoViewport(G.clientX,G.clientY),qs=[Vt[0]*kr+lr.x,Vt[1]*kr+lr.y];if(x.hoverData.draggingEles||x.hoverData.dragging||x.hoverData.cxtStarted||mt()){G.preventDefault();return}if(Jn.panningEnabled()&&Jn.userPanningEnabled()&&Jn.zoomingEnabled()&&Jn.userZoomingEnabled()){G.preventDefault(),x.data.wheelZooming=!0,clearTimeout(x.data.wheelTimeout),x.data.wheelTimeout=setTimeout(function(){x.data.wheelZooming=!1,x.redrawHint("eles",!0),x.redraw()},150);var wr;G.deltaY!=null?wr=G.deltaY/-250:G.wheelDeltaY!=null?wr=G.wheelDeltaY/1e3:wr=G.wheelDelta/1e3,wr=wr*x.wheelSensitivity;var Cs=G.deltaMode===1;Cs&&(wr*=33);var ho=Jn.zoom()*Math.pow(10,wr);G.type==="gesturechange"&&(ho=x.gestureStartZoom*G.scale),Jn.zoom({level:ho,renderedPosition:{x:qs[0],y:qs[1]}}),Jn.emit(G.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};x.registerBinding(x.container,"wheel",Wt,!0),x.registerBinding(m,"scroll",function(G){x.scrollingPage=!0,clearTimeout(x.scrollingPageTimeout),x.scrollingPageTimeout=setTimeout(function(){x.scrollingPage=!1},250)},!0),x.registerBinding(x.container,"gesturestart",function(G){x.gestureStartZoom=x.cy.zoom(),x.hasTouchStarted||G.preventDefault()},!0),x.registerBinding(x.container,"gesturechange",function(tr){x.hasTouchStarted||Wt(tr)},!0),x.registerBinding(x.container,"mouseout",function(G){var Jn=x.projectIntoViewport(G.clientX,G.clientY);x.cy.emit({originalEvent:G,type:"mouseout",position:{x:Jn[0],y:Jn[1]}})},!1),x.registerBinding(x.container,"mouseover",function(G){var Jn=x.projectIntoViewport(G.clientX,G.clientY);x.cy.emit({originalEvent:G,type:"mouseover",position:{x:Jn[0],y:Jn[1]}})},!1);var Ct,_n,hn,Yt,Dn,ir,vr,Pn,pr,Er,Mr,Tr,Or,Wn=function(G,Jn,kr,lr){return Math.sqrt((kr-G)*(kr-G)+(lr-Jn)*(lr-Jn))},br=function(G,Jn,kr,lr){return(kr-G)*(kr-G)+(lr-Jn)*(lr-Jn)},Cr;x.registerBinding(x.container,"touchstart",Cr=function(G){if(x.hasTouchStarted=!0,!!Qe(G)){Fe(),x.touchData.capture=!0,x.data.bgActivePosistion=void 0;var Jn=x.cy,kr=x.touchData.now,lr=x.touchData.earlier;if(G.touches[0]){var Vt=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);kr[0]=Vt[0],kr[1]=Vt[1]}if(G.touches[1]){var Vt=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);kr[2]=Vt[0],kr[3]=Vt[1]}if(G.touches[2]){var Vt=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);kr[4]=Vt[0],kr[5]=Vt[1]}if(G.touches[1]){x.touchData.singleTouchMoved=!0,_e(x.dragData.touchDragEles);var qs=x.findContainerClientCoords();pr=qs[0],Er=qs[1],Mr=qs[2],Tr=qs[3],Ct=G.touches[0].clientX-pr,_n=G.touches[0].clientY-Er,hn=G.touches[1].clientX-pr,Yt=G.touches[1].clientY-Er,Or=0<=Ct&&Ct<=Mr&&0<=hn&&hn<=Mr&&0<=_n&&_n<=Tr&&0<=Yt&&Yt<=Tr;var wr=Jn.pan(),Cs=Jn.zoom();Dn=Wn(Ct,_n,hn,Yt),ir=br(Ct,_n,hn,Yt),vr=[(Ct+hn)/2,(_n+Yt)/2],Pn=[(vr[0]-wr.x)/Cs,(vr[1]-wr.y)/Cs];var ho=200,qc=ho*ho;if(ir=1){for(var tb=x.touchData.startPosition=[null,null,null,null,null,null],V0=0;V0=x.touchTapThreshold2}if(Jn&&x.touchData.cxt){G.preventDefault();var tb=G.touches[0].clientX-pr,V0=G.touches[0].clientY-Er,qp=G.touches[1].clientX-pr,ud=G.touches[1].clientY-Er,Xv=br(tb,V0,qp,ud),ay=Xv/ir,E8=150,x5=E8*E8,T8=1.5,ZS=T8*T8;if(ay>=ZS||Xv>=x5){x.touchData.cxt=!1,x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var k5={originalEvent:G,type:"cxttapend",position:{x:Vt[0],y:Vt[1]}};x.touchData.start?(x.touchData.start.unactivate().emit(k5),x.touchData.start=null):lr.emit(k5)}}if(Jn&&x.touchData.cxt){var k5={originalEvent:G,type:"cxtdrag",position:{x:Vt[0],y:Vt[1]}};x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.touchData.start?x.touchData.start.emit(k5):lr.emit(k5),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxtDragged=!0;var Xd=x.findNearestElement(Vt[0],Vt[1],!0,!0);(!x.touchData.cxtOver||Xd!==x.touchData.cxtOver)&&(x.touchData.cxtOver&&x.touchData.cxtOver.emit({originalEvent:G,type:"cxtdragout",position:{x:Vt[0],y:Vt[1]}}),x.touchData.cxtOver=Xd,Xd&&Xd.emit({originalEvent:G,type:"cxtdragover",position:{x:Vt[0],y:Vt[1]}}))}else if(Jn&&G.touches[2]&&lr.boxSelectionEnabled())G.preventDefault(),x.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,x.touchData.selecting||lr.emit({originalEvent:G,type:"boxstart",position:{x:Vt[0],y:Vt[1]}}),x.touchData.selecting=!0,x.touchData.didSelect=!0,kr[4]=1,!kr||kr.length===0||kr[0]===void 0?(kr[0]=(Vt[0]+Vt[2]+Vt[4])/3,kr[1]=(Vt[1]+Vt[3]+Vt[5])/3,kr[2]=(Vt[0]+Vt[2]+Vt[4])/3+1,kr[3]=(Vt[1]+Vt[3]+Vt[5])/3+1):(kr[2]=(Vt[0]+Vt[2]+Vt[4])/3,kr[3]=(Vt[1]+Vt[3]+Vt[5])/3),x.redrawHint("select",!0),x.redraw();else if(Jn&&G.touches[1]&&!x.touchData.didSelect&&lr.zoomingEnabled()&&lr.panningEnabled()&&lr.userZoomingEnabled()&&lr.userPanningEnabled()){G.preventDefault(),x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var T1=x.dragData.touchDragEles;if(T1){x.redrawHint("drag",!0);for(var Qd=0;Qd0&&!x.hoverData.draggingEles&&!x.swipePanning&&x.data.bgActivePosistion!=null&&(x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.redraw())}},!1);var _i;x.registerBinding(m,"touchcancel",_i=function(G){var Jn=x.touchData.start;x.touchData.capture=!1,Jn&&Jn.unactivate()});var xs,pa,Di,pi;if(x.registerBinding(m,"touchend",xs=function(G){var Jn=x.touchData.start,kr=x.touchData.capture;if(kr)G.touches.length===0&&(x.touchData.capture=!1),G.preventDefault();else return;var lr=x.selection;x.swipePanning=!1,x.hoverData.draggingEles=!1;var Vt=x.cy,qs=Vt.zoom(),wr=x.touchData.now,Cs=x.touchData.earlier;if(G.touches[0]){var ho=x.projectIntoViewport(G.touches[0].clientX,G.touches[0].clientY);wr[0]=ho[0],wr[1]=ho[1]}if(G.touches[1]){var ho=x.projectIntoViewport(G.touches[1].clientX,G.touches[1].clientY);wr[2]=ho[0],wr[3]=ho[1]}if(G.touches[2]){var ho=x.projectIntoViewport(G.touches[2].clientX,G.touches[2].clientY);wr[4]=ho[0],wr[5]=ho[1]}Jn&&Jn.unactivate();var qc;if(x.touchData.cxt){if(qc={originalEvent:G,type:"cxttapend",position:{x:wr[0],y:wr[1]}},Jn?Jn.emit(qc):Vt.emit(qc),!x.touchData.cxtDragged){var za={originalEvent:G,type:"cxttap",position:{x:wr[0],y:wr[1]}};Jn?Jn.emit(za):Vt.emit(za)}x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!1,x.touchData.start=null,x.redraw();return}if(!G.touches[2]&&Vt.boxSelectionEnabled()&&x.touchData.selecting){x.touchData.selecting=!1;var Ac=Vt.collection(x.getAllInBox(lr[0],lr[1],lr[2],lr[3]));lr[0]=void 0,lr[1]=void 0,lr[2]=void 0,lr[3]=void 0,lr[4]=0,x.redrawHint("select",!0),Vt.emit({type:"boxend",originalEvent:G,position:{x:wr[0],y:wr[1]}});var ba=function(x5){return x5.selectable()&&!x5.selected()};Ac.emit("box").stdFilter(ba).select().emit("boxselect"),Ac.nonempty()&&x.redrawHint("eles",!0),x.redraw()}if(Jn!=null&&Jn.unactivate(),G.touches[2])x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);else if(!G.touches[1]){if(!G.touches[0]){if(!G.touches[0]){x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var wo=x.dragData.touchDragEles;if(Jn!=null){var fh=Jn._private.grabbed;_e(wo),x.redrawHint("drag",!0),x.redrawHint("eles",!0),fh&&(Jn.emit("freeon"),wo.emit("free"),x.dragData.didDrag&&(Jn.emit("dragfreeon"),wo.emit("dragfree"))),S(Jn,["touchend","tapend","vmouseup","tapdragout"],G,{x:wr[0],y:wr[1]}),Jn.unactivate(),x.touchData.start=null}else{var Yl=x.findNearestElement(wr[0],wr[1],!0,!0);S(Yl,["touchend","tapend","vmouseup","tapdragout"],G,{x:wr[0],y:wr[1]})}var eb=x.touchData.startPosition[0]-wr[0],tb=eb*eb,V0=x.touchData.startPosition[1]-wr[1],qp=V0*V0,ud=tb+qp,Xv=ud*qs*qs;x.touchData.singleTouchMoved||(Jn||Vt.$(":selected").unselect(["tapunselect"]),S(Jn,["tap","vclick"],G,{x:wr[0],y:wr[1]}),pa=!1,G.timeStamp-pi<=Vt.multiClickDebounceTime()?(Di&&clearTimeout(Di),pa=!0,pi=null,S(Jn,["dbltap","vdblclick"],G,{x:wr[0],y:wr[1]})):(Di=setTimeout(function(){pa||S(Jn,["onetap","voneclick"],G,{x:wr[0],y:wr[1]})},Vt.multiClickDebounceTime()),pi=G.timeStamp)),Jn!=null&&!x.dragData.didDrag&&Jn._private.selectable&&Xv"u"){var ds=[],Fs=function(G){return{clientX:G.clientX,clientY:G.clientY,force:1,identifier:G.pointerId,pageX:G.pageX,pageY:G.pageY,radiusX:G.width/2,radiusY:G.height/2,screenX:G.screenX,screenY:G.screenY,target:G.target}},ks=function(G){return{event:G,touch:Fs(G)}},Rs=function(G){ds.push(ks(G))},vo=function(G){for(var Jn=0;Jn0)return Pn[0]}return null},ve=Object.keys(Z),me=0;me0?ce:mj(O,N,m,k,S,M,$)},checkPoint:function(m,k,S,M,O,N,$){var H=W9(M,O),q=2*H;if(Kv(m,k,this.points,N,$,M,O-q,[0,-1],S)||Kv(m,k,this.points,N,$,M-q,O,[0,-1],S))return!0;var Y=M/2+2*S,Z=O/2+2*S,ce=[N-Y,$-Z,N-Y,$,N+Y,$,N+Y,$-Z];return!!(Wd(m,k,ce)||d5(m,k,q,q,N+M/2-H,$+O/2-H,S)||d5(m,k,q,q,N-M/2+H,$+O/2-H,S))}}},Yv.registerNodeShapes=function(){var x=this.nodeShapes={},m=this;this.generateEllipse(),this.generatePolygon("triangle",cd(3,0)),this.generateRoundPolygon("round-triangle",cd(3,0)),this.generatePolygon("rectangle",cd(4,0)),x.square=x.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var k=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",k),this.generateRoundPolygon("round-diamond",k)}this.generatePolygon("pentagon",cd(5,0)),this.generateRoundPolygon("round-pentagon",cd(5,0)),this.generatePolygon("hexagon",cd(6,0)),this.generateRoundPolygon("round-hexagon",cd(6,0)),this.generatePolygon("heptagon",cd(7,0)),this.generateRoundPolygon("round-heptagon",cd(7,0)),this.generatePolygon("octagon",cd(8,0)),this.generateRoundPolygon("round-octagon",cd(8,0));var S=new Array(20);{var M=oI(5,0),O=oI(5,Math.PI/5),N=.5*(3-Math.sqrt(5));N*=1.57;for(var $=0;$=m.deqFastCost*Ve)break}else if(q){if(Fe>=m.deqCost*ve||Fe>=m.deqAvgCost*ce)break}else if(Re>=m.deqNoDrawCost*RI)break;var ct=m.deq(S,_e,Le);if(ct.length>0)for(var st=0;st0&&(m.onDeqd(S,me),!q&&m.shouldRedraw(S,me,_e,Le)&&O())},$=m.priority||nI;M.beforeRender(N,$(S))}}}},Gre=function(){function x(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Q3;d(this,x),this.idsByKey=new wm,this.keyForId=new wm,this.cachesByLvl=new wm,this.lvls=[],this.getKey=m,this.doesEleInvalidateKey=k}return v(x,[{key:"getIdsFor",value:function(k){k==null&&lh("Can not get id list for null key");var S=this.idsByKey,M=this.idsByKey.get(k);return M||(M=new Q7,S.set(k,M)),M}},{key:"addIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).add(S)}},{key:"deleteIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).delete(S)}},{key:"getNumberOfIdsForKey",value:function(k){return k==null?0:this.getIdsFor(k).size}},{key:"updateKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);this.deleteIdForKey(M,S),this.addIdForKey(O,S),this.keyForId.set(S,O)}},{key:"deleteKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteIdForKey(M,S),this.keyForId.delete(S)}},{key:"keyHasChangedFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);return M!==O}},{key:"isInvalid",value:function(k){return this.keyHasChangedFor(k)||this.doesEleInvalidateKey(k)}},{key:"getCachesAt",value:function(k){var S=this.cachesByLvl,M=this.lvls,O=S.get(k);return O||(O=new wm,S.set(k,O),M.push(k)),O}},{key:"getCache",value:function(k,S){return this.getCachesAt(S).get(k)}},{key:"get",value:function(k,S){var M=this.getKey(k),O=this.getCache(M,S);return O!=null&&this.updateKeyMappingFor(k),O}},{key:"getForCachedKey",value:function(k,S){var M=this.keyForId.get(k.id()),O=this.getCache(M,S);return O}},{key:"hasCache",value:function(k,S){return this.getCachesAt(S).has(k)}},{key:"has",value:function(k,S){var M=this.getKey(k);return this.hasCache(M,S)}},{key:"setCache",value:function(k,S,M){M.key=k,this.getCachesAt(S).set(k,M)}},{key:"set",value:function(k,S,M){var O=this.getKey(k);this.setCache(O,S,M),this.updateKeyMappingFor(k)}},{key:"deleteCache",value:function(k,S){this.getCachesAt(S).delete(k)}},{key:"delete",value:function(k,S){var M=this.getKey(k);this.deleteCache(M,S)}},{key:"invalidateKey",value:function(k){var S=this;this.lvls.forEach(function(M){return S.deleteCache(k,M)})}},{key:"invalidate",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteKeyMappingFor(k);var O=this.doesEleInvalidateKey(k);return O&&this.invalidateKey(M),O||this.getNumberOfIdsForKey(M)===0}}]),x}(),uz=25,YS=50,XS=-4,jI=3,Kre=7.99,Wre=8,Yre=1024,Xre=1024,Qre=1024,Jre=.2,Zre=.8,eie=10,tie=.15,nie=.1,rie=.9,iie=.9,sie=100,aie=1,v8={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},oie=$0({getKey:null,doesEleInvalidateKey:Q3,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:l5,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),dk=function(m,k){var S=this;S.renderer=m,S.onDequeues=[];var M=oie(k);yt(S,M),S.lookup=new Gre(M.getKey,M.doesEleInvalidateKey),S.setupDequeueing()},Tf=dk.prototype;Tf.reasons=v8,Tf.getTextureQueue=function(x){var m=this;return m.eleImgCaches=m.eleImgCaches||{},m.eleImgCaches[x]=m.eleImgCaches[x]||[]},Tf.getRetiredTextureQueue=function(x){var m=this,k=m.eleImgCaches.retired=m.eleImgCaches.retired||{},S=k[x]=k[x]||[];return S},Tf.getElementQueue=function(){var x=this,m=x.eleCacheQueue=x.eleCacheQueue||new V9(function(k,S){return S.reqs-k.reqs});return m},Tf.getElementKeyToQueue=function(){var x=this,m=x.eleKeyToCacheQueue=x.eleKeyToCacheQueue||{};return m},Tf.getElement=function(x,m,k,S,M){var O=this,N=this.renderer,$=N.cy.zoom(),H=this.lookup;if(!m||m.w===0||m.h===0||isNaN(m.w)||isNaN(m.h)||!x.visible()||x.removed()||!O.allowEdgeTxrCaching&&x.isEdge()||!O.allowParentTxrCaching&&x.isParent())return null;if(S==null&&(S=Math.ceil(iI($*k))),S=Kre||S>jI)return null;var q=Math.pow(2,S),Y=m.h*q,Z=m.w*q,ce=N.eleTextBiggerThanMin(x,q);if(!this.isVisible(x,ce))return null;var ve=H.get(x,S);if(ve&&ve.invalidated&&(ve.invalidated=!1,ve.texture.invalidatedWidth-=ve.width),ve)return ve;var me;if(Y<=uz?me=uz:Y<=YS?me=YS:me=Math.ceil(Y/YS)*YS,Y>Qre||Z>Xre)return null;var Le=O.getTextureQueue(me),_e=Le[Le.length-2],Ee=function(){return O.recycleTexture(me,Z)||O.addTexture(me,Z)};_e||(_e=Le[Le.length-1]),_e||(_e=Ee()),_e.width-_e.usedWidthS;Dt--)Qe=O.getElement(x,m,k,Dt,v8.downscale);Mt()}else return O.queueElement(x,st.level-1),st;else{var ut;if(!Re&&!Ve&&!ct)for(var Wt=S-1;Wt>=XS;Wt--){var Ct=H.get(x,Wt);if(Ct){ut=Ct;break}}if(Fe(ut))return O.queueElement(x,S),ut;_e.context.translate(_e.usedWidth,0),_e.context.scale(q,q),this.drawElement(_e.context,x,m,ce,!1),_e.context.scale(1/q,1/q),_e.context.translate(-_e.usedWidth,0)}return ve={x:_e.usedWidth,texture:_e,level:S,scale:q,width:Z,height:Y,scaledLabelShown:ce},_e.usedWidth+=Math.ceil(Z+Wre),_e.eleCaches.push(ve),H.set(x,S,ve),O.checkTextureFullness(_e),ve},Tf.invalidateElements=function(x){for(var m=0;m=Jre*x.width&&this.retireTexture(x)},Tf.checkTextureFullness=function(x){var m=this,k=m.getTextureQueue(x.height);x.usedWidth/x.width>Zre&&x.fullnessChecks>=eie?J3(k,x):x.fullnessChecks++},Tf.retireTexture=function(x){var m=this,k=x.height,S=m.getTextureQueue(k),M=this.lookup;J3(S,x),x.retired=!0;for(var O=x.eleCaches,N=0;N=m)return N.retired=!1,N.usedWidth=0,N.invalidatedWidth=0,N.fullnessChecks=0,cS(N.eleCaches),N.context.setTransform(1,0,0,1,0,0),N.context.clearRect(0,0,N.width,N.height),J3(M,N),S.push(N),N}},Tf.queueElement=function(x,m){var k=this,S=k.getElementQueue(),M=k.getElementKeyToQueue(),O=this.getKey(x),N=M[O];if(N)N.level=Math.max(N.level,m),N.eles.merge(x),N.reqs++,S.updateItem(N);else{var $={eles:x.spawn().merge(x),level:m,reqs:1,key:O};S.push($),M[O]=$}},Tf.dequeue=function(x){for(var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=[],O=m.lookup,N=0;N0;N++){var $=k.pop(),H=$.key,q=$.eles[0],Y=O.hasCache(q,$.level);if(S[H]=null,Y)continue;M.push($);var Z=m.getBoundingBox(q);m.getElement(q,Z,x,$.level,v8.dequeue)}return M},Tf.removeFromQueue=function(x){var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=this.getKey(x),O=S[M];O!=null&&(O.eles.length===1?(O.reqs=X7,k.updateItem(O),k.pop(),S[M]=null):O.eles.unmerge(x))},Tf.onDequeue=function(x){this.onDequeues.push(x)},Tf.offDequeue=function(x){J3(this.onDequeues,x)},Tf.setupDequeueing=cz.setupDequeueing({deqRedrawThreshold:sie,deqCost:tie,deqAvgCost:nie,deqNoDrawCost:rie,deqFastCost:iie,deq:function(m,k,S){return m.dequeue(k,S)},onDeqd:function(m,k){for(var S=0;S=uie||k>QS)return null}S.validateLayersElesOrdering(k,x);var H=S.layersByLevel,q=Math.pow(2,k),Y=H[k]=H[k]||[],Z,ce=S.levelIsComplete(k,x),ve,me=function(){var Mt=function(_n){if(S.validateLayersElesOrdering(_n,x),S.levelIsComplete(_n,x))return ve=H[_n],!0},Dt=function(_n){if(!ve)for(var hn=k+_n;gk<=hn&&hn<=QS&&!Mt(hn);hn+=_n);};Dt(1),Dt(-1);for(var ut=Y.length-1;ut>=0;ut--){var Wt=Y[ut];Wt.invalid&&J3(Y,Wt)}};if(!ce)me();else return Y;var Le=function(){if(!Z){Z=Kd();for(var Mt=0;Mtfz)return null;var Wt=S.makeLayer(Z,k);if(Dt!=null){var Ct=Y.indexOf(Dt)+1;Y.splice(Ct,0,Wt)}else(Mt.insert===void 0||Mt.insert)&&Y.unshift(Wt);return Wt};if(S.skipping&&!$)return null;for(var Ee=null,Fe=x.length/cie,Re=!$,Ve=0;Ve=Fe||!bj(Ee.bb,ct.boundingBox()))&&(Ee=_e({insert:!0,after:Ee}),!Ee))return null;ve||Re?S.queueLayer(Ee,ct):S.drawEleInLayer(Ee,ct,k,m),Ee.eles.push(ct),Ye[k]=Ee}return ve||(Re?null:Y)},t0.getEleLevelForLayerLevel=function(x,m){return x},t0.drawEleInLayer=function(x,m,k,S){var M=this,O=this.renderer,N=x.context,$=m.boundingBox();$.w===0||$.h===0||!m.visible()||(k=M.getEleLevelForLayerLevel(k,S),O.setImgSmoothing(N,!1),O.drawCachedElement(N,m,null,null,k,dz),O.setImgSmoothing(N,!0))},t0.levelIsComplete=function(x,m){var k=this,S=k.layersByLevel[x];if(!S||S.length===0)return!1;for(var M=0,O=0;O0||N.invalid)return!1;M+=N.eles.length}return M===m.length},t0.validateLayersElesOrdering=function(x,m){var k=this.layersByLevel[x];if(k)for(var S=0;S0){m=!0;break}}return m},t0.invalidateElements=function(x){var m=this;x.length!==0&&(m.lastInvalidationTime=Fp(),!(x.length===0||!m.haveLayers())&&m.updateElementsInLayers(x,function(S,M,O){m.invalidateLayer(S)}))},t0.invalidateLayer=function(x){if(this.lastInvalidationTime=Fp(),!x.invalid){var m=x.level,k=x.eles,S=this.layersByLevel[m];J3(S,x),x.elesQueue=[],x.invalid=!0,x.replacement&&(x.replacement.invalid=!0);for(var M=0;M3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$=m._private.rscratch;if(!(O&&!m.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var H;k&&(H=k,x.translate(-H.x1,-H.y1));var q=O?m.pstyle("opacity").value:1,Y=O?m.pstyle("line-opacity").value:1,Z=m.pstyle("curve-style").value,ce=m.pstyle("line-style").value,ve=m.pstyle("width").pfValue,me=m.pstyle("line-cap").value,Le=q*Y,_e=q*Y,Ee=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Le;Z==="straight-triangle"?(N.eleStrokeStyle(x,m,ut),N.drawEdgeTrianglePath(m,x,$.allpts)):(x.lineWidth=ve,x.lineCap=me,N.eleStrokeStyle(x,m,ut),N.drawEdgePath(m,x,$.allpts,ce),x.lineCap="butt")},Fe=function(){M&&N.drawEdgeOverlay(x,m)},Re=function(){M&&N.drawEdgeUnderlay(x,m)},Ve=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_e;N.drawArrowheads(x,m,ut)},ct=function(){N.drawElementText(x,m,null,S)};x.lineJoin="round";var st=m.pstyle("ghost").value==="yes";if(st){var Ye=m.pstyle("ghost-offset-x").pfValue,mt=m.pstyle("ghost-offset-y").pfValue,Qe=m.pstyle("ghost-opacity").value,Mt=Le*Qe;x.translate(Ye,mt),Ee(Mt),Ve(Mt),x.translate(-Ye,-mt)}Re(),Ee(),Ve(),Fe(),ct(),k&&x.translate(H.x1,H.y1)}};var yz=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S){if(S.visible()){var M=S.pstyle("".concat(m,"-opacity")).value;if(M!==0){var O=this,N=O.usePaths(),$=S._private.rscratch,H=S.pstyle("".concat(m,"-padding")).pfValue,q=2*H,Y=S.pstyle("".concat(m,"-color")).value;k.lineWidth=q,$.edgeType==="self"&&!N?k.lineCap="butt":k.lineCap="round",O.colorStrokeStyle(k,Y[0],Y[1],Y[2],M),O.drawEdgePath(S,k,$.allpts,"solid")}}}};Z2.drawEdgeOverlay=yz("overlay"),Z2.drawEdgeUnderlay=yz("underlay"),Z2.drawEdgePath=function(x,m,k,S){var M=x._private.rscratch,O=m,N,$=!1,H=this.usePaths(),q=x.pstyle("line-dash-pattern").pfValue,Y=x.pstyle("line-dash-offset").pfValue;if(H){var Z=k.join("$"),ce=M.pathCacheKey&&M.pathCacheKey===Z;ce?(N=m=M.pathCache,$=!0):(N=m=new Path2D,M.pathCacheKey=Z,M.pathCache=N)}if(O.setLineDash)switch(S){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(q),O.lineDashOffset=Y;break;case"solid":O.setLineDash([]);break}if(!$&&!M.badLine)switch(m.beginPath&&m.beginPath(),m.moveTo(k[0],k[1]),M.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ve=2;ve+35&&arguments[5]!==void 0?arguments[5]:!0,N=this;if(S==null){if(O&&!N.eleTextBiggerThanMin(m))return}else if(S===!1)return;if(m.isNode()){var $=m.pstyle("label");if(!$||!$.value)return;var H=N.getLabelJustification(m);x.textAlign=H,x.textBaseline="bottom"}else{var q=m.element()._private.rscratch.badLine,Y=m.pstyle("label"),Z=m.pstyle("source-label"),ce=m.pstyle("target-label");if(q||(!Y||!Y.value)&&(!Z||!Z.value)&&(!ce||!ce.value))return;x.textAlign="center",x.textBaseline="bottom"}var ve=!k,me;k&&(me=k,x.translate(-me.x1,-me.y1)),M==null?(N.drawText(x,m,null,ve,O),m.isEdge()&&(N.drawText(x,m,"source",ve,O),N.drawText(x,m,"target",ve,O))):N.drawText(x,m,M,ve,O),k&&x.translate(me.x1,me.y1)},y5.getFontCache=function(x){var m;this.fontCaches=this.fontCaches||[];for(var k=0;k2&&arguments[2]!==void 0?arguments[2]:!0,S=m.pstyle("font-style").strValue,M=m.pstyle("font-size").pfValue+"px",O=m.pstyle("font-family").strValue,N=m.pstyle("font-weight").strValue,$=k?m.effectiveOpacity()*m.pstyle("text-opacity").value:1,H=m.pstyle("text-outline-opacity").value*$,q=m.pstyle("color").value,Y=m.pstyle("text-outline-color").value;x.font=S+" "+N+" "+M+" "+O,x.lineJoin="round",this.colorFillStyle(x,q[0],q[1],q[2],$),this.colorStrokeStyle(x,Y[0],Y[1],Y[2],H)};function zI(x,m,k,S,M){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,N=arguments.length>6?arguments[6]:void 0;x.beginPath(),x.moveTo(m+O,k),x.lineTo(m+S-O,k),x.quadraticCurveTo(m+S,k,m+S,k+O),x.lineTo(m+S,k+M-O),x.quadraticCurveTo(m+S,k+M,m+S-O,k+M),x.lineTo(m+O,k+M),x.quadraticCurveTo(m,k+M,m,k+M-O),x.lineTo(m,k+O),x.quadraticCurveTo(m,k,m+O,k),x.closePath(),N?x.stroke():x.fill()}y5.getTextAngle=function(x,m){var k,S=x._private,M=S.rscratch,O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=W2(M,"labelAngle",m);return N.strValue==="autorotate"?k=x.isEdge()?$:0:N.strValue==="none"?k=0:k=N.pfValue,k},y5.drawText=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=m._private,N=O.rscratch,$=M?m.effectiveOpacity():1;if(!(M&&($===0||m.pstyle("text-opacity").value===0))){k==="main"&&(k=null);var H=W2(N,"labelX",k),q=W2(N,"labelY",k),Y,Z,ce=this.getLabelText(m,k);if(ce!=null&&ce!==""&&!isNaN(H)&&!isNaN(q)){this.setupTextStyle(x,m,M);var ve=k?k+"-":"",me=W2(N,"labelWidth",k),Le=W2(N,"labelHeight",k),_e=m.pstyle(ve+"text-margin-x").pfValue,Ee=m.pstyle(ve+"text-margin-y").pfValue,Fe=m.isEdge(),Re=m.pstyle("text-halign").value,Ve=m.pstyle("text-valign").value;Fe&&(Re="center",Ve="center"),H+=_e,q+=Ee;var ct;switch(S?ct=this.getTextAngle(m,k):ct=0,ct!==0&&(Y=H,Z=q,x.translate(Y,Z),x.rotate(ct),H=0,q=0),Ve){case"top":break;case"center":q+=Le/2;break;case"bottom":q+=Le;break}var st=m.pstyle("text-background-opacity").value,Ye=m.pstyle("text-border-opacity").value,mt=m.pstyle("text-border-width").pfValue,Qe=m.pstyle("text-background-padding").pfValue,Mt=m.pstyle("text-background-shape").strValue,Dt=Mt.indexOf("round")===0,ut=2;if(st>0||mt>0&&Ye>0){var Wt=H-Qe;switch(Re){case"left":Wt-=me;break;case"center":Wt-=me/2;break}var Ct=q-Le-Qe,_n=me+2*Qe,hn=Le+2*Qe;if(st>0){var Yt=x.fillStyle,Dn=m.pstyle("text-background-color").value;x.fillStyle="rgba("+Dn[0]+","+Dn[1]+","+Dn[2]+","+st*$+")",Dt?zI(x,Wt,Ct,_n,hn,ut):x.fillRect(Wt,Ct,_n,hn),x.fillStyle=Yt}if(mt>0&&Ye>0){var ir=x.strokeStyle,vr=x.lineWidth,Pn=m.pstyle("text-border-color").value,pr=m.pstyle("text-border-style").value;if(x.strokeStyle="rgba("+Pn[0]+","+Pn[1]+","+Pn[2]+","+Ye*$+")",x.lineWidth=mt,x.setLineDash)switch(pr){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"double":x.lineWidth=mt/4,x.setLineDash([]);break;case"solid":x.setLineDash([]);break}if(Dt?zI(x,Wt,Ct,_n,hn,ut,"stroke"):x.strokeRect(Wt,Ct,_n,hn),pr==="double"){var Er=mt/2;Dt?zI(x,Wt+Er,Ct+Er,_n-Er*2,hn-Er*2,ut,"stroke"):x.strokeRect(Wt+Er,Ct+Er,_n-Er*2,hn-Er*2)}x.setLineDash&&x.setLineDash([]),x.lineWidth=vr,x.strokeStyle=ir}}var Mr=2*m.pstyle("text-outline-width").pfValue;if(Mr>0&&(x.lineWidth=Mr),m.pstyle("text-wrap").value==="wrap"){var Tr=W2(N,"labelWrapCachedLines",k),Or=W2(N,"labelLineHeight",k),Wn=me/2,br=this.getLabelJustification(m);switch(br==="auto"||(Re==="left"?br==="left"?H+=-me:br==="center"&&(H+=-Wn):Re==="center"?br==="left"?H+=-Wn:br==="right"&&(H+=Wn):Re==="right"&&(br==="center"?H+=Wn:br==="right"&&(H+=me))),Ve){case"top":q-=(Tr.length-1)*Or;break;case"center":case"bottom":q-=(Tr.length-1)*Or;break}for(var Cr=0;Cr0&&x.strokeText(Tr[Cr],H,q),x.fillText(Tr[Cr],H,q),q+=Or}else Mr>0&&x.strokeText(ce,H,q),x.fillText(ce,H,q);ct!==0&&(x.rotate(-ct),x.translate(-Y,-Z))}}};var w8={};w8.drawNode=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$,H,q=m._private,Y=q.rscratch,Z=m.position();if(!(!X(Z.x)||!X(Z.y))&&!(O&&!m.visible())){var ce=O?m.effectiveOpacity():1,ve=N.usePaths(),me,Le=!1,_e=m.padding();$=m.width()+2*_e,H=m.height()+2*_e;var Ee;k&&(Ee=k,x.translate(-Ee.x1,-Ee.y1));for(var Fe=m.pstyle("background-image"),Re=Fe.value,Ve=new Array(Re.length),ct=new Array(Re.length),st=0,Ye=0;Ye0&&arguments[0]!==void 0?arguments[0]:Wt;N.eleFillStyle(x,m,tr)},Er=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:hn;N.colorStrokeStyle(x,Ct[0],Ct[1],Ct[2],tr)},Mr=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:vr;N.colorStrokeStyle(x,Dn[0],Dn[1],Dn[2],tr)},Tr=function(tr,G,Jn,kr){var lr=N.nodePathCache=N.nodePathCache||[],Vt=od(Jn==="polygon"?Jn+","+kr.join(","):Jn,""+G,""+tr),qs=lr[Vt],wr,Cs=!1;return qs!=null?(wr=qs,Cs=!0,Y.pathCache=wr):(wr=new Path2D,lr[Vt]=Y.pathCache=wr),{path:wr,cacheHit:Cs}},Or=m.pstyle("shape").strValue,Wn=m.pstyle("shape-polygon-points").pfValue;if(ve){x.translate(Z.x,Z.y);var br=Tr($,H,Or,Wn);me=br.path,Le=br.cacheHit}var Cr=function(){if(!Le){var tr=Z;ve&&(tr={x:0,y:0}),N.nodeShapes[N.getNodeShape(m)].draw(me||x,tr.x,tr.y,$,H)}ve?x.fill(me):x.fill()},Nr=function(){for(var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Jn=q.backgrounding,kr=0,lr=0;lr0&&arguments[0]!==void 0?arguments[0]:!1,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ce;N.hasPie(m)&&(N.drawPie(x,m,G),tr&&(ve||N.nodeShapes[N.getNodeShape(m)].draw(x,Z.x,Z.y,$,H)))},xs=function(){var tr=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,G=(Dt>0?Dt:-Dt)*tr,Jn=Dt>0?0:255;Dt!==0&&(N.colorFillStyle(x,Jn,Jn,Jn,G),ve?x.fill(me):x.fill())},pa=function(){if(ut>0){if(x.lineWidth=ut,x.lineCap="butt",x.setLineDash)switch(_n){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}if(ve?x.stroke(me):x.stroke(),_n==="double"){x.lineWidth=ut/3;var tr=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(me):x.stroke(),x.globalCompositeOperation=tr}x.setLineDash&&x.setLineDash([])}},Di=function(){if(Yt>0){if(x.lineWidth=Yt,x.lineCap="butt",x.setLineDash)switch(ir){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}var tr=Z;ve&&(tr={x:0,y:0});var G=N.getNodeShape(m),Jn=($+ut+(Yt+Pn))/$,kr=(H+ut+(Yt+Pn))/H,lr=$*Jn,Vt=H*kr,qs=N.nodeShapes[G].points,wr;if(ve){var Cs=Tr(lr,Vt,G,qs);wr=Cs.path}if(G==="ellipse")N.drawEllipsePath(wr||x,tr.x,tr.y,lr,Vt);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(G)){var ho=0,qc=0,za=0;G==="round-diamond"?ho=(ut+Pn+Yt)*1.4:G==="round-heptagon"?(ho=(ut+Pn+Yt)*1.075,za=-(ut/2+Pn+Yt)/35):G==="round-hexagon"?ho=(ut+Pn+Yt)*1.12:G==="round-pentagon"?(ho=(ut+Pn+Yt)*1.13,za=-(ut/2+Pn+Yt)/15):G==="round-tag"?(ho=(ut+Pn+Yt)*1.12,qc=(ut/2+Yt+Pn)*.07):G==="round-triangle"&&(ho=(ut+Pn+Yt)*(Math.PI/2),za=-(ut+Pn/2+Yt)/Math.PI),ho!==0&&(Jn=($+ho)/$,kr=(H+ho)/H),N.drawRoundPolygonPath(wr||x,tr.x+qc,tr.y+za,$*Jn,H*kr,qs)}else if(["roundrectangle","round-rectangle"].includes(G))N.drawRoundRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(["cutrectangle","cut-rectangle"].includes(G))N.drawCutRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(G))N.drawBottomRoundRectanglePath(wr||x,tr.x,tr.y,lr,Vt);else if(G==="barrel")N.drawBarrelPath(wr||x,tr.x,tr.y,lr,Vt);else if(G.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(G)){var Ac=(ut+Yt+Pn)/$;qs=gS(pS(qs,Ac)),N.drawPolygonPath(wr||x,tr.x,tr.y,$,H,qs)}else{var ba=(ut+Yt+Pn)/$;qs=gS(pS(qs,-ba)),N.drawPolygonPath(wr||x,tr.x,tr.y,$,H,qs)}if(ve?x.stroke(wr):x.stroke(),ir==="double"){x.lineWidth=ut/3;var wo=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(wr):x.stroke(),x.globalCompositeOperation=wo}x.setLineDash&&x.setLineDash([])}},pi=function(){M&&N.drawNodeOverlay(x,m,Z,$,H)},ds=function(){M&&N.drawNodeUnderlay(x,m,Z,$,H)},Fs=function(){N.drawElementText(x,m,null,S)},ks=m.pstyle("ghost").value==="yes";if(ks){var Rs=m.pstyle("ghost-offset-x").pfValue,vo=m.pstyle("ghost-offset-y").pfValue,$a=m.pstyle("ghost-opacity").value,Da=$a*ce;x.translate(Rs,vo),Mr(),Di(),pr($a*Wt),Cr(),Nr(Da,!0),Er($a*hn),pa(),_i(Dt!==0||ut!==0),Nr(Da,!1),xs(Da),x.translate(-Rs,-vo)}ve&&x.translate(-Z.x,-Z.y),ds(),ve&&x.translate(Z.x,Z.y),Mr(),Di(),pr(),Cr(),Nr(ce,!0),Er(),pa(),_i(Dt!==0||ut!==0),Nr(ce,!1),xs(),ve&&x.translate(-Z.x,-Z.y),Fs(),pi(),k&&x.translate(Ee.x1,Ee.y1)}};var qI=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S,M,O,N){var $=this;if(S.visible()){var H=S.pstyle("".concat(m,"-padding")).pfValue,q=S.pstyle("".concat(m,"-opacity")).value,Y=S.pstyle("".concat(m,"-color")).value,Z=S.pstyle("".concat(m,"-shape")).value;if(q>0){if(M=M||S.position(),O==null||N==null){var ce=S.padding();O=S.width()+2*ce,N=S.height()+2*ce}$.colorFillStyle(k,Y[0],Y[1],Y[2],q),$.nodeShapes[Z].draw(k,M.x,M.y,O+H*2,N+H*2),k.fill()}}}};w8.drawNodeOverlay=qI("overlay"),w8.drawNodeUnderlay=qI("underlay"),w8.hasPie=function(x){return x=x[0],x._private.hasPie},w8.drawPie=function(x,m,k,S){m=m[0],S=S||m.position();var M=m.cy().style(),O=m.pstyle("pie-size"),N=S.x,$=S.y,H=m.width(),q=m.height(),Y=Math.min(H,q)/2,Z=0,ce=this.usePaths();ce&&(N=0,$=0),O.units==="%"?Y=Y*O.pfValue:O.pfValue!==void 0&&(Y=O.pfValue/2);for(var ve=1;ve<=M.pieBackgroundN;ve++){var me=m.pstyle("pie-"+ve+"-background-size").value,Le=m.pstyle("pie-"+ve+"-background-color").value,_e=m.pstyle("pie-"+ve+"-background-opacity").value*k,Ee=me/100;Ee+Z>1&&(Ee=1-Z);var Fe=1.5*Math.PI+2*Math.PI*Z,Re=2*Math.PI*Ee,Ve=Fe+Re;me===0||Z>=1||Z+Ee>1||(x.beginPath(),x.moveTo(N,$),x.arc(N,$,Y,Fe,Ve),x.closePath(),this.colorFillStyle(x,Le[0],Le[1],Le[2],_e),x.fill(),Z+=Ee)}};var zg={},kie=100;zg.getPixelRatio=function(){var x=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var m=x.backingStorePixelRatio||x.webkitBackingStorePixelRatio||x.mozBackingStorePixelRatio||x.msBackingStorePixelRatio||x.oBackingStorePixelRatio||x.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/m},zg.paintCache=function(x){for(var m=this.paintCaches=this.paintCaches||[],k=!0,S,M=0;MN.minMbLowQualFrames&&(N.motionBlurPxRatio=N.mbPxRBlurry)),N.clearingMotionBlur&&(N.motionBlurPxRatio=1),N.textureDrawLastFrame&&!Z&&(Y[N.NODE]=!0,Y[N.SELECT_BOX]=!0);var Fe=H.style(),Re=H.zoom(),Ve=M!==void 0?M:Re,ct=H.pan(),st={x:ct.x,y:ct.y},Ye={zoom:Re,pan:{x:ct.x,y:ct.y}},mt=N.prevViewport,Qe=mt===void 0||Ye.zoom!==mt.zoom||Ye.pan.x!==mt.pan.x||Ye.pan.y!==mt.pan.y;!Qe&&!(Le&&!me)&&(N.motionBlurPxRatio=1),O&&(st=O),Ve*=$,st.x*=$,st.y*=$;var Mt=N.getCachedZSortedEles();function Dt(Di,pi,ds,Fs,ks){var Rs=Di.globalCompositeOperation;Di.globalCompositeOperation="destination-out",N.colorFillStyle(Di,255,255,255,N.motionBlurTransparency),Di.fillRect(pi,ds,Fs,ks),Di.globalCompositeOperation=Rs}function ut(Di,pi){var ds,Fs,ks,Rs;!N.clearingMotionBlur&&(Di===q.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]||Di===q.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG])?(ds={x:ct.x*ve,y:ct.y*ve},Fs=Re*ve,ks=N.canvasWidth*ve,Rs=N.canvasHeight*ve):(ds=st,Fs=Ve,ks=N.canvasWidth,Rs=N.canvasHeight),Di.setTransform(1,0,0,1,0,0),pi==="motionBlur"?Dt(Di,0,0,ks,Rs):!m&&(pi===void 0||pi)&&Di.clearRect(0,0,ks,Rs),k||(Di.translate(ds.x,ds.y),Di.scale(Fs,Fs)),O&&Di.translate(O.x,O.y),M&&Di.scale(M,M)}if(Z||(N.textureDrawLastFrame=!1),Z){if(N.textureDrawLastFrame=!0,!N.textureCache){N.textureCache={},N.textureCache.bb=H.mutableElements().boundingBox(),N.textureCache.texture=N.data.bufferCanvases[N.TEXTURE_BUFFER];var Wt=N.data.bufferContexts[N.TEXTURE_BUFFER];Wt.setTransform(1,0,0,1,0,0),Wt.clearRect(0,0,N.canvasWidth*N.textureMult,N.canvasHeight*N.textureMult),N.render({forcedContext:Wt,drawOnlyNodeLayer:!0,forcedPxRatio:$*N.textureMult});var Ye=N.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:N.canvasWidth,height:N.canvasHeight};Ye.mpan={x:(0-Ye.pan.x)/Ye.zoom,y:(0-Ye.pan.y)/Ye.zoom}}Y[N.DRAG]=!1,Y[N.NODE]=!1;var Ct=q.contexts[N.NODE],_n=N.textureCache.texture,Ye=N.textureCache.viewport;Ct.setTransform(1,0,0,1,0,0),ce?Dt(Ct,0,0,Ye.width,Ye.height):Ct.clearRect(0,0,Ye.width,Ye.height);var hn=Fe.core("outside-texture-bg-color").value,Yt=Fe.core("outside-texture-bg-opacity").value;N.colorFillStyle(Ct,hn[0],hn[1],hn[2],Yt),Ct.fillRect(0,0,Ye.width,Ye.height);var Re=H.zoom();ut(Ct,!1),Ct.clearRect(Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$),Ct.drawImage(_n,Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$)}else N.textureOnViewport&&!m&&(N.textureCache=null);var Dn=H.extent(),ir=N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming||N.hoverData.draggingEles||N.cy.animated(),vr=N.hideEdgesOnViewport&&ir,Pn=[];if(Pn[N.NODE]=!Y[N.NODE]&&ce&&!N.clearedForMotionBlur[N.NODE]||N.clearingMotionBlur,Pn[N.NODE]&&(N.clearedForMotionBlur[N.NODE]=!0),Pn[N.DRAG]=!Y[N.DRAG]&&ce&&!N.clearedForMotionBlur[N.DRAG]||N.clearingMotionBlur,Pn[N.DRAG]&&(N.clearedForMotionBlur[N.DRAG]=!0),Y[N.NODE]||k||S||Pn[N.NODE]){var pr=ce&&!Pn[N.NODE]&&ve!==1,Ct=m||(pr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]:q.contexts[N.NODE]),Er=ce&&!pr?"motionBlur":void 0;ut(Ct,Er),vr?N.drawCachedNodes(Ct,Mt.nondrag,$,Dn):N.drawLayeredElements(Ct,Mt.nondrag,$,Dn),N.debug&&N.drawDebugPoints(Ct,Mt.nondrag),!k&&!ce&&(Y[N.NODE]=!1)}if(!S&&(Y[N.DRAG]||k||Pn[N.DRAG])){var pr=ce&&!Pn[N.DRAG]&&ve!==1,Ct=m||(pr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG]:q.contexts[N.DRAG]);ut(Ct,ce&&!pr?"motionBlur":void 0),vr?N.drawCachedNodes(Ct,Mt.drag,$,Dn):N.drawCachedElements(Ct,Mt.drag,$,Dn),N.debug&&N.drawDebugPoints(Ct,Mt.drag),!k&&!ce&&(Y[N.DRAG]=!1)}if(N.showFps||!S&&Y[N.SELECT_BOX]&&!k){var Ct=m||q.contexts[N.SELECT_BOX];if(ut(Ct),N.selection[4]==1&&(N.hoverData.selecting||N.touchData.selecting)){var Re=N.cy.zoom(),Mr=Fe.core("selection-box-border-width").value/Re;Ct.lineWidth=Mr,Ct.fillStyle="rgba("+Fe.core("selection-box-color").value[0]+","+Fe.core("selection-box-color").value[1]+","+Fe.core("selection-box-color").value[2]+","+Fe.core("selection-box-opacity").value+")",Ct.fillRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]),Mr>0&&(Ct.strokeStyle="rgba("+Fe.core("selection-box-border-color").value[0]+","+Fe.core("selection-box-border-color").value[1]+","+Fe.core("selection-box-border-color").value[2]+","+Fe.core("selection-box-opacity").value+")",Ct.strokeRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]))}if(q.bgActivePosistion&&!N.hoverData.selecting){var Re=N.cy.zoom(),Tr=q.bgActivePosistion;Ct.fillStyle="rgba("+Fe.core("active-bg-color").value[0]+","+Fe.core("active-bg-color").value[1]+","+Fe.core("active-bg-color").value[2]+","+Fe.core("active-bg-opacity").value+")",Ct.beginPath(),Ct.arc(Tr.x,Tr.y,Fe.core("active-bg-size").pfValue/Re,0,2*Math.PI),Ct.fill()}var Or=N.lastRedrawTime;if(N.showFps&&Or){Or=Math.round(Or);var Wn=Math.round(1e3/Or);Ct.setTransform(1,0,0,1,0,0),Ct.fillStyle="rgba(255, 0, 0, 0.75)",Ct.strokeStyle="rgba(255, 0, 0, 0.75)",Ct.lineWidth=1,Ct.fillText("1 frame = "+Or+" ms = "+Wn+" fps",0,20);var br=60;Ct.strokeRect(0,30,250,20),Ct.fillRect(0,30,250*Math.min(Wn/br,1),20)}k||(Y[N.SELECT_BOX]=!1)}if(ce&&ve!==1){var Cr=q.contexts[N.NODE],Nr=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_NODE],_i=q.contexts[N.DRAG],xs=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_DRAG],pa=function(pi,ds,Fs){pi.setTransform(1,0,0,1,0,0),Fs||!Ee?pi.clearRect(0,0,N.canvasWidth,N.canvasHeight):Dt(pi,0,0,N.canvasWidth,N.canvasHeight);var ks=ve;pi.drawImage(ds,0,0,N.canvasWidth*ks,N.canvasHeight*ks,0,0,N.canvasWidth,N.canvasHeight)};(Y[N.NODE]||Pn[N.NODE])&&(pa(Cr,Nr,Pn[N.NODE]),Y[N.NODE]=!1),(Y[N.DRAG]||Pn[N.DRAG])&&(pa(_i,xs,Pn[N.DRAG]),Y[N.DRAG]=!1)}N.prevViewport=Ye,N.clearingMotionBlur&&(N.clearingMotionBlur=!1,N.motionBlurCleared=!0,N.motionBlur=!0),ce&&(N.motionBlurTimeout=setTimeout(function(){N.motionBlurTimeout=null,N.clearedForMotionBlur[N.NODE]=!1,N.clearedForMotionBlur[N.DRAG]=!1,N.motionBlur=!1,N.clearingMotionBlur=!Z,N.mbFrames=0,Y[N.NODE]=!0,Y[N.DRAG]=!0,N.redraw()},kie)),m||H.emit("render")};var sy={};sy.drawPolygonPath=function(x,m,k,S,M,O){var N=S/2,$=M/2;x.beginPath&&x.beginPath(),x.moveTo(m+N*O[0],k+$*O[1]);for(var H=1;H0&&N>0){ve.clearRect(0,0,O,N),ve.globalCompositeOperation="source-over";var me=this.getCachedZSortedEles();if(x.full)ve.translate(-S.x1*q,-S.y1*q),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(S.x1*q,S.y1*q);else{var Le=m.pan(),_e={x:Le.x*q,y:Le.y*q};q*=m.zoom(),ve.translate(_e.x,_e.y),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(-_e.x,-_e.y)}x.bg&&(ve.globalCompositeOperation="destination-over",ve.fillStyle=x.bg,ve.rect(0,0,O,N),ve.fill())}return ce};function Eie(x,m){for(var k=atob(x),S=new ArrayBuffer(k.length),M=new Uint8Array(S),O=0;O"u"?"undefined":u(OffscreenCanvas))!=="undefined"?k=new OffscreenCanvas(x,m):(k=document.createElement("canvas"),k.width=x,k.height=m),k},[bz,J2,Z2,bk,y5,w8,zg,sy,mk,Sz].forEach(function(x){yt(zc,x)});var zp=[{name:"null",impl:Y$},{name:"base",impl:oz},{name:"canvas",impl:_z}],Tie=[{type:"layout",extensions:Hre},{type:"renderer",extensions:zp}],Cie={},Sie={};function _ie(x,m,k){var S=k,M=function(mt){gu("Can not register `"+m+"` for `"+x+"` since `"+mt+"` already exists in the prototype and can not be overridden")};if(x==="core"){if(lk.prototype[m])return M(m);lk.prototype[m]=k}else if(x==="collection"){if(q0.prototype[m])return M(m);q0.prototype[m]=k}else if(x==="layout"){for(var O=function(mt){this.options=mt,k.call(this,mt),se(this._private)||(this._private={}),this._private.cy=mt.cy,this._private.listeners=[],this.createEmitter()},N=O.prototype=Object.create(k.prototype),$=[],H=0;H<$.length;H++){var q=$[H];N[q]=N[q]||function(){return this}}N.start&&!N.run?N.run=function(){return this.start(),this}:!N.start&&N.run&&(N.start=function(){return this.run(),this});var Y=k.prototype.stop;N.stop=function(){var Ye=this.options;if(Ye&&Ye.animate){var mt=this.animations;if(mt)for(var Qe=0;Qej&&(this.rect.x-=(this.labelWidth-j)/2,this.setWidth(this.labelWidth)),this.labelHeight>W&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-W)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-W),this.setHeight(this.labelHeight))}}},P.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},P.prototype.transform=function(F){var j=this.rect.x;j>T.WORLD_BOUNDARY?j=T.WORLD_BOUNDARY:j<-T.WORLD_BOUNDARY&&(j=-T.WORLD_BOUNDARY);var W=this.rect.y;W>T.WORLD_BOUNDARY?W=T.WORLD_BOUNDARY:W<-T.WORLD_BOUNDARY&&(W=-T.WORLD_BOUNDARY);var ee=new A(j,W),ie=F.inverseTransformPoint(ee);this.setLocation(ie.x,ie.y)},P.prototype.getLeft=function(){return this.rect.x},P.prototype.getRight=function(){return this.rect.x+this.rect.width},P.prototype.getTop=function(){return this.rect.y},P.prototype.getBottom=function(){return this.rect.y+this.rect.height},P.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},u.exports=P},function(u,d,p){function v(b,y){b==null&&y==null?(this.x=0,this.y=0):(this.x=b,this.y=y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},u.exports=v},function(u,d,p){var v=p(2),b=p(10),y=p(0),T=p(6),_=p(3),A=p(1),P=p(13),R=p(12),F=p(11);function j(ee,ie,oe){v.call(this,oe),this.estimatedSize=b.MIN_VALUE,this.margin=y.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=ee,ie!=null&&ie instanceof T?this.graphManager=ie:ie!=null&&ie instanceof Layout&&(this.graphManager=ie.graphManager)}j.prototype=Object.create(v.prototype);for(var W in v)j[W]=v[W];j.prototype.getNodes=function(){return this.nodes},j.prototype.getEdges=function(){return this.edges},j.prototype.getGraphManager=function(){return this.graphManager},j.prototype.getParent=function(){return this.parent},j.prototype.getLeft=function(){return this.left},j.prototype.getRight=function(){return this.right},j.prototype.getTop=function(){return this.top},j.prototype.getBottom=function(){return this.bottom},j.prototype.isConnected=function(){return this.isConnected},j.prototype.add=function(ee,ie,oe){if(ie==null&&oe==null){var be=ee;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(be)>-1)throw"Node already in graph!";return be.owner=this,this.getNodes().push(be),be}else{var ge=ee;if(!(this.getNodes().indexOf(ie)>-1&&this.getNodes().indexOf(oe)>-1))throw"Source or target not in graph!";if(!(ie.owner==oe.owner&&ie.owner==this))throw"Both owners must be this graph!";return ie.owner!=oe.owner?null:(ge.source=ie,ge.target=oe,ge.isInterGraph=!1,this.getEdges().push(ge),ie.edges.push(ge),oe!=ie&&oe.edges.push(ge),ge)}},j.prototype.remove=function(ee){var ie=ee;if(ee instanceof _){if(ie==null)throw"Node is null!";if(!(ie.owner!=null&&ie.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var oe=ie.edges.slice(),be,ge=oe.length,ae=0;ae-1&&de>-1))throw"Source and/or target doesn't know this edge!";be.source.edges.splice(se,1),be.target!=be.source&&be.target.edges.splice(de,1);var ne=be.source.owner.getEdges().indexOf(be);if(ne==-1)throw"Not in owner's edge list!";be.source.owner.getEdges().splice(ne,1)}},j.prototype.updateLeftTop=function(){for(var ee=b.MAX_VALUE,ie=b.MAX_VALUE,oe,be,ge,ae=this.getNodes(),ne=ae.length,se=0;seoe&&(ee=oe),ie>be&&(ie=be)}return ee==b.MAX_VALUE?null:(ae[0].getParent().paddingLeft!=null?ge=ae[0].getParent().paddingLeft:ge=this.margin,this.left=ie-ge,this.top=ee-ge,new R(this.left,this.top))},j.prototype.updateBounds=function(ee){for(var ie=b.MAX_VALUE,oe=-b.MAX_VALUE,be=b.MAX_VALUE,ge=-b.MAX_VALUE,ae,ne,se,de,X,pe=this.nodes,K=pe.length,xe=0;xeae&&(ie=ae),oese&&(be=se),geae&&(ie=ae),oese&&(be=se),ge=this.nodes.length){var K=0;oe.forEach(function(xe){xe.owner==ee&&K++}),K==this.nodes.length&&(this.isConnected=!0)}},u.exports=j},function(u,d,p){var v,b=p(1);function y(T){v=p(5),this.layout=T,this.graphs=[],this.edges=[]}y.prototype.addRoot=function(){var T=this.layout.newGraph(),_=this.layout.newNode(null),A=this.add(T,_);return this.setRootGraph(A),this.rootGraph},y.prototype.add=function(T,_,A,P,R){if(A==null&&P==null&&R==null){if(T==null)throw"Graph is null!";if(_==null)throw"Parent node is null!";if(this.graphs.indexOf(T)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(T),T.parent!=null)throw"Already has a parent!";if(_.child!=null)throw"Already has a child!";return T.parent=_,_.child=T,T}else{R=A,P=_,A=T;var F=P.getOwner(),j=R.getOwner();if(!(F!=null&&F.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(j!=null&&j.getGraphManager()==this))throw"Target not in this graph mgr!";if(F==j)return A.isInterGraph=!1,F.add(A,P,R);if(A.isInterGraph=!0,A.source=P,A.target=R,this.edges.indexOf(A)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(A),!(A.source!=null&&A.target!=null))throw"Edge source and/or target is null!";if(!(A.source.edges.indexOf(A)==-1&&A.target.edges.indexOf(A)==-1))throw"Edge already in source and/or target incidency list!";return A.source.edges.push(A),A.target.edges.push(A),A}},y.prototype.remove=function(T){if(T instanceof v){var _=T;if(_.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(_==this.rootGraph||_.parent!=null&&_.parent.graphManager==this))throw"Invalid parent node!";var A=[];A=A.concat(_.getEdges());for(var P,R=A.length,F=0;F=T.getRight()?_[0]+=Math.min(T.getX()-y.getX(),y.getRight()-T.getRight()):T.getX()<=y.getX()&&T.getRight()>=y.getRight()&&(_[0]+=Math.min(y.getX()-T.getX(),T.getRight()-y.getRight())),y.getY()<=T.getY()&&y.getBottom()>=T.getBottom()?_[1]+=Math.min(T.getY()-y.getY(),y.getBottom()-T.getBottom()):T.getY()<=y.getY()&&T.getBottom()>=y.getBottom()&&(_[1]+=Math.min(y.getY()-T.getY(),T.getBottom()-y.getBottom()));var R=Math.abs((T.getCenterY()-y.getCenterY())/(T.getCenterX()-y.getCenterX()));T.getCenterY()===y.getCenterY()&&T.getCenterX()===y.getCenterX()&&(R=1);var F=R*_[0],j=_[1]/R;_[0]F)return _[0]=A,_[1]=W,_[2]=R,_[3]=pe,!1;if(PR)return _[0]=j,_[1]=P,_[2]=de,_[3]=F,!1;if(AR?(_[0]=ie,_[1]=oe,Be=!0):(_[0]=ee,_[1]=W,Be=!0):je===Se&&(A>R?(_[0]=j,_[1]=W,Be=!0):(_[0]=be,_[1]=oe,Be=!0)),-Ie===Se?R>A?(_[2]=X,_[3]=pe,Ne=!0):(_[2]=de,_[3]=se,Ne=!0):Ie===Se&&(R>A?(_[2]=ne,_[3]=se,Ne=!0):(_[2]=K,_[3]=pe,Ne=!0)),Be&&Ne)return!1;if(A>R?P>F?(Ce=this.getCardinalDirection(je,Se,4),ke=this.getCardinalDirection(Ie,Se,2)):(Ce=this.getCardinalDirection(-je,Se,3),ke=this.getCardinalDirection(-Ie,Se,1)):P>F?(Ce=this.getCardinalDirection(-je,Se,1),ke=this.getCardinalDirection(-Ie,Se,3)):(Ce=this.getCardinalDirection(je,Se,2),ke=this.getCardinalDirection(Ie,Se,4)),!Be)switch(Ce){case 1:Ft=W,Ke=A+-ae/Se,_[0]=Ke,_[1]=Ft;break;case 2:Ke=be,Ft=P+ge*Se,_[0]=Ke,_[1]=Ft;break;case 3:Ft=oe,Ke=A+ae/Se,_[0]=Ke,_[1]=Ft;break;case 4:Ke=ie,Ft=P+-ge*Se,_[0]=Ke,_[1]=Ft;break}if(!Ne)switch(ke){case 1:gn=se,Pe=R+-U/Se,_[2]=Pe,_[3]=gn;break;case 2:Pe=K,gn=F+xe*Se,_[2]=Pe,_[3]=gn;break;case 3:gn=pe,Pe=R+U/Se,_[2]=Pe,_[3]=gn;break;case 4:Pe=X,gn=F+-xe*Se,_[2]=Pe,_[3]=gn;break}}return!1},b.getCardinalDirection=function(y,T,_){return y>T?_:1+_%4},b.getIntersection=function(y,T,_,A){if(A==null)return this.getIntersection2(y,T,_);var P=y.x,R=y.y,F=T.x,j=T.y,W=_.x,ee=_.y,ie=A.x,oe=A.y,be=void 0,ge=void 0,ae=void 0,ne=void 0,se=void 0,de=void 0,X=void 0,pe=void 0,K=void 0;return ae=j-R,se=P-F,X=F*R-P*j,ne=oe-ee,de=W-ie,pe=ie*ee-W*oe,K=ae*de-ne*se,K===0?null:(be=(se*pe-de*X)/K,ge=(ne*X-ae*pe)/K,new v(be,ge))},b.angleOfVector=function(y,T,_,A){var P=void 0;return y!==_?(P=Math.atan((A-T)/(_-y)),_0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},u.exports=v},function(u,d,p){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,u.exports=v},function(u,d,p){var v=function(){function P(R,F){for(var j=0;j"u"?"undefined":v(y);return y==null||T!="object"&&T!="function"},u.exports=b},function(u,d,p){function v(W){if(Array.isArray(W)){for(var ee=0,ie=Array(W.length);ee0&ⅇ){for(ae.push(se[0]);ae.length>0&ⅇ){var de=ae[0];ae.splice(0,1),ge.add(de);for(var X=de.getEdges(),be=0;be-1&&se.splice(U,1)}ge=new Set,ne=new Map}}return W},j.prototype.createDummyNodesForBendpoints=function(W){for(var ee=[],ie=W.source,oe=this.graphManager.calcLowestCommonAncestor(W.source,W.target),be=0;be0){for(var oe=this.edgeToDummyNodes.get(ie),be=0;be=0&&ee.splice(pe,1);var K=ne.getNeighborsList();K.forEach(function(Be){if(ie.indexOf(Be)<0){var Ne=oe.get(Be),je=Ne-1;je==1&&de.push(Be),oe.set(Be,je)}})}ie=ie.concat(de),(ee.length==1||ee.length==2)&&(be=!0,ge=ee[0])}return ge},j.prototype.setGraphManager=function(W){this.graphManager=W},u.exports=j},function(u,d,p){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},u.exports=v},function(u,d,p){var v=p(4);function b(y,T){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(y){this.lworldOrgX=y},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(y){this.lworldOrgY=y},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(y){this.lworldExtX=y},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(y){this.lworldExtY=y},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(y){this.ldeviceOrgX=y},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(y){this.ldeviceOrgY=y},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(y){this.ldeviceExtX=y},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(y){this.ldeviceExtY=y},b.prototype.transformX=function(y){var T=0,_=this.lworldExtX;return _!=0&&(T=this.ldeviceOrgX+(y-this.lworldOrgX)*this.ldeviceExtX/_),T},b.prototype.transformY=function(y){var T=0,_=this.lworldExtY;return _!=0&&(T=this.ldeviceOrgY+(y-this.lworldOrgY)*this.ldeviceExtY/_),T},b.prototype.inverseTransformX=function(y){var T=0,_=this.ldeviceExtX;return _!=0&&(T=this.lworldOrgX+(y-this.ldeviceOrgX)*this.lworldExtX/_),T},b.prototype.inverseTransformY=function(y){var T=0,_=this.ldeviceExtY;return _!=0&&(T=this.lworldOrgY+(y-this.ldeviceOrgY)*this.lworldExtY/_),T},b.prototype.inverseTransformPoint=function(y){var T=new v(this.inverseTransformX(y.x),this.inverseTransformY(y.y));return T},u.exports=b},function(u,d,p){function v(F){if(Array.isArray(F)){for(var j=0,W=Array(F.length);jy.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*y.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(F-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-y.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT_INCREMENTAL):(F>y.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(y.COOLING_ADAPTATION_FACTOR,1-(F-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*(1-y.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},P.prototype.calcSpringForces=function(){for(var F=this.getAllEdges(),j,W=0;W0&&arguments[0]!==void 0?arguments[0]:!0,j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,W,ee,ie,oe,be=this.getAllNodes(),ge;if(this.useFRGridVariant)for(this.totalIterations%y.GRID_CALCULATION_CHECK_PERIOD==1&&F&&this.updateGrid(),ge=new Set,W=0;Wae||ge>ae)&&(F.gravitationForceX=-this.gravityConstant*ie,F.gravitationForceY=-this.gravityConstant*oe)):(ae=j.getEstimatedSize()*this.compoundGravityRangeFactor,(be>ae||ge>ae)&&(F.gravitationForceX=-this.gravityConstant*ie*this.compoundGravityConstant,F.gravitationForceY=-this.gravityConstant*oe*this.compoundGravityConstant))},P.prototype.isConverged=function(){var F,j=!1;return this.totalIterations>this.maxIterations/3&&(j=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),F=this.totalDisplacement=be.length||ae>=be[0].length)){for(var ne=0;neP}}]),_}();u.exports=T},function(u,d,p){var v=function(){function T(_,A){for(var P=0;P2&&arguments[2]!==void 0?arguments[2]:1,R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,F=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,T),this.sequence1=_,this.sequence2=A,this.match_score=P,this.mismatch_penalty=R,this.gap_penalty=F,this.iMax=_.length+1,this.jMax=A.length+1,this.grid=new Array(this.iMax);for(var j=0;j=0;_--){var A=this.listeners[_];A.event===y&&A.callback===T&&this.listeners.splice(_,1)}},b.emit=function(y,T){for(var _=0;_A.coolingFactor*A.maxNodeDisplacement&&(this.displacementX=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementX)),Math.abs(this.displacementY)>A.coolingFactor*A.maxNodeDisplacement&&(this.displacementY=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),A.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},T.prototype.propogateDisplacementToChildren=function(A,P){for(var R=this.getChild().getNodes(),F,j=0;j0)this.positionNodesRadially(se);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var de=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(pe){return de.has(pe)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},ae.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%R.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var se=new Set(this.getAllNodes()),de=this.nodesWithGravity.filter(function(K){return se.has(K)});this.graphManager.setAllNodesToApplyGravitation(de),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=R.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=R.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,pe=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,pe),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},ae.prototype.getPositionsData=function(){for(var se=this.graphManager.getAllNodes(),de={},X=0;X1){var Be;for(Be=0;Bepe&&(pe=Math.floor(U.y)),xe=Math.floor(U.x+P.DEFAULT_COMPONENT_SEPERATION)}this.transform(new W(F.WORLD_CENTER_X-U.x/2,F.WORLD_CENTER_Y-U.y/2))},ae.radialLayout=function(se,de,X){var pe=Math.max(this.maxDiagonalInTree(se),P.DEFAULT_RADIAL_SEPARATION);ae.branchRadialLayout(de,null,0,359,0,pe);var K=be.calculateBounds(se),xe=new ge;xe.setDeviceOrgX(K.getMinX()),xe.setDeviceOrgY(K.getMinY()),xe.setWorldOrgX(X.x),xe.setWorldOrgY(X.y);for(var U=0;U1;){var gn=Pe[0];Pe.splice(0,1);var kt=Se.indexOf(gn);kt>=0&&Se.splice(kt,1),Ke--,Ce--}de!=null?Ft=(Se.indexOf(Pe[0])+1)%Ke:Ft=0;for(var Et=Math.abs(pe-X)/Ce,Gt=Ft;ke!=Ce;Gt=++Gt%Ke){var ln=Se[Gt].getOtherEnd(se);if(ln!=de){var xt=(X+ke*Et)%360,Pt=(xt+Et)%360;ae.branchRadialLayout(ln,se,xt,Pt,K+xe,xe),ke++}}},ae.maxDiagonalInTree=function(se){for(var de=ie.MIN_VALUE,X=0;Xde&&(de=K)}return de},ae.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},ae.prototype.groupZeroDegreeMembers=function(){var se=this,de={};this.memberGroups={},this.idToDummyNode={};for(var X=[],pe=this.graphManager.getAllNodes(),K=0;K"u"&&(de[Be]=[]),de[Be]=de[Be].concat(xe)}Object.keys(de).forEach(function(Ne){if(de[Ne].length>1){var je="DummyCompound_"+Ne;se.memberGroups[je]=de[Ne];var Ie=de[Ne][0].getParent(),Se=new _(se.graphManager);Se.id=je,Se.paddingLeft=Ie.paddingLeft||0,Se.paddingRight=Ie.paddingRight||0,Se.paddingBottom=Ie.paddingBottom||0,Se.paddingTop=Ie.paddingTop||0,se.idToDummyNode[je]=Se;var Ce=se.getGraphManager().add(se.newGraph(),Se),ke=Ie.getChild();ke.add(Se);for(var Ke=0;Ke=0;se--){var de=this.compoundOrder[se],X=de.id,pe=de.paddingLeft,K=de.paddingTop;this.adjustLocations(this.tiledMemberPack[X],de.rect.x,de.rect.y,pe,K)}},ae.prototype.repopulateZeroDegreeMembers=function(){var se=this,de=this.tiledZeroDegreePack;Object.keys(de).forEach(function(X){var pe=se.idToDummyNode[X],K=pe.paddingLeft,xe=pe.paddingTop;se.adjustLocations(de[X],pe.rect.x,pe.rect.y,K,xe)})},ae.prototype.getToBeTiled=function(se){var de=se.id;if(this.toBeTiled[de]!=null)return this.toBeTiled[de];var X=se.getChild();if(X==null)return this.toBeTiled[de]=!1,!1;for(var pe=X.getNodes(),K=0;K0)return this.toBeTiled[de]=!1,!1;if(xe.getChild()==null){this.toBeTiled[xe.id]=!1;continue}if(!this.getToBeTiled(xe))return this.toBeTiled[de]=!1,!1}return this.toBeTiled[de]=!0,!0},ae.prototype.getNodeDegree=function(se){se.id;for(var de=se.getEdges(),X=0,pe=0;peNe&&(Ne=Ie.rect.height)}X+=Ne+se.verticalPadding}},ae.prototype.tileCompoundMembers=function(se,de){var X=this;this.tiledMemberPack=[],Object.keys(se).forEach(function(pe){var K=de[pe];X.tiledMemberPack[pe]=X.tileNodes(se[pe],K.paddingLeft+K.paddingRight),K.rect.width=X.tiledMemberPack[pe].width,K.rect.height=X.tiledMemberPack[pe].height})},ae.prototype.tileNodes=function(se,de){var X=P.TILING_PADDING_VERTICAL,pe=P.TILING_PADDING_HORIZONTAL,K={rows:[],rowWidth:[],rowHeight:[],width:0,height:de,verticalPadding:X,horizontalPadding:pe};se.sort(function(Be,Ne){return Be.rect.width*Be.rect.height>Ne.rect.width*Ne.rect.height?-1:Be.rect.width*Be.rect.height0&&(U+=se.horizontalPadding),se.rowWidth[X]=U,se.width0&&(Be+=se.verticalPadding);var Ne=0;Be>se.rowHeight[X]&&(Ne=se.rowHeight[X],se.rowHeight[X]=Be,Ne=se.rowHeight[X]-Ne),se.height+=Ne,se.rows[X].push(de)},ae.prototype.getShortestRowIndex=function(se){for(var de=-1,X=Number.MAX_VALUE,pe=0;peX&&(de=pe,X=se.rowWidth[pe]);return de},ae.prototype.canAddHorizontal=function(se,de,X){var pe=this.getShortestRowIndex(se);if(pe<0)return!0;var K=se.rowWidth[pe];if(K+se.horizontalPadding+de<=se.width)return!0;var xe=0;se.rowHeight[pe]0&&(xe=X+se.verticalPadding-se.rowHeight[pe]);var U;se.width-K>=de+se.horizontalPadding?U=(se.height+xe)/(K+de+se.horizontalPadding):U=(se.height+xe)/se.width,xe=X+se.verticalPadding;var Be;return se.widthxe&&de!=X){pe.splice(-1,1),se.rows[X].push(K),se.rowWidth[de]=se.rowWidth[de]-xe,se.rowWidth[X]=se.rowWidth[X]+xe,se.width=se.rowWidth[instance.getLongestRowIndex(se)];for(var U=Number.MIN_VALUE,Be=0;BeU&&(U=pe[Be].height);de>0&&(U+=se.verticalPadding);var Ne=se.rowHeight[de]+se.rowHeight[X];se.rowHeight[de]=U,se.rowHeight[X]0)for(var ke=K;ke<=xe;ke++)Ce[0]+=this.grid[ke][U-1].length+this.grid[ke][U].length-1;if(xe0)for(var ke=U;ke<=Be;ke++)Ce[3]+=this.grid[K-1][ke].length+this.grid[K][ke].length-1;for(var Ke=ie.MAX_VALUE,Ft,Pe,gn=0;gn0){var Be;Be=ge.getGraphManager().add(ge.newGraph(),X),this.processChildrenList(Be,de,ge)}}},W.prototype.stop=function(){return this.stopped=!0,this};var ie=function(be){be("layout","cose-bilkent",W)};typeof cytoscape<"u"&&ie(cytoscape),d.exports=ie}])})})(pWe);var bon=pWe.exports;const mon=hC(bon),von=12,won=function(i,s,u,d){s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 ${u.height-5} v${-u.height+2*5} q0,-5 5,-5 h${u.width-2*5} q5,0 5,5 v${u.height-5} H0 Z`),s.append("line").attr("class","node-line-"+d).attr("x1",0).attr("y1",u.height).attr("x2",u.width).attr("y2",u.height)},yon=function(i,s,u){s.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("width",u.width)},xon=function(i,s,u){const d=u.width,p=u.height,v=.15*d,b=.25*d,y=.35*d,T=.2*d;s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 0 0,1 ${d*.25},${-1*d*.1} + a${y},${y} 1 0,1 ${d*.4},${-1*d*.1} + a${b},${b} 1 0,1 ${d*.35},${1*d*.2} + + a${v},${v} 1 0,1 ${d*.15},${1*p*.35} + a${T},${T} 1 0,1 ${-1*d*.15},${1*p*.65} + + a${b},${v} 1 0,1 ${-1*d*.25},${d*.15} + a${y},${y} 1 0,1 ${-1*d*.5},0 + a${v},${v} 1 0,1 ${-1*d*.25},${-1*d*.15} + + a${v},${v} 1 0,1 ${-1*d*.1},${-1*p*.35} + a${T},${T} 1 0,1 ${d*.1},${-1*p*.65} + + H0 V0 Z`)},kon=function(i,s,u){const d=u.width,p=u.height,v=.15*d;s.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 1 0,0 ${d*.25},${-1*p*.1} + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},0 + a${v},${v} 1 0,0 ${d*.25},${1*p*.1} + + a${v},${v} 1 0,0 ${d*.15},${1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${1*p*.34} + a${v},${v} 1 0,0 ${-1*d*.15},${1*p*.33} + + a${v},${v} 1 0,0 ${-1*d*.25},${p*.15} + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},0 + a${v},${v} 1 0,0 ${-1*d*.25},${-1*p*.15} + + a${v},${v} 1 0,0 ${-1*d*.1},${-1*p*.33} + a${v*.8},${v*.8} 1 0,0 0,${-1*p*.34} + a${v},${v} 1 0,0 ${d*.1},${-1*p*.33} + + H0 V0 Z`)},Eon=function(i,s,u){s.append("circle").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("r",u.width/2)};function Ton(i,s,u,d,p){return i.insert("polygon",":first-child").attr("points",d.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+(p.width-s)/2+", "+u+")")}const Con=function(i,s,u){const d=u.height,v=d/4,b=u.width-u.padding+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-d/2},{x:b-v,y:-d},{x:v,y:-d},{x:0,y:-d/2}];Ton(s,b,d,y,u)},Son=function(i,s,u){s.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("rx",u.padding).attr("ry",u.padding).attr("width",u.width)},_on=function(i,s,u,d,p){const v=p.htmlLabels,b=d%(von-1),y=s.append("g");u.section=b;let T="section-"+b;b<0&&(T+=" section-root"),y.attr("class",(u.class?u.class+" ":"")+"mindmap-node "+T);const _=y.append("g"),A=y.append("g"),P=u.descr.replace(/()/g,` +`);ZQ(A,P,{useHtmlLabels:v,width:u.width,classes:"mindmap-node-label"}),v||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const R=A.node().getBBox(),[F]=NC(p.fontSize);if(u.height=R.height+F*1.1*.5+u.padding,u.width=R.width+2*u.padding,u.icon)if(u.type===i.nodeType.CIRCLE)u.height+=50,u.width+=50,y.append("foreignObject").attr("height","50px").attr("width",u.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+u.width/2+", "+(u.height/2-1.5*u.padding)+")");else{u.width+=50;const j=u.height;u.height=Math.max(j,60);const W=Math.abs(u.height-j);y.append("foreignObject").attr("width","60px").attr("height",u.height).attr("style","text-align: center;margin-top:"+W/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+(25+u.width/2)+", "+(W/2+u.padding/2)+")")}else if(v){const j=(u.width-R.width)/2,W=(u.height-R.height)/2;A.attr("transform","translate("+j+", "+W+")")}else{const j=u.width/2,W=u.padding/2;A.attr("transform","translate("+j+", "+W+")")}switch(u.type){case i.nodeType.DEFAULT:won(i,_,u,b);break;case i.nodeType.ROUNDED_RECT:Son(i,_,u);break;case i.nodeType.RECT:yon(i,_,u);break;case i.nodeType.CIRCLE:_.attr("transform","translate("+u.width/2+", "+ +u.height/2+")"),Eon(i,_,u);break;case i.nodeType.CLOUD:xon(i,_,u);break;case i.nodeType.BANG:kon(i,_,u);break;case i.nodeType.HEXAGON:Con(i,_,u);break}return i.setElementForId(u.id,y),u.height},Aon=function(i,s){const u=i.getElementById(s.id),d=s.x||0,p=s.y||0;u.attr("transform","translate("+d+","+p+")")};gWe.use(mon);function vWe(i,s,u,d,p){_on(i,s,u,d,p),u.children&&u.children.forEach((v,b)=>{vWe(i,s,v,d<0?b:d,p)})}function Lon(i,s){s.edges().map((u,d)=>{const p=u.data();if(u[0]._private.bodyBounds){const v=u[0]._private.rscratch;Xe.trace("Edge: ",d,p),i.insert("path").attr("d",`M ${v.startX},${v.startY} L ${v.midX},${v.midY} L${v.endX},${v.endY} `).attr("class","edge section-edge-"+p.section+" edge-depth-"+p.depth)}})}function wWe(i,s,u,d){s.add({group:"nodes",data:{id:i.id.toString(),labelText:i.descr,height:i.height,width:i.width,level:d,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(p=>{wWe(p,s,u,d+1),s.add({group:"edges",data:{id:`${i.id}_${p.id}`,source:i.id,target:p.id,depth:d,section:p.section}})})}function Mon(i,s){return new Promise(u=>{const d=Ir("body").append("div").attr("id","cy").attr("style","display:none"),p=gWe({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});d.remove(),wWe(i,p,s,0),p.nodes().forEach(function(v){v.layoutDimensions=()=>{const b=v.data();return{w:b.width,h:b.height}}}),p.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),p.ready(v=>{Xe.info("Ready",v),u(p)})})}function Don(i,s){s.nodes().map((u,d)=>{const p=u.data();p.x=u.position().x,p.y=u.position().y,Aon(i,p);const v=i.getElementById(p.nodeId);Xe.info("Id:",d,"Position: (",u.position().x,", ",u.position().y,")",p),v.attr("transform",`translate(${u.position().x-p.width/2}, ${u.position().y-p.height/2})`),v.attr("attr",`apa-${d})`)})}const Ion={draw:async(i,s,u,d)=>{var P,R;Xe.debug(`Rendering mindmap diagram +`+i);const p=d.db,v=p.getMindmap();if(!v)return;const b=qt();b.htmlLabels=!1;const y=sR(s),T=y.append("g");T.attr("class","mindmap-edges");const _=y.append("g");_.attr("class","mindmap-nodes"),vWe(p,_,v,-1,b);const A=await Mon(v,b);Lon(T,A),Don(p,A),y9(void 0,y,((P=b.mindmap)==null?void 0:P.padding)??ah.mindmap.padding,((R=b.mindmap)==null?void 0:R.useMaxWidth)??ah.mindmap.useMaxWidth)}},Oon=i=>{let s="";for(let u=0;u` + .edge { + stroke-width: 3; + } + ${Oon(i)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${i.git0}; + } + .section-root text { + fill: ${i.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`}},Symbol.toStringTag,{value:"Module"}));var swe=function(){var i=function(y,T,_,A){for(_=_||{},A=y.length;A--;_[y[A]]=T);return _},s=[1,9],u=[1,10],d=[1,5,10,12],p={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(T,_,A,P,R,F,j){var W=F.length-1;switch(R){case 7:const ee=P.findOrCreateNode(F[W-4].trim().replaceAll('""','"')),ie=P.findOrCreateNode(F[W-2].trim().replaceAll('""','"')),oe=parseFloat(F[W].trim());P.addLink(ee,ie,oe);break;case 8:case 9:case 11:this.$=F[W];break;case 10:this.$=F[W-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:s,20:u},{1:[2,6],7:11,10:[1,12]},i(u,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(d,[2,8]),i(d,[2,9]),{19:[1,16]},i(d,[2,11]),{1:[2,1]},{1:[2,5]},i(u,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:s,20:u},{15:18,16:7,17:8,18:s,20:u},{18:[1,19]},i(u,[2,3]),{12:[1,20]},i(d,[2,10]),{15:21,16:7,17:8,18:s,20:u},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(T,_){if(_.recoverable)this.trace(T);else{var A=new Error(T);throw A.hash=_,A}},parse:function(T){var _=this,A=[0],P=[],R=[null],F=[],j=this.table,W="",ee=0,ie=0,oe=2,be=1,ge=F.slice.call(arguments,1),ae=Object.create(this.lexer),ne={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(ne.yy[se]=this.yy[se]);ae.setInput(T,ne.yy),ne.yy.lexer=ae,ne.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var de=ae.yylloc;F.push(de);var X=ae.options&&ae.options.ranges;typeof ne.yy.parseError=="function"?this.parseError=ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(){var Ke;return Ke=P.pop()||ae.lex()||be,typeof Ke!="number"&&(Ke instanceof Array&&(P=Ke,Ke=P.pop()),Ke=_.symbols_[Ke]||Ke),Ke}for(var K,xe,U,Be,Ne={},je,Ie,Se,Ce;;){if(xe=A[A.length-1],this.defaultActions[xe]?U=this.defaultActions[xe]:((K===null||typeof K>"u")&&(K=pe()),U=j[xe]&&j[xe][K]),typeof U>"u"||!U.length||!U[0]){var ke="";Ce=[];for(je in j[xe])this.terminals_[je]&&je>oe&&Ce.push("'"+this.terminals_[je]+"'");ae.showPosition?ke="Parse error on line "+(ee+1)+`: +`+ae.showPosition()+` +Expecting `+Ce.join(", ")+", got '"+(this.terminals_[K]||K)+"'":ke="Parse error on line "+(ee+1)+": Unexpected "+(K==be?"end of input":"'"+(this.terminals_[K]||K)+"'"),this.parseError(ke,{text:ae.match,token:this.terminals_[K]||K,line:ae.yylineno,loc:de,expected:Ce})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xe+", token: "+K);switch(U[0]){case 1:A.push(K),R.push(ae.yytext),F.push(ae.yylloc),A.push(U[1]),K=null,ie=ae.yyleng,W=ae.yytext,ee=ae.yylineno,de=ae.yylloc;break;case 2:if(Ie=this.productions_[U[1]][1],Ne.$=R[R.length-Ie],Ne._$={first_line:F[F.length-(Ie||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(Ie||1)].first_column,last_column:F[F.length-1].last_column},X&&(Ne._$.range=[F[F.length-(Ie||1)].range[0],F[F.length-1].range[1]]),Be=this.performAction.apply(Ne,[W,ie,ee,ne.yy,U[1],R,F].concat(ge)),typeof Be<"u")return Be;Ie&&(A=A.slice(0,-1*Ie*2),R=R.slice(0,-1*Ie),F=F.slice(0,-1*Ie)),A.push(this.productions_[U[1]][0]),R.push(Ne.$),F.push(Ne._$),Se=j[A[A.length-2]][A[A.length-1]],A.push(Se);break;case 3:return!0}}return!0}},v=function(){var y={EOF:1,parseError:function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},setInput:function(T,_){return this.yy=_||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var _=T.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},unput:function(T){var _=T.length,A=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var P=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===P.length?this.yylloc.first_column:0)+P[P.length-A.length].length-A[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(T){this.unput(this.match.slice(T))},pastInput:function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var T=this.pastInput(),_=new Array(T.length+1).join("-");return T+this.upcomingInput()+` +`+_+"^"},test_match:function(T,_){var A,P,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),P=T[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],A=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var F in R)this[F]=R[F];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,_,A,P;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),F=0;F_[0].length)){if(_=A,P=F,this.options.backtrack_lexer){if(T=this.test_match(A,R[F]),T!==!1)return T;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(T=this.test_match(_,R[P]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var _=this.next();return _||this.lex()},begin:function(_){this.conditionStack.push(_)},popState:function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},pushState:function(_){this.begin(_)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(_,A,P,R){switch(P){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return y}();p.lexer=v;function b(){this.yy={}}return b.prototype=p,p.Parser=b,new b}();swe.parser=swe;const PJ=swe;let BJ=[],FJ=[],tI={};const Pon=()=>{BJ=[],FJ=[],tI={},Ng()};class Bon{constructor(s,u,d=0){this.source=s,this.target=u,this.value=d}}const Fon=(i,s,u)=>{BJ.push(new Bon(i,s,u))};class Ron{constructor(s){this.ID=s}}const jon={nodesMap:tI,getConfig:()=>qt().sankey,getNodes:()=>FJ,getLinks:()=>BJ,getGraph:()=>({nodes:FJ.map(i=>({id:i.ID})),links:BJ.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:Fon,findOrCreateNode:i=>(i=ci.sanitizeText(i,qt()),tI[i]||(tI[i]=new Ron(i),FJ.push(tI[i])),tI[i]),getAccTitle:Cp,setAccTitle:Pg,getAccDescription:_p,setAccDescription:Sp,getDiagramTitle:Ap,setDiagramTitle:cm,clear:Pon};function yWe(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function xWe(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function awe(i,s){let u=0;if(s===void 0)for(let d of i)(d=+d)&&(u+=d);else{let d=-1;for(let p of i)(p=+s(p,++d,i))&&(u+=p)}return u}function $on(i){return i.target.depth}function zon(i){return i.depth}function qon(i,s){return s-1-i.height}function kWe(i,s){return i.sourceLinks.length?i.depth:s-1}function Hon(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?xWe(i.sourceLinks,$on)-1:0}function RJ(i){return function(){return i}}function EWe(i,s){return jJ(i.source,s.source)||i.index-s.index}function TWe(i,s){return jJ(i.target,s.target)||i.index-s.index}function jJ(i,s){return i.y0-s.y0}function owe(i){return i.value}function Von(i){return i.index}function Uon(i){return i.nodes}function Gon(i){return i.links}function CWe(i,s){const u=i.get(s);if(!u)throw new Error("missing: "+s);return u}function SWe({nodes:i}){for(const s of i){let u=s.y0,d=u;for(const p of s.sourceLinks)p.y0=u+p.width/2,u+=p.width;for(const p of s.targetLinks)p.y1=d+p.width/2,d+=p.width}}function Kon(){let i=0,s=0,u=1,d=1,p=24,v=8,b,y=Von,T=kWe,_,A,P=Uon,R=Gon,F=6;function j(){const Ne={nodes:P.apply(null,arguments),links:R.apply(null,arguments)};return W(Ne),ee(Ne),ie(Ne),oe(Ne),ae(Ne),SWe(Ne),Ne}j.update=function(Ne){return SWe(Ne),Ne},j.nodeId=function(Ne){return arguments.length?(y=typeof Ne=="function"?Ne:RJ(Ne),j):y},j.nodeAlign=function(Ne){return arguments.length?(T=typeof Ne=="function"?Ne:RJ(Ne),j):T},j.nodeSort=function(Ne){return arguments.length?(_=Ne,j):_},j.nodeWidth=function(Ne){return arguments.length?(p=+Ne,j):p},j.nodePadding=function(Ne){return arguments.length?(v=b=+Ne,j):v},j.nodes=function(Ne){return arguments.length?(P=typeof Ne=="function"?Ne:RJ(Ne),j):P},j.links=function(Ne){return arguments.length?(R=typeof Ne=="function"?Ne:RJ(Ne),j):R},j.linkSort=function(Ne){return arguments.length?(A=Ne,j):A},j.size=function(Ne){return arguments.length?(i=s=0,u=+Ne[0],d=+Ne[1],j):[u-i,d-s]},j.extent=function(Ne){return arguments.length?(i=+Ne[0][0],u=+Ne[1][0],s=+Ne[0][1],d=+Ne[1][1],j):[[i,s],[u,d]]},j.iterations=function(Ne){return arguments.length?(F=+Ne,j):F};function W({nodes:Ne,links:je}){for(const[Se,Ce]of Ne.entries())Ce.index=Se,Ce.sourceLinks=[],Ce.targetLinks=[];const Ie=new Map(Ne.map((Se,Ce)=>[y(Se,Ce,Ne),Se]));for(const[Se,Ce]of je.entries()){Ce.index=Se;let{source:ke,target:Ke}=Ce;typeof ke!="object"&&(ke=Ce.source=CWe(Ie,ke)),typeof Ke!="object"&&(Ke=Ce.target=CWe(Ie,Ke)),ke.sourceLinks.push(Ce),Ke.targetLinks.push(Ce)}if(A!=null)for(const{sourceLinks:Se,targetLinks:Ce}of Ne)Se.sort(A),Ce.sort(A)}function ee({nodes:Ne}){for(const je of Ne)je.value=je.fixedValue===void 0?Math.max(awe(je.sourceLinks,owe),awe(je.targetLinks,owe)):je.fixedValue}function ie({nodes:Ne}){const je=Ne.length;let Ie=new Set(Ne),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.depth=Ce;for(const{target:Ke}of ke.sourceLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function oe({nodes:Ne}){const je=Ne.length;let Ie=new Set(Ne),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.height=Ce;for(const{source:Ke}of ke.targetLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function be({nodes:Ne}){const je=yWe(Ne,Ce=>Ce.depth)+1,Ie=(u-i-p)/(je-1),Se=new Array(je);for(const Ce of Ne){const ke=Math.max(0,Math.min(je-1,Math.floor(T.call(null,Ce,je))));Ce.layer=ke,Ce.x0=i+ke*Ie,Ce.x1=Ce.x0+p,Se[ke]?Se[ke].push(Ce):Se[ke]=[Ce]}if(_)for(const Ce of Se)Ce.sort(_);return Se}function ge(Ne){const je=xWe(Ne,Ie=>(d-s-(Ie.length-1)*b)/awe(Ie,owe));for(const Ie of Ne){let Se=s;for(const Ce of Ie){Ce.y0=Se,Ce.y1=Se+Ce.value*je,Se=Ce.y1+b;for(const ke of Ce.sourceLinks)ke.width=ke.value*je}Se=(d-Se+b)/(Ie.length+1);for(let Ce=0;CeIe.length)-1)),ge(je);for(let Ie=0;Ie0))continue;let gn=(Ft/Pe-Ke.y0)*je;Ke.y0+=gn,Ke.y1+=gn,K(Ke)}_===void 0&&ke.sort(jJ),de(ke,Ie)}}function se(Ne,je,Ie){for(let Se=Ne.length,Ce=Se-2;Ce>=0;--Ce){const ke=Ne[Ce];for(const Ke of ke){let Ft=0,Pe=0;for(const{target:kt,value:Et}of Ke.sourceLinks){let Gt=Et*(kt.layer-Ke.layer);Ft+=Be(Ke,kt)*Gt,Pe+=Gt}if(!(Pe>0))continue;let gn=(Ft/Pe-Ke.y0)*je;Ke.y0+=gn,Ke.y1+=gn,K(Ke)}_===void 0&&ke.sort(jJ),de(ke,Ie)}}function de(Ne,je){const Ie=Ne.length>>1,Se=Ne[Ie];pe(Ne,Se.y0-b,Ie-1,je),X(Ne,Se.y1+b,Ie+1,je),pe(Ne,d,Ne.length-1,je),X(Ne,s,0,je)}function X(Ne,je,Ie,Se){for(;Ie1e-6&&(Ce.y0+=ke,Ce.y1+=ke),je=Ce.y1+b}}function pe(Ne,je,Ie,Se){for(;Ie>=0;--Ie){const Ce=Ne[Ie],ke=(Ce.y1-je)*Se;ke>1e-6&&(Ce.y0-=ke,Ce.y1-=ke),je=Ce.y0-b}}function K({sourceLinks:Ne,targetLinks:je}){if(A===void 0){for(const{source:{sourceLinks:Ie}}of je)Ie.sort(TWe);for(const{target:{targetLinks:Ie}}of Ne)Ie.sort(EWe)}}function xe(Ne){if(A===void 0)for(const{sourceLinks:je,targetLinks:Ie}of Ne)je.sort(TWe),Ie.sort(EWe)}function U(Ne,je){let Ie=Ne.y0-(Ne.sourceLinks.length-1)*b/2;for(const{target:Se,width:Ce}of Ne.sourceLinks){if(Se===je)break;Ie+=Ce+b}for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Ne)break;Ie-=Ce}return Ie}function Be(Ne,je){let Ie=je.y0-(je.targetLinks.length-1)*b/2;for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Ne)break;Ie+=Ce+b}for(const{target:Se,width:Ce}of Ne.sourceLinks){if(Se===je)break;Ie-=Ce}return Ie}return j}var cwe=Math.PI,uwe=2*cwe,aS=1e-6,Won=uwe-aS;function lwe(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function _We(){return new lwe}lwe.prototype=_We.prototype={constructor:lwe,moveTo:function(i,s){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+s)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,s){this._+="L"+(this._x1=+i)+","+(this._y1=+s)},quadraticCurveTo:function(i,s,u,d){this._+="Q"+ +i+","+ +s+","+(this._x1=+u)+","+(this._y1=+d)},bezierCurveTo:function(i,s,u,d,p,v){this._+="C"+ +i+","+ +s+","+ +u+","+ +d+","+(this._x1=+p)+","+(this._y1=+v)},arcTo:function(i,s,u,d,p){i=+i,s=+s,u=+u,d=+d,p=+p;var v=this._x1,b=this._y1,y=u-i,T=d-s,_=v-i,A=b-s,P=_*_+A*A;if(p<0)throw new Error("negative radius: "+p);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=s);else if(P>aS)if(!(Math.abs(A*y-T*_)>aS)||!p)this._+="L"+(this._x1=i)+","+(this._y1=s);else{var R=u-v,F=d-b,j=y*y+T*T,W=R*R+F*F,ee=Math.sqrt(j),ie=Math.sqrt(P),oe=p*Math.tan((cwe-Math.acos((j+P-W)/(2*ee*ie)))/2),be=oe/ie,ge=oe/ee;Math.abs(be-1)>aS&&(this._+="L"+(i+be*_)+","+(s+be*A)),this._+="A"+p+","+p+",0,0,"+ +(A*R>_*F)+","+(this._x1=i+ge*y)+","+(this._y1=s+ge*T)}},arc:function(i,s,u,d,p,v){i=+i,s=+s,u=+u,v=!!v;var b=u*Math.cos(d),y=u*Math.sin(d),T=i+b,_=s+y,A=1^v,P=v?d-p:p-d;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+T+","+_:(Math.abs(this._x1-T)>aS||Math.abs(this._y1-_)>aS)&&(this._+="L"+T+","+_),u&&(P<0&&(P=P%uwe+uwe),P>Won?this._+="A"+u+","+u+",0,1,"+A+","+(i-b)+","+(s-y)+"A"+u+","+u+",0,1,"+A+","+(this._x1=T)+","+(this._y1=_):P>aS&&(this._+="A"+u+","+u+",0,"+ +(P>=cwe)+","+A+","+(this._x1=i+u*Math.cos(p))+","+(this._y1=s+u*Math.sin(p))))},rect:function(i,s,u,d){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+s)+"h"+ +u+"v"+ +d+"h"+-u+"Z"},toString:function(){return this._}};function AWe(i){return function(){return i}}function Yon(i){return i[0]}function Xon(i){return i[1]}var Qon=Array.prototype.slice;function Jon(i){return i.source}function Zon(i){return i.target}function ecn(i){var s=Jon,u=Zon,d=Yon,p=Xon,v=null;function b(){var y,T=Qon.call(arguments),_=s.apply(this,T),A=u.apply(this,T);if(v||(v=y=_We()),i(v,+d.apply(this,(T[0]=_,T)),+p.apply(this,T),+d.apply(this,(T[0]=A,T)),+p.apply(this,T)),y)return v=null,y+""||null}return b.source=function(y){return arguments.length?(s=y,b):s},b.target=function(y){return arguments.length?(u=y,b):u},b.x=function(y){return arguments.length?(d=typeof y=="function"?y:AWe(+y),b):d},b.y=function(y){return arguments.length?(p=typeof y=="function"?y:AWe(+y),b):p},b.context=function(y){return arguments.length?(v=y??null,b):v},b}function tcn(i,s,u,d,p){i.moveTo(s,u),i.bezierCurveTo(s=(s+d)/2,u,s,p,d,p)}function ncn(){return ecn(tcn)}function rcn(i){return[i.source.x1,i.y0]}function icn(i){return[i.target.x0,i.y1]}function scn(){return ncn().source(rcn).target(icn)}const LWe=class oBe{static next(s){return new oBe(s+ ++oBe.count)}constructor(s){this.id=s,this.href=`#${s}`}toString(){return"url("+this.href+")"}};LWe.count=0;let MWe=LWe;const acn={left:zon,right:qon,center:Hon,justify:kWe},ocn={draw:function(i,s,u,d){const{securityLevel:p,sankey:v}=qt(),b=t$e.sankey;let y;p==="sandbox"&&(y=Ir("#i"+s));const T=Ir(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?T.select(`[id="${s}"]`):Ir(`[id="${s}"]`),A=(v==null?void 0:v.width)??b.width,P=(v==null?void 0:v.height)??b.width,R=(v==null?void 0:v.useMaxWidth)??b.useMaxWidth,F=(v==null?void 0:v.nodeAlignment)??b.nodeAlignment,j=(v==null?void 0:v.prefix)??b.prefix,W=(v==null?void 0:v.suffix)??b.suffix,ee=(v==null?void 0:v.showValues)??b.showValues,ie=d.db.getGraph(),oe=acn[F],be=10;Kon().nodeId(pe=>pe.id).nodeWidth(be).nodePadding(10+(ee?15:0)).nodeAlign(oe).extent([[0,0],[A,P]])(ie);const ae=_F(qFe);_.append("g").attr("class","nodes").selectAll(".node").data(ie.nodes).join("g").attr("class","node").attr("id",pe=>(pe.uid=MWe.next("node-")).id).attr("transform",function(pe){return"translate("+pe.x0+","+pe.y0+")"}).attr("x",pe=>pe.x0).attr("y",pe=>pe.y0).append("rect").attr("height",pe=>pe.y1-pe.y0).attr("width",pe=>pe.x1-pe.x0).attr("fill",pe=>ae(pe.id));const ne=({id:pe,value:K})=>ee?`${pe} +${j}${Math.round(K*100)/100}${W}`:pe;_.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(ie.nodes).join("text").attr("x",pe=>pe.x0(pe.y1+pe.y0)/2).attr("dy",`${ee?"0":"0.35"}em`).attr("text-anchor",pe=>pe.x0(K.uid=MWe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",K=>K.source.x1).attr("x2",K=>K.target.x0);pe.append("stop").attr("offset","0%").attr("stop-color",K=>ae(K.source.id)),pe.append("stop").attr("offset","100%").attr("stop-color",K=>ae(K.target.id))}let X;switch(de){case"gradient":X=pe=>pe.uid;break;case"source":X=pe=>ae(pe.source.id);break;case"target":X=pe=>ae(pe.target.id);break;default:X=de}se.append("path").attr("d",scn()).attr("stroke",X).attr("stroke-width",pe=>Math.max(1,pe.width)),y9(void 0,_,0,R)}},ccn=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),ucn=PJ.parse.bind(PJ);PJ.parse=i=>ucn(ccn(i));const lcn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:PJ,db:jon,renderer:ocn}},Symbol.toStringTag,{value:"Module"}));var hwe=function(){var i=function(be,ge,ae,ne){for(ae=ae||{},ne=be.length;ne--;ae[be[ne]]=ge);return ae},s=[1,7],u=[1,13],d=[1,14],p=[1,15],v=[1,19],b=[1,16],y=[1,17],T=[1,18],_=[8,30],A=[8,21,28,29,30,31,32,40,44,47],P=[1,23],R=[1,24],F=[8,15,16,21,28,29,30,31,32,40,44,47],j=[8,15,16,21,27,28,29,30,31,32,40,44,47],W=[1,49],ee={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(ge,ae,ne,se,de,X,pe){var K=X.length-1;switch(de){case 4:se.getLogger().debug("Rule: separator (NL) ");break;case 5:se.getLogger().debug("Rule: separator (Space) ");break;case 6:se.getLogger().debug("Rule: separator (EOF) ");break;case 7:se.getLogger().debug("Rule: hierarchy: ",X[K-1]),se.setHierarchy(X[K-1]);break;case 8:se.getLogger().debug("Stop NL ");break;case 9:se.getLogger().debug("Stop EOF ");break;case 10:se.getLogger().debug("Stop NL2 ");break;case 11:se.getLogger().debug("Stop EOF2 ");break;case 12:se.getLogger().debug("Rule: statement: ",X[K]),typeof X[K].length=="number"?this.$=X[K]:this.$=[X[K]];break;case 13:se.getLogger().debug("Rule: statement #2: ",X[K-1]),this.$=[X[K-1]].concat(X[K]);break;case 14:se.getLogger().debug("Rule: link: ",X[K],ge),this.$={edgeTypeStr:X[K],label:""};break;case 15:se.getLogger().debug("Rule: LABEL link: ",X[K-3],X[K-1],X[K]),this.$={edgeTypeStr:X[K],label:X[K-1]};break;case 18:const xe=parseInt(X[K]),U=se.generateId();this.$={id:U,type:"space",label:"",width:xe,children:[]};break;case 23:se.getLogger().debug("Rule: (nodeStatement link node) ",X[K-2],X[K-1],X[K]," typestr: ",X[K-1].edgeTypeStr);const Be=se.edgeStrToEdgeData(X[K-1].edgeTypeStr);this.$=[{id:X[K-2].id,label:X[K-2].label,type:X[K-2].type,directions:X[K-2].directions},{id:X[K-2].id+"-"+X[K].id,start:X[K-2].id,end:X[K].id,label:X[K-1].label,type:"edge",directions:X[K].directions,arrowTypeEnd:Be,arrowTypeStart:"arrow_open"},{id:X[K].id,label:X[K].label,type:se.typeStr2Type(X[K].typeStr),directions:X[K].directions}];break;case 24:se.getLogger().debug("Rule: nodeStatement (abc88 node size) ",X[K-1],X[K]),this.$={id:X[K-1].id,label:X[K-1].label,type:se.typeStr2Type(X[K-1].typeStr),directions:X[K-1].directions,widthInColumns:parseInt(X[K],10)};break;case 25:se.getLogger().debug("Rule: nodeStatement (node) ",X[K]),this.$={id:X[K].id,label:X[K].label,type:se.typeStr2Type(X[K].typeStr),directions:X[K].directions,widthInColumns:1};break;case 26:se.getLogger().debug("APA123",this?this:"na"),se.getLogger().debug("COLUMNS: ",X[K]),this.$={type:"column-setting",columns:X[K]==="auto"?-1:parseInt(X[K])};break;case 27:se.getLogger().debug("Rule: id-block statement : ",X[K-2],X[K-1]),se.generateId(),this.$={...X[K-2],type:"composite",children:X[K-1]};break;case 28:se.getLogger().debug("Rule: blockStatement : ",X[K-2],X[K-1],X[K]);const Ne=se.generateId();this.$={id:Ne,type:"composite",label:"",children:X[K-1]};break;case 29:se.getLogger().debug("Rule: node (NODE_ID separator): ",X[K]),this.$={id:X[K]};break;case 30:se.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",X[K-1],X[K]),this.$={id:X[K-1],label:X[K].label,typeStr:X[K].typeStr,directions:X[K].directions};break;case 31:se.getLogger().debug("Rule: dirList: ",X[K]),this.$=[X[K]];break;case 32:se.getLogger().debug("Rule: dirList: ",X[K-1],X[K]),this.$=[X[K-1]].concat(X[K]);break;case 33:se.getLogger().debug("Rule: nodeShapeNLabel: ",X[K-2],X[K-1],X[K]),this.$={typeStr:X[K-2]+X[K],label:X[K-1]};break;case 34:se.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",X[K-3],X[K-2]," #3:",X[K-1],X[K]),this.$={typeStr:X[K-3]+X[K],label:X[K-2],directions:X[K-1]};break;case 35:case 36:this.$={type:"classDef",id:X[K-1].trim(),css:X[K].trim()};break;case 37:this.$={type:"applyClass",id:X[K-1].trim(),styleClass:X[K].trim()};break;case 38:this.$={type:"applyStyles",id:X[K-1].trim(),stylesStr:X[K].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:s,28:u,29:d,31:p,32:v,40:b,44:y,47:T}),i(A,[2,16],{14:22,15:P,16:R}),i(A,[2,17]),i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),i(A,[2,21]),i(A,[2,22]),i(F,[2,25],{27:[1,25]}),i(A,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(j,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(F,[2,24]),{11:37,13:4,14:22,15:P,16:R,19:5,20:6,21:s,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:T},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(j,[2,30]),{18:[1,43]},{18:[1,44]},i(F,[2,23]),{18:[1,45]},{30:[1,46]},i(A,[2,28]),i(A,[2,35]),i(A,[2,36]),i(A,[2,37]),i(A,[2,38]),{37:[1,47]},{34:48,35:W},{15:[1,50]},i(A,[2,27]),i(j,[2,33]),{39:[1,51]},{34:52,35:W,39:[2,31]},{32:[2,15]},i(j,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(ge,ae){if(ae.recoverable)this.trace(ge);else{var ne=new Error(ge);throw ne.hash=ae,ne}},parse:function(ge){var ae=this,ne=[0],se=[],de=[null],X=[],pe=this.table,K="",xe=0,U=0,Be=2,Ne=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(ge,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var Tt;return Tt=se.pop()||Ie.lex()||Ne,typeof Tt!="number"&&(Tt instanceof Array&&(se=Tt,Tt=se.pop()),Tt=ae.symbols_[Tt]||Tt),Tt}for(var Pe,gn,kt,Et,Gt={},ln,xt,Pt,Ze;;){if(gn=ne[ne.length-1],this.defaultActions[gn]?kt=this.defaultActions[gn]:((Pe===null||typeof Pe>"u")&&(Pe=Ft()),kt=pe[gn]&&pe[gn][Pe]),typeof kt>"u"||!kt.length||!kt[0]){var At="";Ze=[];for(ln in pe[gn])this.terminals_[ln]&&ln>Be&&Ze.push("'"+this.terminals_[ln]+"'");Ie.showPosition?At="Parse error on line "+(xe+1)+`: +`+Ie.showPosition()+` +Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":At="Parse error on line "+(xe+1)+": Unexpected "+(Pe==Ne?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(At,{text:Ie.match,token:this.terminals_[Pe]||Pe,line:Ie.yylineno,loc:ke,expected:Ze})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Pe);switch(kt[0]){case 1:ne.push(Pe),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(kt[1]),Pe=null,U=Ie.yyleng,K=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(xt=this.productions_[kt[1]][1],Gt.$=de[de.length-xt],Gt._$={first_line:X[X.length-(xt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(xt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Gt._$.range=[X[X.length-(xt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Gt,[K,U,xe,Se.yy,kt[1],de,X].concat(je)),typeof Et<"u")return Et;xt&&(ne=ne.slice(0,-1*xt*2),de=de.slice(0,-1*xt),X=X.slice(0,-1*xt)),ne.push(this.productions_[kt[1]][0]),de.push(Gt.$),X.push(Gt._$),Pt=pe[ne[ne.length-2]][ne[ne.length-1]],ne.push(Pt);break;case 3:return!0}}return!0}},ie=function(){var be={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(ge,ae){return this.yy=ae||this.yy||{},this._input=ge,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var ae=ge.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var ae=ge.length,ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ne.length-1&&(this.yylineno-=ne.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ge=this.pastInput(),ae=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+` +`+ae+"^"},test_match:function(ge,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),se=ge[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ge[0].length),this.matched+=ge[0],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(ge=this.test_match(ne,de[X]),ge!==!1)return ge;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(ge=this.test_match(ae,de[se]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ae,ne,se,de){switch(se){case 0:return 10;case 1:return ae.getLogger().debug("Found space-block"),31;case 2:return ae.getLogger().debug("Found nl-block"),31;case 3:return ae.getLogger().debug("Found space-block"),29;case 4:ae.getLogger().debug(".",ne.yytext);break;case 5:ae.getLogger().debug("_",ne.yytext);break;case 6:return 5;case 7:return ne.yytext=-1,28;case 8:return ne.yytext=ne.yytext.replace(/columns\s+/,""),ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:ae.getLogger().debug("LEX: POPPING STR:",ne.yytext),this.popState();break;case 14:return ae.getLogger().debug("LEX: STR end:",ne.yytext),"STR";case 15:return ne.yytext=ne.yytext.replace(/space\:/,""),ae.getLogger().debug("SPACE NUM (LEX)",ne.yytext),21;case 16:return ne.yytext="1",ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),ae.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),ae.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),ae.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),ae.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),ae.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),ae.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),ae.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),ae.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),ae.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),ae.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return ae.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return ae.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return ae.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return ae.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return ae.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return ae.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return ae.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),ae.getLogger().debug("LEX ARR START"),38;case 75:return ae.getLogger().debug("Lex: NODE_ID",ne.yytext),32;case 76:return ae.getLogger().debug("Lex: EOF",ne.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:ae.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:ae.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return ae.getLogger().debug("LEX: NODE_DESCR:",ne.yytext),"NODE_DESCR";case 84:ae.getLogger().debug("LEX POPPING"),this.popState();break;case 85:ae.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (right): dir:",ne.yytext),"DIR";case 87:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (left):",ne.yytext),"DIR";case 88:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (x):",ne.yytext),"DIR";case 89:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (y):",ne.yytext),"DIR";case 90:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (up):",ne.yytext),"DIR";case 91:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (down):",ne.yytext),"DIR";case 92:return ne.yytext="]>",ae.getLogger().debug("Lex (ARROW_DIR end):",ne.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 94:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 95:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 96:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 97:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 98:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 99:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return ae.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 103:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 104:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 105:return ae.getLogger().debug("Lex: COLON",ne.yytext),ne.yytext=ne.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return be}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();hwe.parser=hwe;const hcn=hwe;let G2={},fwe=[],sj={};const DWe="color",IWe="fill",fcn="bgFill",OWe=",",dcn=qt();let aj={};const gcn=i=>ci.sanitizeText(i,dcn),pcn=function(i,s=""){aj[i]===void 0&&(aj[i]={id:i,styles:[],textStyles:[]});const u=aj[i];s!=null&&s.split(OWe).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(DWe)){const b=p.replace(IWe,fcn).replace(DWe,IWe);u.textStyles.push(b)}u.styles.push(p)})},bcn=function(i,s=""){const u=G2[i];s!=null&&(u.styles=s.split(OWe))},mcn=function(i,s){i.split(",").forEach(function(u){let d=G2[u];if(d===void 0){const p=u.trim();G2[p]={id:p,type:"na",children:[]},d=G2[p]}d.classes||(d.classes=[]),d.classes.push(s)})},NWe=(i,s)=>{const u=i.flat(),d=[];for(const p of u){if(p.label&&(p.label=gcn(p.label)),p.type==="classDef"){pcn(p.id,p.css);continue}if(p.type==="applyClass"){mcn(p.id,(p==null?void 0:p.styleClass)||"");continue}if(p.type==="applyStyles"){p!=null&&p.stylesStr&&bcn(p.id,p==null?void 0:p.stylesStr);continue}if(p.type==="column-setting")s.columns=p.columns||-1;else if(p.type==="edge")sj[p.id]?sj[p.id]++:sj[p.id]=1,p.id=sj[p.id]+"-"+p.id,fwe.push(p);else{p.label||(p.type==="composite"?p.label="":p.label=p.id);const v=!G2[p.id];if(v?G2[p.id]=p:(p.type!=="na"&&(G2[p.id].type=p.type),p.label!==p.id&&(G2[p.id].label=p.label)),p.children&&NWe(p.children,p),p.type==="space"){const b=p.width||1;for(let y=0;y{Xe.debug("Clear called"),Ng(),oj={id:"root",type:"composite",children:[],columns:-1},G2={root:oj},dwe=[],aj={},fwe=[],sj={}};function wcn(i){switch(Xe.debug("typeStr2Type",i),i){case"[]":return"square";case"()":return Xe.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function ycn(i){switch(Xe.debug("typeStr2Type",i),i){case"==":return"thick";default:return"normal"}}function xcn(i){switch(i.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let PWe=0;const kcn={getConfig:()=>Uh().block,typeStr2Type:wcn,edgeTypeStr2Type:ycn,edgeStrToEdgeData:xcn,getLogger:()=>console,getBlocksFlat:()=>[...Object.values(G2)],getBlocks:()=>dwe||[],getEdges:()=>fwe,setHierarchy:i=>{oj.children=i,NWe(i,oj),dwe=oj.children},getBlock:i=>G2[i],setBlock:i=>{G2[i.id]=i},getColumns:i=>{const s=G2[i];return s?s.columns?s.columns:s.children?s.children.length:-1:-1},getClasses:function(){return aj},clear:vcn,generateId:()=>(PWe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+PWe)},$J=(i,s)=>{const u=MRe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return SC(d,p,v,s)},Ecn=i=>`.label { + font-family: ${i.fontFamily}; + color: ${i.nodeTextColor||i.textColor}; + } + .cluster-label text { + fill: ${i.titleColor}; + } + .cluster-label span,p { + color: ${i.titleColor}; + } + + + + .label text,span,p { + fill: ${i.nodeTextColor||i.textColor}; + color: ${i.nodeTextColor||i.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${i.mainBkg}; + stroke: ${i.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${i.arrowheadColor}; + } + + .edgePath .path { + stroke: ${i.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${i.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${i.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${i.edgeLabelBackground}; + fill: ${i.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${$J(i.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${$J(i.mainBkg,.5)}; + fill: ${$J(i.clusterBkg,.5)}; + stroke: ${$J(i.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${i.titleColor}; + } + + .cluster span,p { + color: ${i.titleColor}; + } + /* .cluster div { + color: ${i.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${i.fontFamily}; + font-size: 12px; + background: ${i.tertiaryColor}; + border: 1px solid ${i.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${i.textColor}; + } +`;function BWe(i,s,u=!1){var R,F,j;const d=i;let p="default";(((R=d==null?void 0:d.classes)==null?void 0:R.length)||0)>0&&(p=((d==null?void 0:d.classes)||[]).join(" ")),p=p+" flowchart-label";let v=0,b="",y;switch(d.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",y=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const T=om((d==null?void 0:d.styles)||[]),_=d.label,A=d.size||{width:0,height:0,x:0,y:0};return{labelStyle:T.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:p,style:T.style,id:d.id,directions:d.directions,width:A.width,height:A.height,x:A.x,y:A.y,positioned:u,intersect:void 0,type:d.type,padding:y??(((j=(F=Uh())==null?void 0:F.block)==null?void 0:j.padding)||0)}}async function Tcn(i,s,u){const d=BWe(s,u,!1);if(d.type==="group")return;const p=await nJ(i,d),v=p.node().getBBox(),b=u.getBlock(d.id);b.size={width:v.width,height:v.height,x:0,y:0,node:p},u.setBlock(b),p.remove()}async function Ccn(i,s,u){const d=BWe(s,u,!0);u.getBlock(d.id).type!=="space"&&(await nJ(i,d),s.intersect=d==null?void 0:d.intersect,zme(d))}async function gwe(i,s,u,d){for(const p of s)await d(i,p,u),p.children&&await gwe(i,p.children,u,d)}async function Scn(i,s,u){await gwe(i,s,u,Tcn)}async function _cn(i,s,u){await gwe(i,s,u,Ccn)}async function Acn(i,s,u,d,p){const v=new P0({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of u)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of s)if(b.start&&b.end){const y=d.getBlock(b.start),T=d.getBlock(b.end);if(y!=null&&y.size&&(T!=null&&T.size)){const _=y.size,A=T.size,P=[{x:_.x,y:_.y},{x:_.x+(A.x-_.x)/2,y:_.y+(A.y-_.y)/2},{x:A.x,y:A.y}];await NUe(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,p),b.label&&(await qme(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await IUe({...b,x:P[1].x,y:P[1].y},{originalPath:P}))}}}const Zf=(($We=(jWe=qt())==null?void 0:jWe.block)==null?void 0:$We.padding)||8;function Lcn(i,s){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(s<0||!Number.isInteger(s))throw new Error("Position must be a non-negative integer."+s);if(i<0)return{px:s,py:0};if(i===1)return{px:0,py:s};const u=s%i,d=Math.floor(s/i);return{px:u,py:d}}const Mcn=i=>{let s=0,u=0;for(const d of i.children){const{width:p,height:v,x:b,y}=d.size||{width:0,height:0,x:0,y:0};Xe.debug("getMaxChildSize abc95 child:",d.id,"width:",p,"height:",v,"x:",b,"y:",y,d.type),d.type!=="space"&&(p>s&&(s=p/(i.widthInColumns||1)),v>u&&(u=v))}return{width:s,height:u}};function pwe(i,s,u=0,d=0){var b,y,T,_,A,P,R,F,j,W,ee;Xe.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",u),(y=i==null?void 0:i.size)!=null&&y.width||(i.size={width:u,height:d,x:0,y:0});let p=0,v=0;if(((T=i.children)==null?void 0:T.length)>0){for(const de of i.children)pwe(de,s);const ie=Mcn(i);p=ie.width,v=ie.height,Xe.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",p,v);for(const de of i.children)de.size&&(Xe.debug(`abc95 Setting size of children of ${i.id} id=${de.id} ${p} ${v} ${de.size}`),de.size.width=p*(de.widthInColumns||1)+Zf*((de.widthInColumns||1)-1),de.size.height=v,de.size.x=0,de.size.y=0,Xe.debug(`abc95 updating size of ${i.id} children child:${de.id} maxWidth:${p} maxHeight:${v}`));for(const de of i.children)pwe(de,s,p,v);const oe=i.columns||-1;let be=0;for(const de of i.children)be+=de.widthInColumns||1;let ge=i.children.length;oe>0&&oe0?Math.min(i.children.length,oe):i.children.length;if(de>0){const X=(ne-de*Zf-Zf)/de;Xe.debug("abc95 (growing to fit) width",i.id,ne,(R=i.size)==null?void 0:R.width,X);for(const pe of i.children)pe.size&&(pe.size.width=X)}}i.size={width:ne,height:se,x:0,y:0}}Xe.debug("setBlockSizes abc94 (done)",i.id,(F=i==null?void 0:i.size)==null?void 0:F.x,(j=i==null?void 0:i.size)==null?void 0:j.width,(W=i==null?void 0:i.size)==null?void 0:W.y,(ee=i==null?void 0:i.size)==null?void 0:ee.height)}function FWe(i,s){var d,p,v,b,y,T,_,A,P,R,F,j,W,ee,ie,oe,be;Xe.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(d=i==null?void 0:i.size)==null?void 0:d.x} y: ${(p=i==null?void 0:i.size)==null?void 0:p.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const u=i.columns||-1;if(Xe.debug("layoutBlocks columns abc95",i.id,"=>",u,i),i.children&&i.children.length>0){const ge=((y=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:y.width)||0,ae=i.children.length*ge+(i.children.length-1)*Zf;Xe.debug("widthOfChildren 88",ae,"posX");let ne=0;Xe.debug("abc91 block?.size?.x",i.id,(T=i==null?void 0:i.size)==null?void 0:T.x);let se=(_=i==null?void 0:i.size)!=null&&_.x?((A=i==null?void 0:i.size)==null?void 0:A.x)+(-((P=i==null?void 0:i.size)==null?void 0:P.width)/2||0):-Zf,de=0;for(const X of i.children){const pe=i;if(!X.size)continue;const{width:K,height:xe}=X.size,{px:U,py:Be}=Lcn(u,ne);if(Be!=de&&(de=Be,se=(R=i==null?void 0:i.size)!=null&&R.x?((F=i==null?void 0:i.size)==null?void 0:F.x)+(-((j=i==null?void 0:i.size)==null?void 0:j.width)/2||0):-Zf,Xe.debug("New row in layout for block",i.id," and child ",X.id,de)),Xe.debug(`abc89 layout blocks (child) id: ${X.id} Pos: ${ne} (px, py) ${U},${Be} (${(W=pe==null?void 0:pe.size)==null?void 0:W.x},${(ee=pe==null?void 0:pe.size)==null?void 0:ee.y}) parent: ${pe.id} width: ${K}${Zf}`),pe.size){const Ne=K/2;X.size.x=se+Zf+Ne,Xe.debug(`abc91 layout blocks (calc) px, pyid:${X.id} startingPos=X${se} new startingPosX${X.size.x} ${Ne} padding=${Zf} width=${K} halfWidth=${Ne} => x:${X.size.x} y:${X.size.y} ${X.widthInColumns} (width * (child?.w || 1)) / 2 ${K*((X==null?void 0:X.widthInColumns)||1)/2}`),se=X.size.x+Ne,X.size.y=pe.size.y-pe.size.height/2+Be*(xe+Zf)+xe/2+Zf,Xe.debug(`abc88 layout blocks (calc) px, pyid:${X.id}startingPosX${se}${Zf}${Ne}=>x:${X.size.x}y:${X.size.y}${X.widthInColumns}(width * (child?.w || 1)) / 2${K*((X==null?void 0:X.widthInColumns)||1)/2}`)}X.children&&FWe(X),ne+=(X==null?void 0:X.widthInColumns)||1,Xe.debug("abc88 columnsPos",X,ne)}}Xe.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ie=i==null?void 0:i.size)==null?void 0:ie.x} y: ${(oe=i==null?void 0:i.size)==null?void 0:oe.y} width: ${(be=i==null?void 0:i.size)==null?void 0:be.width}`)}function RWe(i,{minX:s,minY:u,maxX:d,maxY:p}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:y,height:T}=i.size;v-y/2d&&(d=v+y/2),b+T/2>p&&(p=b+T/2)}if(i.children)for(const v of i.children)({minX:s,minY:u,maxX:d,maxY:p}=RWe(v,{minX:s,minY:u,maxX:d,maxY:p}));return{minX:s,minY:u,maxX:d,maxY:p}}function Dcn(i){const s=i.getBlock("root");if(!s)return;pwe(s,i,0,0),FWe(s),Xe.debug("getBlocks",JSON.stringify(s,null,2));const{minX:u,minY:d,maxX:p,maxY:v}=RWe(s),b=v-d,y=p-u;return{x:u,y:d,width:y,height:b}}const Icn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:hcn,db:kcn,renderer:{draw:async function(i,s,u,d){const{securityLevel:p,block:v}=Uh(),b=d.db;let y;p==="sandbox"&&(y=Ir("#i"+s));const T=Ir(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?T.select(`[id="${s}"]`):Ir(`[id="${s}"]`);_me(_,["point","circle","cross"],d.type,s);const P=b.getBlocks(),R=b.getBlocksFlat(),F=b.getEdges(),j=_.insert("g").attr("class","block");await Scn(j,P,b);const W=Dcn(b);if(await _cn(j,P,b),await Acn(j,F,R,b,s),W){const ee=W,ie=Math.max(1,Math.round(.125*(ee.width/ee.height))),oe=ee.height+ie+10,be=ee.width+10,{useMaxWidth:ge}=v;Og(_,oe,be,!!ge),Xe.debug("Here Bounds",W,ee),_.attr("viewBox",`${ee.x-5} ${ee.y-5} ${ee.width+10} ${ee.height+10}`)}_F(qFe)},getClasses:function(i,s){return s.db.getClasses()}},styles:Ecn}},Symbol.toStringTag,{value:"Module"}));return um}); diff --git a/assets/images/BuildkiteTartPlugin.png b/assets/images/BuildkiteTartPlugin.png new file mode 100644 index 00000000..f04b4714 Binary files /dev/null and b/assets/images/BuildkiteTartPlugin.png differ diff --git a/assets/images/CirrusLogo.svg b/assets/images/CirrusLogo.svg new file mode 100644 index 00000000..5ff9d21a --- /dev/null +++ b/assets/images/CirrusLogo.svg @@ -0,0 +1,15 @@ + + + cirrus-logo + + + + + diff --git a/assets/images/RunnersDashboard.png b/assets/images/RunnersDashboard.png new file mode 100644 index 00000000..21a6f9d0 Binary files /dev/null and b/assets/images/RunnersDashboard.png differ diff --git a/assets/images/TartCirrusCLI.gif b/assets/images/TartCirrusCLI.gif new file mode 100644 index 00000000..9fef6570 Binary files /dev/null and b/assets/images/TartCirrusCLI.gif differ diff --git a/assets/images/TartGHARunners.png b/assets/images/TartGHARunners.png new file mode 100644 index 00000000..b84c0587 Binary files /dev/null and b/assets/images/TartGHARunners.png differ diff --git a/assets/images/TartLogo.png b/assets/images/TartLogo.png new file mode 100644 index 00000000..3adea1f7 Binary files /dev/null and b/assets/images/TartLogo.png differ diff --git a/assets/images/favicon.ico b/assets/images/favicon.ico new file mode 100644 index 00000000..47633386 Binary files /dev/null and b/assets/images/favicon.ico differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 00000000..1cf13b9f Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/images/orchard-port-forwarding-api.png b/assets/images/orchard-port-forwarding-api.png new file mode 100644 index 00000000..a5d311bf Binary files /dev/null and b/assets/images/orchard-port-forwarding-api.png differ diff --git a/assets/images/orchard/orchard-api-documentation-browser.png b/assets/images/orchard/orchard-api-documentation-browser.png new file mode 100644 index 00000000..cbe1f6d3 Binary files /dev/null and b/assets/images/orchard/orchard-api-documentation-browser.png differ diff --git a/assets/images/social/blog/2023/02/11/changing-tart-license.png b/assets/images/social/blog/2023/02/11/changing-tart-license.png new file mode 100644 index 00000000..f1f1875e Binary files /dev/null and b/assets/images/social/blog/2023/02/11/changing-tart-license.png differ diff --git a/assets/images/social/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale.png b/assets/images/social/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale.png new file mode 100644 index 00000000..4c014492 Binary files /dev/null and b/assets/images/social/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale.png differ diff --git a/assets/images/social/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks.png b/assets/images/social/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks.png new file mode 100644 index 00000000..48249e52 Binary files /dev/null and b/assets/images/social/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks.png differ diff --git a/assets/images/social/blog/2023/09/20/tart-200-and-community-updates.png b/assets/images/social/blog/2023/09/20/tart-200-and-community-updates.png new file mode 100644 index 00000000..225b5614 Binary files /dev/null and b/assets/images/social/blog/2023/09/20/tart-200-and-community-updates.png differ diff --git a/assets/images/social/blog/2023/10/06/tart-is-now-available-on-aws-marketplace.png b/assets/images/social/blog/2023/10/06/tart-is-now-available-on-aws-marketplace.png new file mode 100644 index 00000000..4814edc5 Binary files /dev/null and b/assets/images/social/blog/2023/10/06/tart-is-now-available-on-aws-marketplace.png differ diff --git a/assets/images/social/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners.png b/assets/images/social/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners.png new file mode 100644 index 00000000..3897d57b Binary files /dev/null and b/assets/images/social/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners.png differ diff --git a/assets/images/social/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard.png b/assets/images/social/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard.png new file mode 100644 index 00000000..c6d83c66 Binary files /dev/null and b/assets/images/social/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard.png differ diff --git a/assets/images/social/blog/archive/2023.png b/assets/images/social/blog/archive/2023.png new file mode 100644 index 00000000..d746245d Binary files /dev/null and b/assets/images/social/blog/archive/2023.png differ diff --git a/assets/images/social/blog/archive/2024.png b/assets/images/social/blog/archive/2024.png new file mode 100644 index 00000000..9ac5b12f Binary files /dev/null and b/assets/images/social/blog/archive/2024.png differ diff --git a/assets/images/social/blog/category/announcement.png b/assets/images/social/blog/category/announcement.png new file mode 100644 index 00000000..cf80d6b3 Binary files /dev/null and b/assets/images/social/blog/category/announcement.png differ diff --git a/assets/images/social/blog/category/orchard.png b/assets/images/social/blog/category/orchard.png new file mode 100644 index 00000000..62e7a288 Binary files /dev/null and b/assets/images/social/blog/category/orchard.png differ diff --git a/assets/images/social/blog/index.png b/assets/images/social/blog/index.png new file mode 100644 index 00000000..b95efdb8 Binary files /dev/null and b/assets/images/social/blog/index.png differ diff --git a/assets/images/social/faq.png b/assets/images/social/faq.png new file mode 100644 index 00000000..4d71b97f Binary files /dev/null and b/assets/images/social/faq.png differ diff --git a/assets/images/social/index.png b/assets/images/social/index.png new file mode 100644 index 00000000..0db579d1 Binary files /dev/null and b/assets/images/social/index.png differ diff --git a/assets/images/social/integrations/buildkite.png b/assets/images/social/integrations/buildkite.png new file mode 100644 index 00000000..f593281b Binary files /dev/null and b/assets/images/social/integrations/buildkite.png differ diff --git a/assets/images/social/integrations/cirrus-cli.png b/assets/images/social/integrations/cirrus-cli.png new file mode 100644 index 00000000..ae172df8 Binary files /dev/null and b/assets/images/social/integrations/cirrus-cli.png differ diff --git a/assets/images/social/integrations/gitlab-runner.png b/assets/images/social/integrations/gitlab-runner.png new file mode 100644 index 00000000..e0987b14 Binary files /dev/null and b/assets/images/social/integrations/gitlab-runner.png differ diff --git a/assets/images/social/integrations/vm-management.png b/assets/images/social/integrations/vm-management.png new file mode 100644 index 00000000..de9f2567 Binary files /dev/null and b/assets/images/social/integrations/vm-management.png differ diff --git a/assets/images/social/legal/privacy.png b/assets/images/social/legal/privacy.png new file mode 100644 index 00000000..ff082f80 Binary files /dev/null and b/assets/images/social/legal/privacy.png differ diff --git a/assets/images/social/legal/terms.png b/assets/images/social/legal/terms.png new file mode 100644 index 00000000..558a3e80 Binary files /dev/null and b/assets/images/social/legal/terms.png differ diff --git a/assets/images/social/licensing.png b/assets/images/social/licensing.png new file mode 100644 index 00000000..024f1aca Binary files /dev/null and b/assets/images/social/licensing.png differ diff --git a/assets/images/social/orchard/architecture-and-security.png b/assets/images/social/orchard/architecture-and-security.png new file mode 100644 index 00000000..121b3d42 Binary files /dev/null and b/assets/images/social/orchard/architecture-and-security.png differ diff --git a/assets/images/social/orchard/deploying-controller.png b/assets/images/social/orchard/deploying-controller.png new file mode 100644 index 00000000..30f068f9 Binary files /dev/null and b/assets/images/social/orchard/deploying-controller.png differ diff --git a/assets/images/social/orchard/deploying-workers.png b/assets/images/social/orchard/deploying-workers.png new file mode 100644 index 00000000..477b8815 Binary files /dev/null and b/assets/images/social/orchard/deploying-workers.png differ diff --git a/assets/images/social/orchard/integration-guide.png b/assets/images/social/orchard/integration-guide.png new file mode 100644 index 00000000..de67c091 Binary files /dev/null and b/assets/images/social/orchard/integration-guide.png differ diff --git a/assets/images/social/orchard/managing-cluster.png b/assets/images/social/orchard/managing-cluster.png new file mode 100644 index 00000000..f285ee20 Binary files /dev/null and b/assets/images/social/orchard/managing-cluster.png differ diff --git a/assets/images/social/orchard/quick-start.png b/assets/images/social/orchard/quick-start.png new file mode 100644 index 00000000..3d911d62 Binary files /dev/null and b/assets/images/social/orchard/quick-start.png differ diff --git a/assets/images/social/quick-start.png b/assets/images/social/quick-start.png new file mode 100644 index 00000000..5a37677a Binary files /dev/null and b/assets/images/social/quick-start.png differ diff --git a/assets/images/spotlight/github-actions-runners.webp b/assets/images/spotlight/github-actions-runners.webp new file mode 100644 index 00000000..2e5552f6 Binary files /dev/null and b/assets/images/spotlight/github-actions-runners.webp differ diff --git a/assets/images/spotlight/supported-registries.webp b/assets/images/spotlight/supported-registries.webp new file mode 100644 index 00000000..dd422c8a Binary files /dev/null and b/assets/images/spotlight/supported-registries.webp differ diff --git a/assets/images/spotlight/virtualization-framework.webp b/assets/images/spotlight/virtualization-framework.webp new file mode 100644 index 00000000..d4a33993 Binary files /dev/null and b/assets/images/spotlight/virtualization-framework.webp differ diff --git a/assets/images/users/expo.webp b/assets/images/users/expo.webp new file mode 100644 index 00000000..e5bcb99e Binary files /dev/null and b/assets/images/users/expo.webp differ diff --git a/assets/images/users/max-lapides.webp b/assets/images/users/max-lapides.webp new file mode 100644 index 00000000..2283ea4d Binary files /dev/null and b/assets/images/users/max-lapides.webp differ diff --git a/assets/images/users/mikhail-tokarev.webp b/assets/images/users/mikhail-tokarev.webp new file mode 100644 index 00000000..461b4b24 Binary files /dev/null and b/assets/images/users/mikhail-tokarev.webp differ diff --git a/assets/images/users/mitchell-hashimoto.webp b/assets/images/users/mitchell-hashimoto.webp new file mode 100644 index 00000000..27552f7b Binary files /dev/null and b/assets/images/users/mitchell-hashimoto.webp differ diff --git a/assets/images/users/seb-jachec.webp b/assets/images/users/seb-jachec.webp new file mode 100644 index 00000000..feed6deb Binary files /dev/null and b/assets/images/users/seb-jachec.webp differ diff --git a/assets/images/users/snowflake.webp b/assets/images/users/snowflake.webp new file mode 100644 index 00000000..07a22877 Binary files /dev/null and b/assets/images/users/snowflake.webp differ diff --git a/assets/javascripts/bundle.94ab4cf4.min.js b/assets/javascripts/bundle.94ab4cf4.min.js new file mode 100644 index 00000000..fc469e2b --- /dev/null +++ b/assets/javascripts/bundle.94ab4cf4.min.js @@ -0,0 +1,3 @@ +"use strict";(()=>{var Ji=Object.create;var _r=Object.defineProperty;var Xi=Object.getOwnPropertyDescriptor;var Zi=Object.getOwnPropertyNames,Gt=Object.getOwnPropertySymbols,ea=Object.getPrototypeOf,Ar=Object.prototype.hasOwnProperty,ho=Object.prototype.propertyIsEnumerable;var uo=(e,t,r)=>t in e?_r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&uo(e,r,t[r]);if(Gt)for(var r of Gt(t))ho.call(t,r)&&uo(e,r,t[r]);return e};var bo=(e,t)=>{var r={};for(var o in e)Ar.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Gt)for(var o of Gt(e))t.indexOf(o)<0&&ho.call(e,o)&&(r[o]=e[o]);return r};var Cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ta=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Zi(t))!Ar.call(e,n)&&n!==r&&_r(e,n,{get:()=>t[n],enumerable:!(o=Xi(t,n))||o.enumerable});return e};var Rt=(e,t,r)=>(r=e!=null?Ji(ea(e)):{},ta(t||!e||!e.__esModule?_r(r,"default",{value:e,enumerable:!0}):r,e));var vo=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{a(r.next(c))}catch(p){n(p)}},s=c=>{try{a(r.throw(c))}catch(p){n(p)}},a=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,s);a((r=r.apply(e,t)).next())});var xo=Cr((Hr,go)=>{(function(e,t){typeof Hr=="object"&&typeof go!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Hr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(H){return!!(H&&H!==document&&H.nodeName!=="HTML"&&H.nodeName!=="BODY"&&"classList"in H&&"contains"in H.classList)}function c(H){var ut=H.type,Fe=H.tagName;return!!(Fe==="INPUT"&&s[ut]&&!H.readOnly||Fe==="TEXTAREA"&&!H.readOnly||H.isContentEditable)}function p(H){H.classList.contains("focus-visible")||(H.classList.add("focus-visible"),H.setAttribute("data-focus-visible-added",""))}function l(H){H.hasAttribute("data-focus-visible-added")&&(H.classList.remove("focus-visible"),H.removeAttribute("data-focus-visible-added"))}function f(H){H.metaKey||H.altKey||H.ctrlKey||(a(r.activeElement)&&p(r.activeElement),o=!0)}function u(H){o=!1}function d(H){a(H.target)&&(o||c(H.target))&&p(H.target)}function x(H){a(H.target)&&(H.target.classList.contains("focus-visible")||H.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(H.target))}function L(H){document.visibilityState==="hidden"&&(n&&(o=!0),ee())}function ee(){document.addEventListener("mousemove",Z),document.addEventListener("mousedown",Z),document.addEventListener("mouseup",Z),document.addEventListener("pointermove",Z),document.addEventListener("pointerdown",Z),document.addEventListener("pointerup",Z),document.addEventListener("touchmove",Z),document.addEventListener("touchstart",Z),document.addEventListener("touchend",Z)}function ne(){document.removeEventListener("mousemove",Z),document.removeEventListener("mousedown",Z),document.removeEventListener("mouseup",Z),document.removeEventListener("pointermove",Z),document.removeEventListener("pointerdown",Z),document.removeEventListener("pointerup",Z),document.removeEventListener("touchmove",Z),document.removeEventListener("touchstart",Z),document.removeEventListener("touchend",Z)}function Z(H){H.target.nodeName&&H.target.nodeName.toLowerCase()==="html"||(o=!1,ne())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",L,!0),ee(),r.addEventListener("focus",d,!0),r.addEventListener("blur",x,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var ro=Cr((Rx,Rn)=>{"use strict";var Va=/["'&<>]/;Rn.exports=za;function za(e){var t=""+e,r=Va.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i{(function(t,r){typeof zt=="object"&&typeof io=="object"?io.exports=r():typeof define=="function"&&define.amd?define([],r):typeof zt=="object"?zt.ClipboardJS=r():t.ClipboardJS=r()})(zt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Gi}});var s=i(279),a=i.n(s),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(q){try{return document.execCommand(q)}catch(C){return!1}}var d=function(C){var _=f()(C);return u("cut"),_},x=d;function L(q){var C=document.documentElement.getAttribute("dir")==="rtl",_=document.createElement("textarea");_.style.fontSize="12pt",_.style.border="0",_.style.padding="0",_.style.margin="0",_.style.position="absolute",_.style[C?"right":"left"]="-9999px";var D=window.pageYOffset||document.documentElement.scrollTop;return _.style.top="".concat(D,"px"),_.setAttribute("readonly",""),_.value=q,_}var ee=function(C,_){var D=L(C);_.container.appendChild(D);var V=f()(D);return u("copy"),D.remove(),V},ne=function(C){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},D="";return typeof C=="string"?D=ee(C,_):C instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(C==null?void 0:C.type)?D=ee(C.value,_):(D=f()(C),u("copy")),D},Z=ne;function H(q){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?H=function(_){return typeof _}:H=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},H(q)}var ut=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=C.action,D=_===void 0?"copy":_,V=C.container,G=C.target,Ue=C.text;if(D!=="copy"&&D!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(G!==void 0)if(G&&H(G)==="object"&&G.nodeType===1){if(D==="copy"&&G.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(D==="cut"&&(G.hasAttribute("readonly")||G.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Ue)return Z(Ue,{container:V});if(G)return D==="cut"?x(G):Z(G,{container:V})},Fe=ut;function P(q){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?P=function(_){return typeof _}:P=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},P(q)}function se(q,C){if(!(q instanceof C))throw new TypeError("Cannot call a class as a function")}function ce(q,C){for(var _=0;_0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof V.action=="function"?V.action:this.defaultAction,this.target=typeof V.target=="function"?V.target:this.defaultTarget,this.text=typeof V.text=="function"?V.text:this.defaultText,this.container=P(V.container)==="object"?V.container:document.body}},{key:"listenClick",value:function(V){var G=this;this.listener=p()(V,"click",function(Ue){return G.onClick(Ue)})}},{key:"onClick",value:function(V){var G=V.delegateTarget||V.currentTarget,Ue=this.action(G)||"copy",Bt=Fe({action:Ue,container:this.container,target:this.target(G),text:this.text(G)});this.emit(Bt?"success":"error",{action:Ue,text:Bt,trigger:G,clearSelection:function(){G&&G.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(V){return Mr("action",V)}},{key:"defaultTarget",value:function(V){var G=Mr("target",V);if(G)return document.querySelector(G)}},{key:"defaultText",value:function(V){return Mr("text",V)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(V){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Z(V,G)}},{key:"cut",value:function(V){return x(V)}},{key:"isSupported",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],G=typeof V=="string"?[V]:V,Ue=!!document.queryCommandSupported;return G.forEach(function(Bt){Ue=Ue&&!!document.queryCommandSupported(Bt)}),Ue}}]),_}(a()),Gi=Bi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==n;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}o.exports=s},438:function(o,n,i){var s=i(828);function a(l,f,u,d,x){var L=p.apply(this,arguments);return l.addEventListener(u,L,x),{destroy:function(){l.removeEventListener(u,L,x)}}}function c(l,f,u,d,x){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof u=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(L){return a(L,f,u,d,x)}))}function p(l,f,u,d){return function(x){x.delegateTarget=s(x.target,f),x.delegateTarget&&d.call(l,x)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(o,n,i){var s=i(879),a=i(438);function c(u,d,x){if(!u&&!d&&!x)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(x))throw new TypeError("Third argument must be a Function");if(s.node(u))return p(u,d,x);if(s.nodeList(u))return l(u,d,x);if(s.string(u))return f(u,d,x);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,d,x){return u.addEventListener(d,x),{destroy:function(){u.removeEventListener(d,x)}}}function l(u,d,x){return Array.prototype.forEach.call(u,function(L){L.addEventListener(d,x)}),{destroy:function(){Array.prototype.forEach.call(u,function(L){L.removeEventListener(d,x)})}}}function f(u,d,x){return a(document.body,u,d,x)}o.exports=c},817:function(o){function n(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),s=c.toString()}return s}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,s,a){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var c=this;function p(){c.off(i,p),s.apply(a,arguments)}return p._=s,this.on(i,p,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=a.length;for(c;c0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function B(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||a(u,d)})})}function a(u,d){try{c(o[u](d))}catch(x){f(i[0][3],x)}}function c(u){u.value instanceof dt?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){a("next",u)}function l(u){a("throw",u)}function f(u,d){u(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function wo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Oe=="function"?Oe(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),n(a,c,s.done,s.value)})}}function n(i,s,a,c){Promise.resolve(c).then(function(p){i({value:p,done:a})},s)}}function I(e){return typeof e=="function"}function xt(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Xt=xt(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Ze(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var qe=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Oe(s),c=a.next();!c.done;c=a.next()){var p=c.value;p.remove(this)}}catch(L){t={error:L}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var l=this.initialTeardown;if(I(l))try{l()}catch(L){i=L instanceof Xt?L.errors:[L]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=Oe(f),d=u.next();!d.done;d=u.next()){var x=d.value;try{To(x)}catch(L){i=i!=null?i:[],L instanceof Xt?i=B(B([],K(i)),K(L.errors)):i.push(L)}}}catch(L){o={error:L}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Xt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)To(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ze(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ze(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var kr=qe.EMPTY;function Zt(e){return e instanceof qe||e&&"closed"in e&&I(e.remove)&&I(e.add)&&I(e.unsubscribe)}function To(e){I(e)?e():e.unsubscribe()}var We={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var yt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?kr:(this.currentObservers=null,a.push(r),new qe(function(){o.currentObservers=null,Ze(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,o){return new Ho(r,o)},t}(F);var Ho=function(e){ie(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:kr},t}(T);var jr=function(e){ie(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(T);var It={now:function(){return(It.delegate||Date).now()},delegate:void 0};var Ft=function(e){ie(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=It);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,s=o._infiniteTimeWindow,a=o._timestampProvider,c=o._windowTime;n||(i.push(r),!s&&i.push(a.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,s=n._buffer,a=s.slice(),c=0;c0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(St);var Ro=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(Ot);var Dr=new Ro(ko);var Po=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=Tt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var s=r.actions;o!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==o&&(Tt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(St);var Io=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(Ot);var xe=new Io(Po);var g=new F(function(e){return e.complete()});function rr(e){return e&&I(e.schedule)}function Nr(e){return e[e.length-1]}function pt(e){return I(Nr(e))?e.pop():void 0}function Ie(e){return rr(Nr(e))?e.pop():void 0}function or(e,t){return typeof Nr(e)=="number"?e.pop():t}var Lt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function nr(e){return I(e==null?void 0:e.then)}function ir(e){return I(e[wt])}function ar(e){return Symbol.asyncIterator&&I(e==null?void 0:e[Symbol.asyncIterator])}function sr(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function la(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var cr=la();function pr(e){return I(e==null?void 0:e[cr])}function lr(e){return Eo(this,arguments,function(){var r,o,n,i;return Jt(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,dt(r.read())];case 3:return o=s.sent(),n=o.value,i=o.done,i?[4,dt(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,dt(n)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function mr(e){return I(e==null?void 0:e.getReader)}function U(e){if(e instanceof F)return e;if(e!=null){if(ir(e))return ma(e);if(Lt(e))return fa(e);if(nr(e))return ua(e);if(ar(e))return Fo(e);if(pr(e))return da(e);if(mr(e))return ha(e)}throw sr(e)}function ma(e){return new F(function(t){var r=e[wt]();if(I(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function fa(e){return new F(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?v(function(n,i){return e(n,i,o)}):be,Ee(1),r?Qe(t):en(function(){return new ur}))}}function Yr(e){return e<=0?function(){return g}:E(function(t,r){var o=[];t.subscribe(w(r,function(n){o.push(n),e=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new T}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,c=a===void 0?!0:a;return function(p){var l,f,u,d=0,x=!1,L=!1,ee=function(){f==null||f.unsubscribe(),f=void 0},ne=function(){ee(),l=u=void 0,x=L=!1},Z=function(){var H=l;ne(),H==null||H.unsubscribe()};return E(function(H,ut){d++,!L&&!x&&ee();var Fe=u=u!=null?u:r();ut.add(function(){d--,d===0&&!L&&!x&&(f=Br(Z,c))}),Fe.subscribe(ut),!l&&d>0&&(l=new bt({next:function(P){return Fe.next(P)},error:function(P){L=!0,ee(),f=Br(ne,n,P),Fe.error(P)},complete:function(){x=!0,ee(),f=Br(ne,s),Fe.complete()}}),U(H).subscribe(l))})(p)}}function Br(e,t){for(var r=[],o=2;oe.next(document)),e}function M(e,t=document){return Array.from(t.querySelectorAll(e))}function j(e,t=document){let r=ue(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ue(e,t=document){return t.querySelector(e)||void 0}function Ve(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var ka=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(Ae(1),Q(void 0),m(()=>Ve()||document.body),X(1));function Ye(e){return ka.pipe(m(t=>e.contains(t)),Y())}function it(e,t){return $(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?Ut(r=>$e(+!r*t)):be,Q(e.matches(":hover"))))}function an(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)an(e,r)}function y(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)an(o,n);return o}function br(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function At(e){let t=y("script",{src:e});return $(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(b(()=>Vr(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),A(()=>document.head.removeChild(t)),Ee(1))))}var sn=new T,Ra=$(()=>typeof ResizeObserver=="undefined"?At("https://unpkg.com/resize-observer-polyfill"):k(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>sn.next(t)))),b(e=>O(tt,k(e)).pipe(A(()=>e.disconnect()))),X(1));function de(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Le(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return Ra.pipe(S(r=>r.observe(t)),b(r=>sn.pipe(v(o=>o.target===t),A(()=>r.unobserve(t)))),m(()=>de(e)),Q(de(e)))}function Ct(e){return{width:e.scrollWidth,height:e.scrollHeight}}function vr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function cn(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Be(e){return{x:e.offsetLeft,y:e.offsetTop}}function pn(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function ln(e){return O(h(window,"load"),h(window,"resize")).pipe(ke(0,xe),m(()=>Be(e)),Q(Be(e)))}function gr(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ge(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe(ke(0,xe),m(()=>gr(e)),Q(gr(e)))}var mn=new T,Pa=$(()=>k(new IntersectionObserver(e=>{for(let t of e)mn.next(t)},{threshold:0}))).pipe(b(e=>O(tt,k(e)).pipe(A(()=>e.disconnect()))),X(1));function mt(e){return Pa.pipe(S(t=>t.observe(e)),b(t=>mn.pipe(v(({target:r})=>r===e),A(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function fn(e,t=16){return Ge(e).pipe(m(({y:r})=>{let o=de(e),n=Ct(e);return r>=n.height-o.height-t}),Y())}var xr={drawer:j("[data-md-toggle=drawer]"),search:j("[data-md-toggle=search]")};function un(e){return xr[e].checked}function at(e,t){xr[e].checked!==t&&xr[e].click()}function Je(e){let t=xr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Ia(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Fa(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function dn(){let e=h(window,"keydown").pipe(v(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:un("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),v(({mode:t,type:r})=>{if(t==="global"){let o=Ve();if(typeof o!="undefined")return!Ia(o,r)}return!0}),le());return Fa().pipe(b(t=>t?g:e))}function we(){return new URL(location.href)}function st(e,t=!1){if(N("navigation.instant")&&!t){let r=y("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function hn(){return new T}function bn(){return location.hash.slice(1)}function vn(e){let t=y("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Zr(e){return O(h(window,"hashchange"),e).pipe(m(bn),Q(bn()),v(t=>t.length>0),X(1))}function gn(e){return Zr(e).pipe(m(t=>ue(`[id="${t}"]`)),v(t=>typeof t!="undefined"))}function Dt(e){let t=matchMedia(e);return dr(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function xn(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function eo(e,t){return e.pipe(b(r=>r?t():g))}function to(e,t){return new F(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let s=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+s*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function ze(e,t){return to(e,t).pipe(b(r=>r.text()),m(r=>JSON.parse(r)),X(1))}function yr(e,t){let r=new DOMParser;return to(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),X(1))}function yn(e,t){let r=new DOMParser;return to(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),X(1))}function En(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function wn(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(En),Q(En()))}function Tn(){return{width:innerWidth,height:innerHeight}}function Sn(){return h(window,"resize",{passive:!0}).pipe(m(Tn),Q(Tn()))}function On(){return z([wn(),Sn()]).pipe(m(([e,t])=>({offset:e,size:t})),X(1))}function Er(e,{viewport$:t,header$:r}){let o=t.pipe(oe("size")),n=z([o,r]).pipe(m(()=>Be(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:s,size:a},{x:c,y:p}])=>({offset:{x:s.x-c,y:s.y-p+i},size:a})))}function ja(e){return h(e,"message",t=>t.data)}function Ua(e){let t=new T;return t.subscribe(r=>e.postMessage(r)),t}function Ln(e,t=new Worker(e)){let r=ja(t),o=Ua(t),n=new T;n.subscribe(o);let i=o.pipe(re(),ae(!0));return n.pipe(re(),Ne(r.pipe(W(i))),le())}var Wa=j("#__config"),Ht=JSON.parse(Wa.textContent);Ht.base=`${new URL(Ht.base,we())}`;function Te(){return Ht}function N(e){return Ht.features.includes(e)}function Me(e,t){return typeof t!="undefined"?Ht.translations[e].replace("#",t.toString()):Ht.translations[e]}function Ce(e,t=document){return j(`[data-md-component=${e}]`,t)}function me(e,t=document){return M(`[data-md-component=${e}]`,t)}function Da(e){let t=j(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>j(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function Mn(e){if(!N("announce.dismiss")||!e.childElementCount)return g;if(!e.hidden){let t=j(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return $(()=>{let t=new T;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),Da(e).pipe(S(r=>t.next(r)),A(()=>t.complete()),m(r=>R({ref:e},r)))})}function Na(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function _n(e,t){let r=new T;return r.subscribe(({hidden:o})=>{e.hidden=o}),Na(e,t).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))}function Nt(e,t){return t==="inline"?y("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},y("div",{class:"md-tooltip__inner md-typeset"})):y("div",{class:"md-tooltip",id:e,role:"tooltip"},y("div",{class:"md-tooltip__inner md-typeset"}))}function wr(...e){return y("div",{class:"md-tooltip2",role:"dialog"},y("div",{class:"md-tooltip2__inner md-typeset"},e))}function An(...e){return y("div",{class:"md-tooltip2",role:"tooltip"},y("div",{class:"md-tooltip2__inner md-typeset"},e))}function Cn(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return y("aside",{class:"md-annotation",tabIndex:0},Nt(t),y("a",{href:r,class:"md-annotation__index",tabIndex:-1},y("span",{"data-md-annotation-id":e})))}else return y("aside",{class:"md-annotation",tabIndex:0},Nt(t),y("span",{class:"md-annotation__index",tabIndex:-1},y("span",{"data-md-annotation-id":e})))}function Hn(e){return y("button",{class:"md-code__button",title:Me("clipboard.copy"),"data-clipboard-target":`#${e} > code`,"data-md-type":"copy"})}function $n(){return y("button",{class:"md-code__button",title:"Toggle line selection","data-md-type":"select"})}function kn(){return y("nav",{class:"md-code__nav"})}var Pn=Rt(ro());function oo(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,y("del",null,(0,Pn.default)(p))," "],[]).slice(0,-1),i=Te(),s=new URL(e.location,i.base);N("search.highlight")&&s.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:a}=Te();return y("a",{href:`${s}`,class:"md-search-result__link",tabIndex:-1},y("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&y("div",{class:"md-search-result__icon md-icon"}),r>0&&y("h1",null,e.title),r<=0&&y("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=a?c in a?`md-tag-icon md-tag--${a[c]}`:"md-tag-icon":"";return y("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&y("p",{class:"md-search-result__terms"},Me("search.result.term.missing"),": ",...n)))}function In(e){let t=e[0].score,r=[...e],o=Te(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),s=r.findIndex(l=>l.scoreoo(l,1)),...c.length?[y("details",{class:"md-search-result__more"},y("summary",{tabIndex:-1},y("div",null,c.length>0&&c.length===1?Me("search.result.more.one"):Me("search.result.more.other",c.length))),...c.map(l=>oo(l,1)))]:[]];return y("li",{class:"md-search-result__item"},p)}function Fn(e){return y("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>y("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?br(r):r)))}function no(e){let t=`tabbed-control tabbed-control--${e}`;return y("div",{class:t,hidden:!0},y("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function jn(e){return y("div",{class:"md-typeset__scrollwrap"},y("div",{class:"md-typeset__table"},e))}function qa(e){var o;let t=Te(),r=new URL(`../${e.version}/`,t.base);return y("li",{class:"md-version__item"},y("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&y("span",{class:"md-version__alias"},e.aliases[0])))}function Un(e,t){var o;let r=Te();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),y("div",{class:"md-version"},y("button",{class:"md-version__current","aria-label":Me("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&y("span",{class:"md-version__alias"},t.aliases[0])),y("ul",{class:"md-version__list"},e.map(qa)))}var Ka=0;function Qa(e,t=250){let r=z([Ye(e),it(e,t)]).pipe(m(([n,i])=>n||i),Y()),o=$(()=>cn(e)).pipe(J(Ge),gt(1),m(()=>pn(e)));return r.pipe(Re(n=>n),b(()=>z([r,o])),m(([n,i])=>({active:n,offset:i})),le())}function Vt(e,t,r=250){let{content$:o,viewport$:n}=t,i=`__tooltip2_${Ka++}`;return $(()=>{let s=new T,a=new jr(!1);s.pipe(re(),ae(!1)).subscribe(a);let c=a.pipe(Ut(l=>$e(+!l*250,Dr)),Y(),b(l=>l?o:g),S(l=>l.id=i),le());z([s.pipe(m(({active:l})=>l)),c.pipe(b(l=>it(l,250)),Q(!1))]).pipe(m(l=>l.some(f=>f))).subscribe(a);let p=a.pipe(v(l=>l),te(c,n),m(([l,f,{size:u}])=>{let d=e.getBoundingClientRect(),x=d.width/2;if(f.role==="tooltip")return{x,y:8+d.height};if(d.y>=u.height/2){let{height:L}=de(f);return{x,y:-16-L}}else return{x,y:16+d.height}}));return z([c,s,p]).subscribe(([l,{offset:f},u])=>{l.style.setProperty("--md-tooltip-host-x",`${f.x}px`),l.style.setProperty("--md-tooltip-host-y",`${f.y}px`),l.style.setProperty("--md-tooltip-x",`${u.x}px`),l.style.setProperty("--md-tooltip-y",`${u.y}px`),l.classList.toggle("md-tooltip2--top",u.y<0),l.classList.toggle("md-tooltip2--bottom",u.y>=0)}),a.pipe(v(l=>l),te(c,(l,f)=>f),v(l=>l.role==="tooltip")).subscribe(l=>{let f=de(j(":scope > *",l));l.style.setProperty("--md-tooltip-width",`${f.width}px`),l.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(Y(),ye(xe),te(c)).subscribe(([l,f])=>{f.classList.toggle("md-tooltip2--active",l)}),z([a.pipe(v(l=>l)),c]).subscribe(([l,f])=>{f.role==="dialog"?(e.setAttribute("aria-controls",i),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",i)}),a.pipe(v(l=>!l)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),Qa(e,r).pipe(S(l=>s.next(l)),A(()=>s.complete()),m(l=>R({ref:e},l)))})}function Xe(e,{viewport$:t},r=document.body){return Vt(e,{content$:new F(o=>{let n=e.title,i=An(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t},0)}function Ya(e,t){let r=$(()=>z([ln(e),Ge(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:s,height:a}=de(e);return{x:o-i.x+s/2,y:n-i.y+a/2}}));return Ye(e).pipe(b(o=>r.pipe(m(n=>({active:o,offset:n})),Ee(+!o||1/0))))}function Wn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return $(()=>{let i=new T,s=i.pipe(re(),ae(!0));return i.subscribe({next({offset:a}){e.style.setProperty("--md-tooltip-x",`${a.x}px`),e.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),mt(e).pipe(W(s)).subscribe(a=>{e.toggleAttribute("data-md-visible",a)}),O(i.pipe(v(({active:a})=>a)),i.pipe(Ae(250),v(({active:a})=>!a))).subscribe({next({active:a}){a?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(ke(16,xe)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(gt(125,xe),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?e.style.setProperty("--md-tooltip-0",`${-a}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(W(s),v(a=>!(a.metaKey||a.ctrlKey))).subscribe(a=>{a.stopPropagation(),a.preventDefault()}),h(n,"mousedown").pipe(W(s),te(i)).subscribe(([a,{active:c}])=>{var p;if(a.button!==0||a.metaKey||a.ctrlKey)a.preventDefault();else if(c){a.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Ve())==null||p.blur()}}),r.pipe(W(s),v(a=>a===o),nt(125)).subscribe(()=>e.focus()),Ya(e,t).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>R({ref:e},a)))})}function Ba(e){let t=Te();if(e.tagName!=="CODE")return[e];let r=[".c",".c1",".cm"];if(typeof t.annotate!="undefined"){let o=e.closest("[class|=language]");if(o)for(let n of Array.from(o.classList)){if(!n.startsWith("language-"))continue;let[,i]=n.split("-");i in t.annotate&&r.push(...t.annotate[i])}}return M(r.join(", "),e)}function Ga(e){let t=[];for(let r of Ba(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let s;for(;s=/(\(\d+\))(!)?/.exec(i.textContent);){let[,a,c]=s;if(typeof c=="undefined"){let p=i.splitText(s.index);i=p.splitText(a.length),t.push(p)}else{i.textContent=a,t.push(i);break}}}}return t}function Dn(e,t){t.append(...Array.from(e.childNodes))}function Tr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,s=new Map;for(let a of Ga(t)){let[,c]=a.textContent.match(/\((\d+)\)/);ue(`:scope > li:nth-child(${c})`,e)&&(s.set(c,Cn(c,i)),a.replaceWith(s.get(c)))}return s.size===0?g:$(()=>{let a=new T,c=a.pipe(re(),ae(!0)),p=[];for(let[l,f]of s)p.push([j(".md-typeset",f),j(`:scope > li:nth-child(${l})`,e)]);return o.pipe(W(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?Dn(f,u):Dn(u,f)}),O(...[...s].map(([,l])=>Wn(l,t,{target$:r}))).pipe(A(()=>a.complete()),le())})}function Nn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Nn(t)}}function Vn(e,t){return $(()=>{let r=Nn(e);return typeof r!="undefined"?Tr(r,e,t):g})}var qn=Rt(ao());var Ja=0,zn=O(h(window,"keydown").pipe(m(()=>!0)),O(h(window,"keyup"),h(window,"contextmenu")).pipe(m(()=>!1))).pipe(Q(!1),X(1));function Kn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Kn(t)}}function Xa(e){return Le(e).pipe(m(({width:t})=>({scrollable:Ct(e).width>t})),oe("scrollable"))}function Qn(e,t){let{matches:r}=matchMedia("(hover)"),o=$(()=>{let n=new T,i=n.pipe(Yr(1));n.subscribe(({scrollable:d})=>{d&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let s=[],a=e.closest("pre"),c=a.closest("[id]"),p=c?c.id:Ja++;a.id=`__code_${p}`;let l=[],f=e.closest(".highlight");if(f instanceof HTMLElement){let d=Kn(f);if(typeof d!="undefined"&&(f.classList.contains("annotate")||N("content.code.annotate"))){let x=Tr(d,e,t);l.push(Le(f).pipe(W(i),m(({width:L,height:ee})=>L&&ee),Y(),b(L=>L?x:g)))}}let u=M(":scope > span[id]",e);if(u.length&&(e.classList.add("md-code__content"),e.closest(".select")||N("content.code.select")&&!e.closest(".no-select"))){let d=+u[0].id.split("-").pop(),x=$n();s.push(x),N("content.tooltips")&&l.push(Xe(x,{viewport$}));let L=h(x,"click").pipe(Wt(P=>!P,!1),S(()=>x.blur()),le());L.subscribe(P=>{x.classList.toggle("md-code__button--active",P)});let ee=fe(u).pipe(J(P=>it(P).pipe(m(se=>[P,se]))));L.pipe(b(P=>P?ee:g)).subscribe(([P,se])=>{let ce=ue(".hll.select",P);if(ce&&!se)ce.replaceWith(...Array.from(ce.childNodes));else if(!ce&&se){let he=document.createElement("span");he.className="hll select",he.append(...Array.from(P.childNodes).slice(1)),P.append(he)}});let ne=fe(u).pipe(J(P=>h(P,"mousedown").pipe(S(se=>se.preventDefault()),m(()=>P)))),Z=L.pipe(b(P=>P?ne:g),te(zn),m(([P,se])=>{var he;let ce=u.indexOf(P)+d;if(se===!1)return[ce,ce];{let Se=M(".hll",e).map(je=>u.indexOf(je.parentElement)+d);return(he=window.getSelection())==null||he.removeAllRanges(),[Math.min(ce,...Se),Math.max(ce,...Se)]}})),H=Zr(g).pipe(v(P=>P.startsWith(`__codelineno-${p}-`)));H.subscribe(P=>{let[,,se]=P.split("-"),ce=se.split(":").map(Se=>+Se-d+1);ce.length===1&&ce.push(ce[0]);for(let Se of M(".hll:not(.select)",e))Se.replaceWith(...Array.from(Se.childNodes));let he=u.slice(ce[0]-1,ce[1]);for(let Se of he){let je=document.createElement("span");je.className="hll",je.append(...Array.from(Se.childNodes).slice(1)),Se.append(je)}}),H.pipe(Ee(1),ye(pe)).subscribe(P=>{if(P.includes(":")){let se=document.getElementById(P.split(":")[0]);se&&setTimeout(()=>{let ce=se,he=-64;for(;ce!==document.body;)he+=ce.offsetTop,ce=ce.offsetParent;window.scrollTo({top:he})},1)}});let Fe=fe(M('a[href^="#__codelineno"]',f)).pipe(J(P=>h(P,"click").pipe(S(se=>se.preventDefault()),m(()=>P)))).pipe(W(i),te(zn),m(([P,se])=>{let he=+j(`[id="${P.hash.slice(1)}"]`).parentElement.id.split("-").pop();if(se===!1)return[he,he];{let Se=M(".hll",e).map(je=>+je.parentElement.id.split("-").pop());return[Math.min(he,...Se),Math.max(he,...Se)]}}));O(Z,Fe).subscribe(P=>{let se=`#__codelineno-${p}-`;P[0]===P[1]?se+=P[0]:se+=`${P[0]}:${P[1]}`,history.replaceState({},"",se),window.dispatchEvent(new HashChangeEvent("hashchange",{newURL:window.location.origin+window.location.pathname+se,oldURL:window.location.href}))})}if(qn.default.isSupported()&&(e.closest(".copy")||N("content.code.copy")&&!e.closest(".no-copy"))){let d=Hn(a.id);s.push(d),N("content.tooltips")&&l.push(Xe(d,{viewport$}))}if(s.length){let d=kn();d.append(...s),a.insertBefore(d,e)}return Xa(e).pipe(S(d=>n.next(d)),A(()=>n.complete()),m(d=>R({ref:e},d)),Ne(O(...l).pipe(W(i))))});return N("content.lazy")?mt(e).pipe(v(n=>n),Ee(1),b(()=>o)):o}function Za(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),v(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(v(n=>n||!o),S(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Yn(e,t){return $(()=>{let r=new T;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Za(e,t).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))})}var Bn=0;function es(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],o=e.nextElementSibling;for(;o&&!(o instanceof HTMLHeadingElement);)r.push(o),o=o.nextElementSibling;return r}function ts(e,t){for(let r of M("[href], [src]",e))for(let o of["href","src"]){let n=r.getAttribute(o);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){r[o]=new URL(r.getAttribute(o),t).toString();break}}for(let r of M("[name^=__], [for]",e))for(let o of["id","for","name"]){let n=r.getAttribute(o);n&&r.setAttribute(o,`${n}$preview_${Bn}`)}return Bn++,k(e)}function Gn(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return g;if(!(N("navigation.instant.preview")||e.hasAttribute("data-preview")))return g;let o=z([Ye(e),it(e)]).pipe(m(([i,s])=>i||s),Y(),v(i=>i));return rt([r,o]).pipe(b(([i])=>{let s=new URL(e.href);return s.search=s.hash="",i.has(`${s}`)?k(s):g}),b(i=>yr(i).pipe(b(s=>ts(s,i)))),b(i=>{let s=e.hash?`article [id="${e.hash.slice(1)}"]`:"article h1",a=ue(s,i);return typeof a=="undefined"?g:k(es(a))})).pipe(b(i=>{let s=new F(a=>{let c=wr(...i);return a.next(c),document.body.append(c),()=>c.remove()});return Vt(e,R({content$:s},t))}))}var Jn=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var so,os=0;function ns(){return typeof mermaid=="undefined"||mermaid instanceof Element?At("https://tart.run/assets/external/unpkg.com/mermaid@10/dist/mermaid.min.js"):k(void 0)}function Xn(e){return e.classList.remove("mermaid"),so||(so=ns().pipe(S(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Jn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),X(1))),so.subscribe(()=>vo(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${os++}`,r=y("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),s=r.attachShadow({mode:"closed"});s.innerHTML=n,e.replaceWith(r),i==null||i(s)})),so.pipe(m(()=>({ref:e})))}var Zn=y("table");function ei(e){return e.replaceWith(Zn),Zn.replaceWith(jn(e)),k({ref:e})}function is(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>j(`label[for="${r.id}"]`))))).pipe(Q(j(`label[for="${t.id}"]`)),m(r=>({active:r})))}function ti(e,{viewport$:t,target$:r}){let o=j(".tabbed-labels",e),n=M(":scope > input",e),i=no("prev");e.append(i);let s=no("next");return e.append(s),$(()=>{let a=new T,c=a.pipe(re(),ae(!0));z([a,Le(e),mt(e)]).pipe(W(c),ke(1,xe)).subscribe({next([{active:p},l]){let f=Be(p),{width:u}=de(p);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=gr(o);(f.xd.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),z([Ge(o),Le(o)]).pipe(W(c)).subscribe(([p,l])=>{let f=Ct(o);i.hidden=p.x<16,s.hidden=p.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(s,"click").pipe(m(()=>1))).pipe(W(c)).subscribe(p=>{let{width:l}=de(o);o.scrollBy({left:l*p,behavior:"smooth"})}),r.pipe(W(c),v(p=>n.includes(p))).subscribe(p=>p.click()),o.classList.add("tabbed-labels--linked");for(let p of n){let l=j(`label[for="${p.id}"]`);l.replaceChildren(y("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(W(c),v(f=>!(f.metaKey||f.ctrlKey)),S(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return N("content.tabs.link")&&a.pipe(Pe(1),te(t)).subscribe(([{active:p},{offset:l}])=>{let f=p.innerText.trim();if(p.hasAttribute("data-md-switching"))p.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let x of M("[data-tabs]"))for(let L of M(":scope > input",x)){let ee=j(`label[for="${L.id}"]`);if(ee!==p&&ee.innerText.trim()===f){ee.setAttribute("data-md-switching",""),L.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),a.pipe(W(c)).subscribe(()=>{for(let p of M("audio, video",e))p.pause()}),is(n).pipe(S(p=>a.next(p)),A(()=>a.complete()),m(p=>R({ref:e},p)))}).pipe(et(pe))}function ri(e,t){let{viewport$:r,target$:o,print$:n}=t;return O(...M(".annotate:not(.highlight)",e).map(i=>Vn(i,{target$:o,print$:n})),...M("pre:not(.mermaid) > code",e).map(i=>Qn(i,{target$:o,print$:n})),...M("a:not([title])",e).map(i=>Gn(i,t)),...M("pre.mermaid",e).map(i=>Xn(i)),...M("table:not([class])",e).map(i=>ei(i)),...M("details",e).map(i=>Yn(i,{target$:o,print$:n})),...M("[data-tabs]",e).map(i=>ti(i,{viewport$:r,target$:o})),...M("[title]",e).filter(()=>N("content.tooltips")).map(i=>Xe(i,{viewport$:r})),...M(".footnote-ref",e).filter(()=>N("content.footnote.tooltips")).map(i=>Vt(i,{content$:new F(s=>{let a=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(a).cloneNode(!0).children),p=wr(...c);return s.next(p),document.body.append(p),()=>p.remove()}),viewport$:r})))}function as(e,{alert$:t}){return t.pipe(b(r=>O(k(!0),k(!1).pipe(nt(2e3))).pipe(m(o=>({message:r,active:o})))))}function oi(e,t){let r=j(".md-typeset",e);return $(()=>{let o=new T;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),as(e,t).pipe(S(n=>o.next(n)),A(()=>o.complete()),m(n=>R({ref:e},n)))})}var ss=0;function cs(e,t){document.body.append(e);let{width:r}=de(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=vr(t),n=typeof o!="undefined"?Ge(o):k({x:0,y:0}),i=O(Ye(t),it(t)).pipe(Y());return z([i,n]).pipe(m(([s,a])=>{let{x:c,y:p}=Be(t),l=de(t),f=t.closest("table");return f&&t.parentElement&&(c+=f.offsetLeft+t.parentElement.offsetLeft,p+=f.offsetTop+t.parentElement.offsetTop),{active:s,offset:{x:c-a.x+l.width/2-r/2,y:p-a.y+l.height+8}}}))}function ni(e){let t=e.title;if(!t.length)return g;let r=`__tooltip_${ss++}`,o=Nt(r,"inline"),n=j(".md-typeset",o);return n.innerHTML=t,$(()=>{let i=new T;return i.subscribe({next({offset:s}){o.style.setProperty("--md-tooltip-x",`${s.x}px`),o.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(v(({active:s})=>s)),i.pipe(Ae(250),v(({active:s})=>!s))).subscribe({next({active:s}){s?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(ke(16,xe)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(gt(125,xe),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?o.style.setProperty("--md-tooltip-0",`${-s}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),cs(o,e).pipe(S(s=>i.next(s)),A(()=>i.complete()),m(s=>R({ref:e},s)))}).pipe(et(pe))}function ps({viewport$:e}){if(!N("header.autohide"))return k(!1);let t=e.pipe(m(({offset:{y:n}})=>n),ot(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),Y()),o=Je("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),Y(),b(n=>n?r:k(!1)),Q(!1))}function ii(e,t){return $(()=>z([Le(e),ps(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),Y((r,o)=>r.height===o.height&&r.hidden===o.hidden),X(1))}function ai(e,{header$:t,main$:r}){return $(()=>{let o=new T,n=o.pipe(re(),ae(!0));o.pipe(oe("active"),De(t)).subscribe(([{active:s},{hidden:a}])=>{e.classList.toggle("md-header--shadow",s&&!a),e.hidden=a});let i=fe(M("[title]",e)).pipe(v(()=>N("content.tooltips")),J(s=>ni(s)));return r.subscribe(o),t.pipe(W(n),m(s=>R({ref:e},s)),Ne(i.pipe(W(n))))})}function ls(e,{viewport$:t,header$:r}){return Er(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=de(e);return{active:o>=n}}),oe("active"))}function si(e,t){return $(()=>{let r=new T;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=ue(".md-content h1");return typeof o=="undefined"?g:ls(o,t).pipe(S(n=>r.next(n)),A(()=>r.complete()),m(n=>R({ref:e},n)))})}function ci(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),Y()),n=o.pipe(b(()=>Le(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),oe("bottom"))));return z([o,n,t]).pipe(m(([i,{top:s,bottom:a},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,s-c,i)-Math.max(0,p+c-a)),{offset:s-i,height:p,active:s-i<=c})),Y((i,s)=>i.offset===s.offset&&i.height===s.height&&i.active===s.active))}function ms(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return k(...e).pipe(J(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),X(1))}function pi(e){let t=M("input",e),r=y("meta",{name:"theme-color"});document.head.appendChild(r);let o=y("meta",{name:"color-scheme"});document.head.appendChild(o);let n=Dt("(prefers-color-scheme: light)");return $(()=>{let i=new T;return i.subscribe(s=>{if(document.body.setAttribute("data-md-color-switching",""),s.color.media==="(prefers-color-scheme)"){let a=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(a.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");s.color.scheme=c.getAttribute("data-md-color-scheme"),s.color.primary=c.getAttribute("data-md-color-primary"),s.color.accent=c.getAttribute("data-md-color-accent")}for(let[a,c]of Object.entries(s.color))document.body.setAttribute(`data-md-color-${a}`,c);for(let a=0;as.key==="Enter"),te(i,(s,a)=>a)).subscribe(({index:s})=>{s=(s+1)%t.length,t[s].click(),t[s].focus()}),i.pipe(m(()=>{let s=Ce("header"),a=window.getComputedStyle(s);return o.content=a.colorScheme,a.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(s=>r.content=`#${s}`),i.pipe(ye(pe)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),ms(t).pipe(W(n.pipe(Pe(1))),vt(),S(s=>i.next(s)),A(()=>i.complete()),m(s=>R({ref:e},s)))})}function li(e,{progress$:t}){return $(()=>{let r=new T;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(S(o=>r.next({value:o})),A(()=>r.complete()),m(o=>({ref:e,value:o})))})}function mi(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function fs(e,t){let r=new Map;for(let o of M("url",e)){let n=j("loc",o),i=[mi(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let s of M("[rel=alternate]",o)){let a=s.getAttribute("href");a!=null&&i.push(mi(new URL(a),t))}}return r}function $t(e){return yn(new URL("sitemap.xml",e)).pipe(m(t=>fs(t,new URL(e))),ve(()=>k(new Map)),le())}function fi({document$:e}){let t=new Map;e.pipe(b(()=>M("link[rel=alternate]")),m(r=>new URL(r.href)),v(r=>!t.has(r.toString())),J(r=>$t(r).pipe(m(o=>[r,o]),ve(()=>g)))).subscribe(([r,o])=>{t.set(r.toString().replace(/\/$/,""),o)}),h(document.body,"click").pipe(v(r=>!r.metaKey&&!r.ctrlKey),b(r=>{if(r.target instanceof Element){let o=r.target.closest("a");if(o&&!o.target){let n=[...t].find(([f])=>o.href.startsWith(`${f}/`));if(typeof n=="undefined")return g;let[i,s]=n,a=we();if(a.href.startsWith(i))return g;let c=Te(),p=a.href.replace(c.base,"");p=`${i}/${p}`;let l=s.has(p.split("#")[0])?new URL(p,c.base):new URL(i);return r.preventDefault(),k(l)}}return g})).subscribe(r=>st(r,!0))}var co=Rt(ao());function us(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function ui({alert$:e}){co.default.isSupported()&&new F(t=>{new co.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||us(j(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(S(t=>{t.trigger.focus()}),m(()=>Me("clipboard.copied"))).subscribe(e)}function di(e,t){if(!(e.target instanceof Element))return g;let r=e.target.closest("a");if(r===null)return g;if(r.target||e.metaKey||e.ctrlKey)return g;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),k(r)):g}function hi(e){let t=new Map;for(let r of M(":scope > *",e.head))t.set(r.outerHTML,r);return t}function bi(e){for(let t of M("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return k(e)}function ds(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...N("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=ue(o),i=ue(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=hi(document);for(let[o,n]of hi(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Ce("container");return Ke(M("script",r)).pipe(b(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new F(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),g}),re(),ae(document))}function vi({sitemap$:e,location$:t,viewport$:r,progress$:o}){if(location.protocol==="file:")return g;k(document).subscribe(bi);let n=h(document.body,"click").pipe(De(e),b(([a,c])=>di(a,c)),m(({href:a})=>new URL(a)),le()),i=h(window,"popstate").pipe(m(we),le());n.pipe(te(r)).subscribe(([a,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",a)}),O(n,i).subscribe(t);let s=t.pipe(oe("pathname"),b(a=>yr(a,{progress$:o}).pipe(ve(()=>(st(a,!0),g)))),b(bi),b(ds),le());return O(s.pipe(te(t,(a,c)=>c)),s.pipe(b(()=>t),oe("pathname"),b(()=>t),oe("hash")),t.pipe(Y((a,c)=>a.pathname===c.pathname&&a.hash===c.hash),b(()=>n),S(()=>history.back()))).subscribe(a=>{var c,p;history.state!==null||!a.hash?window.scrollTo(0,(p=(c=history.state)==null?void 0:c.y)!=null?p:0):(history.scrollRestoration="auto",vn(a.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(oe("offset"),Ae(100)).subscribe(({offset:a})=>{history.replaceState(a,"")}),N("navigation.instant.prefetch")&&O(h(document.body,"mousemove"),h(document.body,"focusin")).pipe(De(e),b(([a,c])=>di(a,c)),Ae(25),Qr(({href:a})=>a),hr(a=>{let c=document.createElement("link");return c.rel="prefetch",c.href=a.toString(),document.head.appendChild(c),h(c,"load").pipe(m(()=>c),Ee(1))})).subscribe(a=>a.remove()),s}var gi=Rt(ro());function xi(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,s)=>`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return s=>(0,gi.default)(s).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function qt(e){return e.type===1}function Sr(e){return e.type===3}function yi(e,t){let r=Ln(e);return O(k(location.protocol!=="file:"),Je("search")).pipe(Re(o=>o),b(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:N("search.suggest")}}})),r}function Ei({document$:e}){let t=Te(),r=ze(new URL("../versions.json",t.base)).pipe(ve(()=>g)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:s,aliases:a})=>s===i||a.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),b(n=>h(document.body,"click").pipe(v(i=>!i.metaKey&&!i.ctrlKey),te(o),b(([i,s])=>{if(i.target instanceof Element){let a=i.target.closest("a");if(a&&!a.target&&n.has(a.href)){let c=a.href;return!i.target.closest(".md-version")&&n.get(c)===s?g:(i.preventDefault(),k(c))}}return g}),b(i=>$t(new URL(i)).pipe(m(s=>{let c=we().href.replace(t.base,i);return s.has(c.split("#")[0])?new URL(c):new URL(i)})))))).subscribe(n=>st(n,!0)),z([r,o]).subscribe(([n,i])=>{j(".md-header__topic").appendChild(Un(n,i))}),e.pipe(b(()=>o)).subscribe(n=>{var s;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let a=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(a)||(a=[a]);e:for(let c of a)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let a of me("outdated"))a.hidden=!1})}function vs(e,{worker$:t}){let{searchParams:r}=we();r.has("q")&&(at("search",!0),e.value=r.get("q"),e.focus(),Je("search").pipe(Re(i=>!i)).subscribe(()=>{let i=we();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=Ye(e),n=O(t.pipe(Re(qt)),h(e,"keyup"),o).pipe(m(()=>e.value),Y());return z([n,o]).pipe(m(([i,s])=>({value:i,focus:s})),X(1))}function wi(e,{worker$:t}){let r=new T,o=r.pipe(re(),ae(!0));z([t.pipe(Re(qt)),r],(i,s)=>s).pipe(oe("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(oe("focus")).subscribe(({focus:i})=>{i&&at("search",i)}),h(e.form,"reset").pipe(W(o)).subscribe(()=>e.focus());let n=j("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),vs(e,{worker$:t}).pipe(S(i=>r.next(i)),A(()=>r.complete()),m(i=>R({ref:e},i)),X(1))}function Ti(e,{worker$:t,query$:r}){let o=new T,n=fn(e.parentElement).pipe(v(Boolean)),i=e.parentElement,s=j(":scope > :first-child",e),a=j(":scope > :last-child",e);Je("search").subscribe(l=>a.setAttribute("role",l?"list":"presentation")),o.pipe(te(r),Gr(t.pipe(Re(qt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:s.textContent=f.length?Me("search.result.none"):Me("search.result.placeholder");break;case 1:s.textContent=Me("search.result.one");break;default:let u=br(l.length);s.textContent=Me("search.result.other",u)}});let c=o.pipe(S(()=>a.innerHTML=""),b(({items:l})=>O(k(...l.slice(0,10)),k(...l.slice(10)).pipe(ot(4),Xr(n),b(([f])=>f)))),m(In),le());return c.subscribe(l=>a.appendChild(l)),c.pipe(J(l=>{let f=ue("details",l);return typeof f=="undefined"?g:h(f,"toggle").pipe(W(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(v(Sr),m(({data:l})=>l)).pipe(S(l=>o.next(l)),A(()=>o.complete()),m(l=>R({ref:e},l)))}function gs(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=we();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function Si(e,t){let r=new T,o=r.pipe(re(),ae(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(W(o)).subscribe(n=>n.preventDefault()),gs(e,t).pipe(S(n=>r.next(n)),A(()=>r.complete()),m(n=>R({ref:e},n)))}function Oi(e,{worker$:t,keyboard$:r}){let o=new T,n=Ce("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(ye(pe),m(()=>n.value),Y());return o.pipe(De(i),m(([{suggest:a},c])=>{let p=c.split(/([\s-]+)/);if(a!=null&&a.length&&p[p.length-1]){let l=a[a.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(a=>e.innerHTML=a.join("").replace(/\s/g," ")),r.pipe(v(({mode:a})=>a==="search")).subscribe(a=>{switch(a.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(v(Sr),m(({data:a})=>a)).pipe(S(a=>o.next(a)),A(()=>o.complete()),m(()=>({ref:e})))}function Li(e,{index$:t,keyboard$:r}){let o=Te();try{let n=yi(o.search,t),i=Ce("search-query",e),s=Ce("search-result",e);h(e,"click").pipe(v(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>at("search",!1)),r.pipe(v(({mode:c})=>c==="search")).subscribe(c=>{let p=Ve();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of M(":first-child [href]",s)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}c.claim()}break;case"Escape":case"Tab":at("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...M(":not(details) > [href], summary, details[open] [href]",s)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Ve()&&i.focus()}}),r.pipe(v(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let a=wi(i,{worker$:n});return O(a,Ti(s,{worker$:n,query$:a})).pipe(Ne(...me("search-share",e).map(c=>Si(c,{query$:a})),...me("search-suggest",e).map(c=>Oi(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,tt}}function Mi(e,{index$:t,location$:r}){return z([t,r.pipe(Q(we()),v(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>xi(o.config)(n.searchParams.get("h"))),m(o=>{var s;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let a=i.nextNode();a;a=i.nextNode())if((s=a.parentElement)!=null&&s.offsetHeight){let c=a.textContent,p=o(c);p.length>c.length&&n.set(a,p)}for(let[a,c]of n){let{childNodes:p}=y("span",null,c);a.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function xs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:s},{offset:{y:a}}])=>(s=s+Math.min(n,Math.max(0,a-i))-n,{height:s,locked:a>=i+n})),Y((i,s)=>i.height===s.height&&i.locked===s.locked))}function po(e,o){var n=o,{header$:t}=n,r=bo(n,["header$"]);let i=j(".md-sidebar__scrollwrap",e),{y:s}=Be(i);return $(()=>{let a=new T,c=a.pipe(re(),ae(!0)),p=a.pipe(ke(0,xe));return p.pipe(te(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*s}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe(Re()).subscribe(()=>{for(let l of M(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=de(f);f.scrollTo({top:u-d/2})}}}),fe(M("label[tabindex]",e)).pipe(J(l=>h(l,"click").pipe(ye(pe),m(()=>l),W(c)))).subscribe(l=>{let f=j(`[id="${l.htmlFor}"]`);j(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),N("content.tooltips")&&fe(M("abbr[title]",e)).pipe(J(l=>Xe(l,{viewport$})),W(c)).subscribe(),xs(e,r).pipe(S(l=>a.next(l)),A(()=>a.complete()),m(l=>R({ref:e},l)))})}function _i(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return rt(ze(`${r}/releases/latest`).pipe(ve(()=>g),m(o=>({version:o.tag_name})),Qe({})),ze(r).pipe(ve(()=>g),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Qe({}))).pipe(m(([o,n])=>R(R({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return ze(r).pipe(m(o=>({repositories:o.public_repos})),Qe({}))}}function Ai(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return rt(ze(`${r}/releases/permalink/latest`).pipe(ve(()=>g),m(({tag_name:o})=>({version:o})),Qe({})),ze(r).pipe(ve(()=>g),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Qe({}))).pipe(m(([o,n])=>R(R({},o),n)))}function Ci(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return _i(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return Ai(r,o)}return g}var ys;function Es(e){return ys||(ys=$(()=>{let t=__md_get("__source",sessionStorage);if(t)return k(t);if(me("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return g}return Ci(e.href).pipe(S(o=>__md_set("__source",o,sessionStorage)))}).pipe(ve(()=>g),v(t=>Object.keys(t).length>0),m(t=>({facts:t})),X(1)))}function Hi(e){let t=j(":scope > :last-child",e);return $(()=>{let r=new T;return r.subscribe(({facts:o})=>{t.appendChild(Fn(o)),t.classList.add("md-source__repository--active")}),Es(e).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))})}function ws(e,{viewport$:t,header$:r}){return Le(document.body).pipe(b(()=>Er(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),oe("hidden"))}function $i(e,t){return $(()=>{let r=new T;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(N("navigation.tabs.sticky")?k({hidden:!1}):ws(e,t)).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>R({ref:e},o)))})}function Ts(e,{viewport$:t,header$:r}){let o=new Map,n=M(".md-nav__link",e);for(let a of n){let c=decodeURIComponent(a.hash.substring(1)),p=ue(`[id="${c}"]`);typeof p!="undefined"&&o.set(a,p)}let i=r.pipe(oe("height"),m(({height:a})=>{let c=Ce("main"),p=j(":scope > :first-child",c);return a+.8*(p.offsetTop-c.offsetTop)}),le());return Le(document.body).pipe(oe("height"),b(a=>$(()=>{let c=[];return k([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),De(i),b(([c,p])=>t.pipe(Wt(([l,f],{offset:{y:u},size:d})=>{let x=u+d.height>=Math.floor(a.height);for(;f.length;){let[,L]=f[0];if(L-p=u&&!x)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),Y((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([a,c])=>({prev:a.map(([p])=>p),next:c.map(([p])=>p)})),Q({prev:[],next:[]}),ot(2,1),m(([a,c])=>a.prev.length{let i=new T,s=i.pipe(re(),ae(!0));if(i.subscribe(({prev:a,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of a.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===a.length-1)}),N("toc.follow")){let a=O(t.pipe(Ae(1),m(()=>{})),t.pipe(Ae(250),m(()=>"smooth")));i.pipe(v(({prev:c})=>c.length>0),De(o.pipe(ye(pe))),te(a)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=vr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=de(f);f.scrollTo({top:u-d/2,behavior:p})}}})}return N("navigation.tracking")&&t.pipe(W(s),oe("offset"),Ae(250),Pe(1),W(n.pipe(Pe(1))),vt({delay:250}),te(i)).subscribe(([,{prev:a}])=>{let c=we(),p=a[a.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),Ts(e,{viewport$:t,header$:r}).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>R({ref:e},a)))})}function Ss(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:s}})=>s),ot(2,1),m(([s,a])=>s>a&&a>0),Y()),i=r.pipe(m(({active:s})=>s));return z([i,n]).pipe(m(([s,a])=>!(s&&a)),Y(),W(o.pipe(Pe(1))),ae(!0),vt({delay:250}),m(s=>({hidden:s})))}function Ri(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new T,s=i.pipe(re(),ae(!0));return i.subscribe({next({hidden:a}){e.hidden=a,a?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(W(s),oe("height")).subscribe(({height:a})=>{e.style.top=`${a+16}px`}),h(e,"click").subscribe(a=>{a.preventDefault(),window.scrollTo({top:0})}),Ss(e,{viewport$:t,main$:o,target$:n}).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>R({ref:e},a)))}function Pi({document$:e,viewport$:t}){e.pipe(b(()=>M(".md-ellipsis")),J(r=>mt(r).pipe(W(e.pipe(Pe(1))),v(o=>o),m(()=>r),Ee(1))),v(r=>r.offsetWidth{let o=r.innerText,n=r.closest("a")||r;return n.title=o,N("content.tooltips")?Xe(n,{viewport$:t}).pipe(W(e.pipe(Pe(1))),A(()=>n.removeAttribute("title"))):g})).subscribe(),N("content.tooltips")&&e.pipe(b(()=>M(".md-status")),J(r=>Xe(r,{viewport$:t}))).subscribe()}function Ii({document$:e,tablet$:t}){e.pipe(b(()=>M(".md-toggle--indeterminate")),S(r=>{r.indeterminate=!0,r.checked=!1}),J(r=>h(r,"change").pipe(Jr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),te(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function Os(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Fi({document$:e}){e.pipe(b(()=>M("[data-md-scrollfix]")),S(t=>t.removeAttribute("data-md-scrollfix")),v(Os),J(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function ji({viewport$:e,tablet$:t}){z([Je("search"),t]).pipe(m(([r,o])=>r&&!o),b(r=>k(r).pipe(nt(r?400:100))),te(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function Ls(){return location.protocol==="file:"?At(`${new URL("search/search_index.js",Or.base)}`).pipe(m(()=>__index),X(1)):ze(new URL("search/search_index.json",Or.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ct=nn(),Qt=hn(),kt=gn(Qt),lo=dn(),He=On(),Lr=Dt("(min-width: 960px)"),Wi=Dt("(min-width: 1220px)"),Di=xn(),Or=Te(),Ni=document.forms.namedItem("search")?Ls():tt,mo=new T;ui({alert$:mo});fi({document$:ct});var fo=new T,Vi=$t(Or.base);N("navigation.instant")&&vi({sitemap$:Vi,location$:Qt,viewport$:He,progress$:fo}).subscribe(ct);var Ui;((Ui=Or.version)==null?void 0:Ui.provider)==="mike"&&Ei({document$:ct});O(Qt,kt).pipe(nt(125)).subscribe(()=>{at("drawer",!1),at("search",!1)});lo.pipe(v(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=ue("link[rel=prev]");typeof t!="undefined"&&st(t);break;case"n":case".":let r=ue("link[rel=next]");typeof r!="undefined"&&st(r);break;case"Enter":let o=Ve();o instanceof HTMLLabelElement&&o.click()}});Pi({viewport$:He,document$:ct});Ii({document$:ct,tablet$:Lr});Fi({document$:ct});ji({viewport$:He,tablet$:Lr});var ft=ii(Ce("header"),{viewport$:He}),Kt=ct.pipe(m(()=>Ce("main")),b(e=>ci(e,{viewport$:He,header$:ft})),X(1)),Ms=O(...me("consent").map(e=>_n(e,{target$:kt})),...me("dialog").map(e=>oi(e,{alert$:mo})),...me("header").map(e=>ai(e,{viewport$:He,header$:ft,main$:Kt})),...me("palette").map(e=>pi(e)),...me("progress").map(e=>li(e,{progress$:fo})),...me("search").map(e=>Li(e,{index$:Ni,keyboard$:lo})),...me("source").map(e=>Hi(e))),_s=$(()=>O(...me("announce").map(e=>Mn(e)),...me("content").map(e=>ri(e,{sitemap$:Vi,viewport$:He,target$:kt,print$:Di})),...me("content").map(e=>N("search.highlight")?Mi(e,{index$:Ni,location$:Qt}):g),...me("header-title").map(e=>si(e,{viewport$:He,header$:ft})),...me("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?eo(Wi,()=>po(e,{viewport$:He,header$:ft,main$:Kt})):eo(Lr,()=>po(e,{viewport$:He,header$:ft,main$:Kt}))),...me("tabs").map(e=>$i(e,{viewport$:He,header$:ft})),...me("toc").map(e=>ki(e,{viewport$:He,header$:ft,main$:Kt,target$:kt})),...me("top").map(e=>Ri(e,{viewport$:He,header$:ft,main$:Kt,target$:kt})))),zi=ct.pipe(b(()=>_s),Ne(Ms),X(1));zi.subscribe();window.document$=ct;window.location$=Qt;window.target$=kt;window.keyboard$=lo;window.viewport$=He;window.tablet$=Lr;window.screen$=Wi;window.print$=Di;window.alert$=mo;window.progress$=fo;window.component$=zi;})(); diff --git a/assets/javascripts/lunr/min/lunr.ar.min.js b/assets/javascripts/lunr/min/lunr.ar.min.js new file mode 100644 index 00000000..9b06c26c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ar.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ar=function(){this.pipeline.reset(),this.pipeline.add(e.ar.trimmer,e.ar.stopWordFilter,e.ar.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ar.stemmer))},e.ar.wordCharacters="ء-ٛٱـ",e.ar.trimmer=e.trimmerSupport.generateTrimmer(e.ar.wordCharacters),e.Pipeline.registerFunction(e.ar.trimmer,"trimmer-ar"),e.ar.stemmer=function(){var e=this;return e.result=!1,e.preRemoved=!1,e.sufRemoved=!1,e.pre={pre1:"ف ك ب و س ل ن ا ي ت",pre2:"ال لل",pre3:"بال وال فال تال كال ولل",pre4:"فبال كبال وبال وكال"},e.suf={suf1:"ه ك ت ن ا ي",suf2:"نك نه ها وك يا اه ون ين تن تم نا وا ان كم كن ني نن ما هم هن تك ته ات يه",suf3:"تين كهم نيه نهم ونه وها يهم ونا ونك وني وهم تكم تنا تها تني تهم كما كها ناه نكم هنا تان يها",suf4:"كموه ناها ونني ونهم تكما تموه تكاه كماه ناكم ناهم نيها وننا"},e.patterns=JSON.parse('{"pt43":[{"pt":[{"c":"ا","l":1}]},{"pt":[{"c":"ا,ت,ن,ي","l":0}],"mPt":[{"c":"ف","l":0,"m":1},{"c":"ع","l":1,"m":2},{"c":"ل","l":2,"m":3}]},{"pt":[{"c":"و","l":2}],"mPt":[{"c":"ف","l":0,"m":0},{"c":"ع","l":1,"m":1},{"c":"ل","l":2,"m":3}]},{"pt":[{"c":"ا","l":2}]},{"pt":[{"c":"ي","l":2}],"mPt":[{"c":"ف","l":0,"m":0},{"c":"ع","l":1,"m":1},{"c":"ا","l":2},{"c":"ل","l":3,"m":3}]},{"pt":[{"c":"م","l":0}]}],"pt53":[{"pt":[{"c":"ت","l":0},{"c":"ا","l":2}]},{"pt":[{"c":"ا,ن,ت,ي","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":0},{"c":"ا","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":3},{"c":"ل","l":3,"m":4},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":0},{"c":"ا","l":3}],"mPt":[{"c":"ف","l":0,"m":1},{"c":"ع","l":1,"m":2},{"c":"ل","l":2,"m":4}]},{"pt":[{"c":"ا","l":3},{"c":"ن","l":4}]},{"pt":[{"c":"ت","l":0},{"c":"ي","l":3}]},{"pt":[{"c":"م","l":0},{"c":"و","l":3}]},{"pt":[{"c":"ا","l":1},{"c":"و","l":3}]},{"pt":[{"c":"و","l":1},{"c":"ا","l":2}]},{"pt":[{"c":"م","l":0},{"c":"ا","l":3}]},{"pt":[{"c":"م","l":0},{"c":"ي","l":3}]},{"pt":[{"c":"ا","l":2},{"c":"ن","l":3}]},{"pt":[{"c":"م","l":0},{"c":"ن","l":1}],"mPt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ف","l":2,"m":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"م","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"م","l":0},{"c":"ا","l":2}]},{"pt":[{"c":"م","l":1},{"c":"ا","l":3}]},{"pt":[{"c":"ي,ت,ا,ن","l":0},{"c":"ت","l":1}],"mPt":[{"c":"ف","l":0,"m":2},{"c":"ع","l":1,"m":3},{"c":"ا","l":2},{"c":"ل","l":3,"m":4}]},{"pt":[{"c":"ت,ي,ا,ن","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":2},{"c":"ي","l":3}]},{"pt":[{"c":"ا,ي,ت,ن","l":0},{"c":"ن","l":1}],"mPt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ف","l":2,"m":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":3},{"c":"ء","l":4}]}],"pt63":[{"pt":[{"c":"ا","l":0},{"c":"ت","l":2},{"c":"ا","l":4}]},{"pt":[{"c":"ا,ت,ن,ي","l":0},{"c":"س","l":1},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ف","l":3,"m":3},{"c":"ع","l":4,"m":4},{"c":"ا","l":5},{"c":"ل","l":6,"m":5}]},{"pt":[{"c":"ا,ن,ت,ي","l":0},{"c":"و","l":3}]},{"pt":[{"c":"م","l":0},{"c":"س","l":1},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ف","l":3,"m":3},{"c":"ع","l":4,"m":4},{"c":"ا","l":5},{"c":"ل","l":6,"m":5}]},{"pt":[{"c":"ي","l":1},{"c":"ي","l":3},{"c":"ا","l":4},{"c":"ء","l":5}]},{"pt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ا","l":4}]}],"pt54":[{"pt":[{"c":"ت","l":0}]},{"pt":[{"c":"ا,ي,ت,ن","l":0}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":2},{"c":"ل","l":3,"m":3},{"c":"ر","l":4,"m":4},{"c":"ا","l":5},{"c":"ر","l":6,"m":4}]},{"pt":[{"c":"م","l":0}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":2},{"c":"ل","l":3,"m":3},{"c":"ر","l":4,"m":4},{"c":"ا","l":5},{"c":"ر","l":6,"m":4}]},{"pt":[{"c":"ا","l":2}]},{"pt":[{"c":"ا","l":0},{"c":"ن","l":2}]}],"pt64":[{"pt":[{"c":"ا","l":0},{"c":"ا","l":4}]},{"pt":[{"c":"م","l":0},{"c":"ت","l":1}]}],"pt73":[{"pt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ا","l":5}]}],"pt75":[{"pt":[{"c":"ا","l":0},{"c":"ا","l":5}]}]}'),e.execArray=["cleanWord","removeDiacritics","cleanAlef","removeStopWords","normalizeHamzaAndAlef","removeStartWaw","removePre432","removeEndTaa","wordCheck"],e.stem=function(){var r=0;for(e.result=!1,e.preRemoved=!1,e.sufRemoved=!1;r=0)return!0},e.normalizeHamzaAndAlef=function(){return e.word=e.word.replace("ؤ","ء"),e.word=e.word.replace("ئ","ء"),e.word=e.word.replace(/([\u0627])\1+/gi,"ا"),!1},e.removeEndTaa=function(){return!(e.word.length>2)||(e.word=e.word.replace(/[\u0627]$/,""),e.word=e.word.replace("ة",""),!1)},e.removeStartWaw=function(){return e.word.length>3&&"و"==e.word[0]&&"و"==e.word[1]&&(e.word=e.word.slice(1)),!1},e.removePre432=function(){var r=e.word;if(e.word.length>=7){var t=new RegExp("^("+e.pre.pre4.split(" ").join("|")+")");e.word=e.word.replace(t,"")}if(e.word==r&&e.word.length>=6){var c=new RegExp("^("+e.pre.pre3.split(" ").join("|")+")");e.word=e.word.replace(c,"")}if(e.word==r&&e.word.length>=5){var l=new RegExp("^("+e.pre.pre2.split(" ").join("|")+")");e.word=e.word.replace(l,"")}return r!=e.word&&(e.preRemoved=!0),!1},e.patternCheck=function(r){for(var t=0;t3){var t=new RegExp("^("+e.pre.pre1.split(" ").join("|")+")");e.word=e.word.replace(t,"")}return r!=e.word&&(e.preRemoved=!0),!1},e.removeSuf1=function(){var r=e.word;if(0==e.sufRemoved&&e.word.length>3){var t=new RegExp("("+e.suf.suf1.split(" ").join("|")+")$");e.word=e.word.replace(t,"")}return r!=e.word&&(e.sufRemoved=!0),!1},e.removeSuf432=function(){var r=e.word;if(e.word.length>=6){var t=new RegExp("("+e.suf.suf4.split(" ").join("|")+")$");e.word=e.word.replace(t,"")}if(e.word==r&&e.word.length>=5){var c=new RegExp("("+e.suf.suf3.split(" ").join("|")+")$");e.word=e.word.replace(c,"")}if(e.word==r&&e.word.length>=4){var l=new RegExp("("+e.suf.suf2.split(" ").join("|")+")$");e.word=e.word.replace(l,"")}return r!=e.word&&(e.sufRemoved=!0),!1},e.wordCheck=function(){for(var r=(e.word,[e.removeSuf432,e.removeSuf1,e.removePre1]),t=0,c=!1;e.word.length>=7&&!e.result&&t=f.limit)return;f.cursor++}for(;!f.out_grouping(w,97,248);){if(f.cursor>=f.limit)return;f.cursor++}d=f.cursor,d=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(c,32),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del();break;case 2:f.in_grouping_b(p,97,229)&&f.slice_del()}}function t(){var e,r=f.limit-f.cursor;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.find_among_b(l,4)?(f.bra=f.cursor,f.limit_backward=e,f.cursor=f.limit-r,f.cursor>f.limit_backward&&(f.cursor--,f.bra=f.cursor,f.slice_del())):f.limit_backward=e)}function s(){var e,r,i,n=f.limit-f.cursor;if(f.ket=f.cursor,f.eq_s_b(2,"st")&&(f.bra=f.cursor,f.eq_s_b(2,"ig")&&f.slice_del()),f.cursor=f.limit-n,f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(m,5),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del(),i=f.limit-f.cursor,t(),f.cursor=f.limit-i;break;case 2:f.slice_from("løs")}}function o(){var e;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.out_grouping_b(w,97,248)?(f.bra=f.cursor,u=f.slice_to(u),f.limit_backward=e,f.eq_v_b(u)&&f.slice_del()):f.limit_backward=e)}var a,d,u,c=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],l=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],w=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],p=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],f=new i;this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var r=f.cursor;return e(),f.limit_backward=r,f.cursor=f.limit,n(),f.cursor=f.limit,t(),f.cursor=f.limit,s(),f.cursor=f.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.de.min.js b/assets/javascripts/lunr/min/lunr.de.min.js new file mode 100644 index 00000000..f3b5c108 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.de.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `German` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.de=function(){this.pipeline.reset(),this.pipeline.add(e.de.trimmer,e.de.stopWordFilter,e.de.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.de.stemmer))},e.de.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.de.trimmer=e.trimmerSupport.generateTrimmer(e.de.wordCharacters),e.Pipeline.registerFunction(e.de.trimmer,"trimmer-de"),e.de.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,n){return!(!v.eq_s(1,e)||(v.ket=v.cursor,!v.in_grouping(p,97,252)))&&(v.slice_from(r),v.cursor=n,!0)}function i(){for(var r,n,i,s,t=v.cursor;;)if(r=v.cursor,v.bra=r,v.eq_s(1,"ß"))v.ket=v.cursor,v.slice_from("ss");else{if(r>=v.limit)break;v.cursor=r+1}for(v.cursor=t;;)for(n=v.cursor;;){if(i=v.cursor,v.in_grouping(p,97,252)){if(s=v.cursor,v.bra=s,e("u","U",i))break;if(v.cursor=s,e("y","Y",i))break}if(i>=v.limit)return void(v.cursor=n);v.cursor=i+1}}function s(){for(;!v.in_grouping(p,97,252);){if(v.cursor>=v.limit)return!0;v.cursor++}for(;!v.out_grouping(p,97,252);){if(v.cursor>=v.limit)return!0;v.cursor++}return!1}function t(){m=v.limit,l=m;var e=v.cursor+3;0<=e&&e<=v.limit&&(d=e,s()||(m=v.cursor,m=v.limit)return;v.cursor++}}}function c(){return m<=v.cursor}function u(){return l<=v.cursor}function a(){var e,r,n,i,s=v.limit-v.cursor;if(v.ket=v.cursor,(e=v.find_among_b(w,7))&&(v.bra=v.cursor,c()))switch(e){case 1:v.slice_del();break;case 2:v.slice_del(),v.ket=v.cursor,v.eq_s_b(1,"s")&&(v.bra=v.cursor,v.eq_s_b(3,"nis")&&v.slice_del());break;case 3:v.in_grouping_b(g,98,116)&&v.slice_del()}if(v.cursor=v.limit-s,v.ket=v.cursor,(e=v.find_among_b(f,4))&&(v.bra=v.cursor,c()))switch(e){case 1:v.slice_del();break;case 2:if(v.in_grouping_b(k,98,116)){var t=v.cursor-3;v.limit_backward<=t&&t<=v.limit&&(v.cursor=t,v.slice_del())}}if(v.cursor=v.limit-s,v.ket=v.cursor,(e=v.find_among_b(_,8))&&(v.bra=v.cursor,u()))switch(e){case 1:v.slice_del(),v.ket=v.cursor,v.eq_s_b(2,"ig")&&(v.bra=v.cursor,r=v.limit-v.cursor,v.eq_s_b(1,"e")||(v.cursor=v.limit-r,u()&&v.slice_del()));break;case 2:n=v.limit-v.cursor,v.eq_s_b(1,"e")||(v.cursor=v.limit-n,v.slice_del());break;case 3:if(v.slice_del(),v.ket=v.cursor,i=v.limit-v.cursor,!v.eq_s_b(2,"er")&&(v.cursor=v.limit-i,!v.eq_s_b(2,"en")))break;v.bra=v.cursor,c()&&v.slice_del();break;case 4:v.slice_del(),v.ket=v.cursor,e=v.find_among_b(b,2),e&&(v.bra=v.cursor,u()&&1==e&&v.slice_del())}}var d,l,m,h=[new r("",-1,6),new r("U",0,2),new r("Y",0,1),new r("ä",0,3),new r("ö",0,4),new r("ü",0,5)],w=[new r("e",-1,2),new r("em",-1,1),new r("en",-1,2),new r("ern",-1,1),new r("er",-1,1),new r("s",-1,3),new r("es",5,2)],f=[new r("en",-1,1),new r("er",-1,1),new r("st",-1,2),new r("est",2,1)],b=[new r("ig",-1,1),new r("lich",-1,1)],_=[new r("end",-1,1),new r("ig",-1,2),new r("ung",-1,1),new r("lich",-1,3),new r("isch",-1,2),new r("ik",-1,2),new r("heit",-1,3),new r("keit",-1,4)],p=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],g=[117,30,5],k=[117,30,4],v=new n;this.setCurrent=function(e){v.setCurrent(e)},this.getCurrent=function(){return v.getCurrent()},this.stem=function(){var e=v.cursor;return i(),v.cursor=e,t(),v.limit_backward=e,v.cursor=v.limit,a(),v.cursor=v.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.de.stemmer,"stemmer-de"),e.de.stopWordFilter=e.generateStopWordFilter("aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über".split(" ")),e.Pipeline.registerFunction(e.de.stopWordFilter,"stopWordFilter-de")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.du.min.js b/assets/javascripts/lunr/min/lunr.du.min.js new file mode 100644 index 00000000..49a0f3f0 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.du.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Dutch` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");console.warn('[Lunr Languages] Please use the "nl" instead of the "du". The "nl" code is the standard code for Dutch language, and "du" will be removed in the next major versions.'),e.du=function(){this.pipeline.reset(),this.pipeline.add(e.du.trimmer,e.du.stopWordFilter,e.du.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.du.stemmer))},e.du.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.du.trimmer=e.trimmerSupport.generateTrimmer(e.du.wordCharacters),e.Pipeline.registerFunction(e.du.trimmer,"trimmer-du"),e.du.stemmer=function(){var r=e.stemmerSupport.Among,i=e.stemmerSupport.SnowballProgram,n=new function(){function e(){for(var e,r,i,o=C.cursor;;){if(C.bra=C.cursor,e=C.find_among(b,11))switch(C.ket=C.cursor,e){case 1:C.slice_from("a");continue;case 2:C.slice_from("e");continue;case 3:C.slice_from("i");continue;case 4:C.slice_from("o");continue;case 5:C.slice_from("u");continue;case 6:if(C.cursor>=C.limit)break;C.cursor++;continue}break}for(C.cursor=o,C.bra=o,C.eq_s(1,"y")?(C.ket=C.cursor,C.slice_from("Y")):C.cursor=o;;)if(r=C.cursor,C.in_grouping(q,97,232)){if(i=C.cursor,C.bra=i,C.eq_s(1,"i"))C.ket=C.cursor,C.in_grouping(q,97,232)&&(C.slice_from("I"),C.cursor=r);else if(C.cursor=i,C.eq_s(1,"y"))C.ket=C.cursor,C.slice_from("Y"),C.cursor=r;else if(n(r))break}else if(n(r))break}function n(e){return C.cursor=e,e>=C.limit||(C.cursor++,!1)}function o(){_=C.limit,f=_,t()||(_=C.cursor,_<3&&(_=3),t()||(f=C.cursor))}function t(){for(;!C.in_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}for(;!C.out_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}return!1}function s(){for(var e;;)if(C.bra=C.cursor,e=C.find_among(p,3))switch(C.ket=C.cursor,e){case 1:C.slice_from("y");break;case 2:C.slice_from("i");break;case 3:if(C.cursor>=C.limit)return;C.cursor++}}function u(){return _<=C.cursor}function c(){return f<=C.cursor}function a(){var e=C.limit-C.cursor;C.find_among_b(g,3)&&(C.cursor=C.limit-e,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del()))}function l(){var e;w=!1,C.ket=C.cursor,C.eq_s_b(1,"e")&&(C.bra=C.cursor,u()&&(e=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-e,C.slice_del(),w=!0,a())))}function m(){var e;u()&&(e=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-e,C.eq_s_b(3,"gem")||(C.cursor=C.limit-e,C.slice_del(),a())))}function d(){var e,r,i,n,o,t,s=C.limit-C.cursor;if(C.ket=C.cursor,e=C.find_among_b(h,5))switch(C.bra=C.cursor,e){case 1:u()&&C.slice_from("heid");break;case 2:m();break;case 3:u()&&C.out_grouping_b(z,97,232)&&C.slice_del()}if(C.cursor=C.limit-s,l(),C.cursor=C.limit-s,C.ket=C.cursor,C.eq_s_b(4,"heid")&&(C.bra=C.cursor,c()&&(r=C.limit-C.cursor,C.eq_s_b(1,"c")||(C.cursor=C.limit-r,C.slice_del(),C.ket=C.cursor,C.eq_s_b(2,"en")&&(C.bra=C.cursor,m())))),C.cursor=C.limit-s,C.ket=C.cursor,e=C.find_among_b(k,6))switch(C.bra=C.cursor,e){case 1:if(c()){if(C.slice_del(),i=C.limit-C.cursor,C.ket=C.cursor,C.eq_s_b(2,"ig")&&(C.bra=C.cursor,c()&&(n=C.limit-C.cursor,!C.eq_s_b(1,"e")))){C.cursor=C.limit-n,C.slice_del();break}C.cursor=C.limit-i,a()}break;case 2:c()&&(o=C.limit-C.cursor,C.eq_s_b(1,"e")||(C.cursor=C.limit-o,C.slice_del()));break;case 3:c()&&(C.slice_del(),l());break;case 4:c()&&C.slice_del();break;case 5:c()&&w&&C.slice_del()}C.cursor=C.limit-s,C.out_grouping_b(j,73,232)&&(t=C.limit-C.cursor,C.find_among_b(v,4)&&C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-t,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del())))}var f,_,w,b=[new r("",-1,6),new r("á",0,1),new r("ä",0,1),new r("é",0,2),new r("ë",0,2),new r("í",0,3),new r("ï",0,3),new r("ó",0,4),new r("ö",0,4),new r("ú",0,5),new r("ü",0,5)],p=[new r("",-1,3),new r("I",0,2),new r("Y",0,1)],g=[new r("dd",-1,-1),new r("kk",-1,-1),new r("tt",-1,-1)],h=[new r("ene",-1,2),new r("se",-1,3),new r("en",-1,2),new r("heden",2,1),new r("s",-1,3)],k=[new r("end",-1,1),new r("ig",-1,2),new r("ing",-1,1),new r("lijk",-1,3),new r("baar",-1,4),new r("bar",-1,5)],v=[new r("aa",-1,-1),new r("ee",-1,-1),new r("oo",-1,-1),new r("uu",-1,-1)],q=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],j=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],z=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],C=new i;this.setCurrent=function(e){C.setCurrent(e)},this.getCurrent=function(){return C.getCurrent()},this.stem=function(){var r=C.cursor;return e(),C.cursor=r,o(),C.limit_backward=r,C.cursor=C.limit,d(),C.cursor=C.limit_backward,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.du.stemmer,"stemmer-du"),e.du.stopWordFilter=e.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),e.Pipeline.registerFunction(e.du.stopWordFilter,"stopWordFilter-du")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.el.min.js b/assets/javascripts/lunr/min/lunr.el.min.js new file mode 100644 index 00000000..ace017bd --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.el.min.js @@ -0,0 +1 @@ +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.el=function(){this.pipeline.reset(),void 0===this.searchPipeline&&this.pipeline.add(e.el.trimmer,e.el.normilizer),this.pipeline.add(e.el.stopWordFilter,e.el.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.el.stemmer))},e.el.wordCharacters="A-Za-zΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμΝνΞξΟοΠπΡρΣσςΤτΥυΦφΧχΨψΩωΆάΈέΉήΊίΌόΎύΏώΪΐΫΰΐΰ",e.el.trimmer=e.trimmerSupport.generateTrimmer(e.el.wordCharacters),e.Pipeline.registerFunction(e.el.trimmer,"trimmer-el"),e.el.stemmer=function(){function e(e){return s.test(e)}function t(e){return/[ΑΕΗΙΟΥΩ]$/.test(e)}function r(e){return/[ΑΕΗΙΟΩ]$/.test(e)}function n(n){var s=n;if(n.length<3)return s;if(!e(n))return s;if(i.indexOf(n)>=0)return s;var u=new RegExp("(.*)("+Object.keys(l).join("|")+")$"),o=u.exec(s);return null!==o&&(s=o[1]+l[o[2]]),null!==(o=/^(.+?)(ΑΔΕΣ|ΑΔΩΝ)$/.exec(s))&&(s=o[1],/(ΟΚ|ΜΑΜ|ΜΑΝ|ΜΠΑΜΠ|ΠΑΤΕΡ|ΓΙΑΓΙ|ΝΤΑΝΤ|ΚΥΡ|ΘΕΙ|ΠΕΘΕΡ|ΜΟΥΣΑΜ|ΚΑΠΛΑΜ|ΠΑΡ|ΨΑΡ|ΤΖΟΥΡ|ΤΑΜΠΟΥΡ|ΓΑΛΑΤ|ΦΑΦΛΑΤ)$/.test(o[1])||(s+="ΑΔ")),null!==(o=/^(.+?)(ΕΔΕΣ|ΕΔΩΝ)$/.exec(s))&&(s=o[1],/(ΟΠ|ΙΠ|ΕΜΠ|ΥΠ|ΓΗΠ|ΔΑΠ|ΚΡΑΣΠ|ΜΙΛ)$/.test(o[1])&&(s+="ΕΔ")),null!==(o=/^(.+?)(ΟΥΔΕΣ|ΟΥΔΩΝ)$/.exec(s))&&(s=o[1],/(ΑΡΚ|ΚΑΛΙΑΚ|ΠΕΤΑΛ|ΛΙΧ|ΠΛΕΞ|ΣΚ|Σ|ΦΛ|ΦΡ|ΒΕΛ|ΛΟΥΛ|ΧΝ|ΣΠ|ΤΡΑΓ|ΦΕ)$/.test(o[1])&&(s+="ΟΥΔ")),null!==(o=/^(.+?)(ΕΩΣ|ΕΩΝ|ΕΑΣ|ΕΑ)$/.exec(s))&&(s=o[1],/^(Θ|Δ|ΕΛ|ΓΑΛ|Ν|Π|ΙΔ|ΠΑΡ|ΣΤΕΡ|ΟΡΦ|ΑΝΔΡ|ΑΝΤΡ)$/.test(o[1])&&(s+="Ε")),null!==(o=/^(.+?)(ΕΙΟ|ΕΙΟΣ|ΕΙΟΙ|ΕΙΑ|ΕΙΑΣ|ΕΙΕΣ|ΕΙΟΥ|ΕΙΟΥΣ|ΕΙΩΝ)$/.exec(s))&&o[1].length>4&&(s=o[1]),null!==(o=/^(.+?)(ΙΟΥΣ|ΙΑΣ|ΙΕΣ|ΙΟΣ|ΙΟΥ|ΙΟΙ|ΙΩΝ|ΙΟΝ|ΙΑ|ΙΟ)$/.exec(s))&&(s=o[1],(t(s)||s.length<2||/^(ΑΓ|ΑΓΓΕΛ|ΑΓΡ|ΑΕΡ|ΑΘΛ|ΑΚΟΥΣ|ΑΞ|ΑΣ|Β|ΒΙΒΛ|ΒΥΤ|Γ|ΓΙΑΓ|ΓΩΝ|Δ|ΔΑΝ|ΔΗΛ|ΔΗΜ|ΔΟΚΙΜ|ΕΛ|ΖΑΧΑΡ|ΗΛ|ΗΠ|ΙΔ|ΙΣΚ|ΙΣΤ|ΙΟΝ|ΙΩΝ|ΚΙΜΩΛ|ΚΟΛΟΝ|ΚΟΡ|ΚΤΗΡ|ΚΥΡ|ΛΑΓ|ΛΟΓ|ΜΑΓ|ΜΠΑΝ|ΜΠΡ|ΝΑΥΤ|ΝΟΤ|ΟΠΑΛ|ΟΞ|ΟΡ|ΟΣ|ΠΑΝΑΓ|ΠΑΤΡ|ΠΗΛ|ΠΗΝ|ΠΛΑΙΣ|ΠΟΝΤ|ΡΑΔ|ΡΟΔ|ΣΚ|ΣΚΟΡΠ|ΣΟΥΝ|ΣΠΑΝ|ΣΤΑΔ|ΣΥΡ|ΤΗΛ|ΤΙΜ|ΤΟΚ|ΤΟΠ|ΤΡΟΧ|ΦΙΛ|ΦΩΤ|Χ|ΧΙΛ|ΧΡΩΜ|ΧΩΡ)$/.test(o[1]))&&(s+="Ι"),/^(ΠΑΛ)$/.test(o[1])&&(s+="ΑΙ")),null!==(o=/^(.+?)(ΙΚΟΣ|ΙΚΟΝ|ΙΚΕΙΣ|ΙΚΟΙ|ΙΚΕΣ|ΙΚΟΥΣ|ΙΚΗ|ΙΚΗΣ|ΙΚΟ|ΙΚΑ|ΙΚΟΥ|ΙΚΩΝ|ΙΚΩΣ)$/.exec(s))&&(s=o[1],(t(s)||/^(ΑΔ|ΑΛ|ΑΜΑΝ|ΑΜΕΡ|ΑΜΜΟΧΑΛ|ΑΝΗΘ|ΑΝΤΙΔ|ΑΠΛ|ΑΤΤ|ΑΦΡ|ΒΑΣ|ΒΡΩΜ|ΓΕΝ|ΓΕΡ|Δ|ΔΙΚΑΝ|ΔΥΤ|ΕΙΔ|ΕΝΔ|ΕΞΩΔ|ΗΘ|ΘΕΤ|ΚΑΛΛΙΝ|ΚΑΛΠ|ΚΑΤΑΔ|ΚΟΥΖΙΝ|ΚΡ|ΚΩΔ|ΛΟΓ|Μ|ΜΕΡ|ΜΟΝΑΔ|ΜΟΥΛ|ΜΟΥΣ|ΜΠΑΓΙΑΤ|ΜΠΑΝ|ΜΠΟΛ|ΜΠΟΣ|ΜΥΣΤ|Ν|ΝΙΤ|ΞΙΚ|ΟΠΤ|ΠΑΝ|ΠΕΤΣ|ΠΙΚΑΝΤ|ΠΙΤΣ|ΠΛΑΣΤ|ΠΛΙΑΤΣ|ΠΟΝΤ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|ΣΗΜΑΝΤ|ΣΤΑΤ|ΣΥΝΑΔ|ΣΥΝΟΜΗΛ|ΤΕΛ|ΤΕΧΝ|ΤΡΟΠ|ΤΣΑΜ|ΥΠΟΔ|Φ|ΦΙΛΟΝ|ΦΥΛΟΔ|ΦΥΣ|ΧΑΣ)$/.test(o[1])||/(ΦΟΙΝ)$/.test(o[1]))&&(s+="ΙΚ")),"ΑΓΑΜΕ"===s&&(s="ΑΓΑΜ"),null!==(o=/^(.+?)(ΑΓΑΜΕ|ΗΣΑΜΕ|ΟΥΣΑΜΕ|ΗΚΑΜΕ|ΗΘΗΚΑΜΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΑΜΕ)$/.exec(s))&&(s=o[1],/^(ΑΝΑΠ|ΑΠΟΘ|ΑΠΟΚ|ΑΠΟΣΤ|ΒΟΥΒ|ΞΕΘ|ΟΥΛ|ΠΕΘ|ΠΙΚΡ|ΠΟΤ|ΣΙΧ|Χ)$/.test(o[1])&&(s+="ΑΜ")),null!==(o=/^(.+?)(ΑΓΑΝΕ|ΗΣΑΝΕ|ΟΥΣΑΝΕ|ΙΟΝΤΑΝΕ|ΙΟΤΑΝΕ|ΙΟΥΝΤΑΝΕ|ΟΝΤΑΝΕ|ΟΤΑΝΕ|ΟΥΝΤΑΝΕ|ΗΚΑΝΕ|ΗΘΗΚΑΝΕ)$/.exec(s))&&(s=o[1],/^(ΤΡ|ΤΣ)$/.test(o[1])&&(s+="ΑΓΑΝ")),null!==(o=/^(.+?)(ΑΝΕ)$/.exec(s))&&(s=o[1],(r(s)||/^(ΒΕΤΕΡ|ΒΟΥΛΚ|ΒΡΑΧΜ|Γ|ΔΡΑΔΟΥΜ|Θ|ΚΑΛΠΟΥΖ|ΚΑΣΤΕΛ|ΚΟΡΜΟΡ|ΛΑΟΠΛ|ΜΩΑΜΕΘ|Μ|ΜΟΥΣΟΥΛΜΑΝ|ΟΥΛ|Π|ΠΕΛΕΚ|ΠΛ|ΠΟΛΙΣ|ΠΟΡΤΟΛ|ΣΑΡΑΚΑΤΣ|ΣΟΥΛΤ|ΤΣΑΡΛΑΤ|ΟΡΦ|ΤΣΙΓΓ|ΤΣΟΠ|ΦΩΤΟΣΤΕΦ|Χ|ΨΥΧΟΠΛ|ΑΓ|ΟΡΦ|ΓΑΛ|ΓΕΡ|ΔΕΚ|ΔΙΠΛ|ΑΜΕΡΙΚΑΝ|ΟΥΡ|ΠΙΘ|ΠΟΥΡΙΤ|Σ|ΖΩΝΤ|ΙΚ|ΚΑΣΤ|ΚΟΠ|ΛΙΧ|ΛΟΥΘΗΡ|ΜΑΙΝΤ|ΜΕΛ|ΣΙΓ|ΣΠ|ΣΤΕΓ|ΤΡΑΓ|ΤΣΑΓ|Φ|ΕΡ|ΑΔΑΠ|ΑΘΙΓΓ|ΑΜΗΧ|ΑΝΙΚ|ΑΝΟΡΓ|ΑΠΗΓ|ΑΠΙΘ|ΑΤΣΙΓΓ|ΒΑΣ|ΒΑΣΚ|ΒΑΘΥΓΑΛ|ΒΙΟΜΗΧ|ΒΡΑΧΥΚ|ΔΙΑΤ|ΔΙΑΦ|ΕΝΟΡΓ|ΘΥΣ|ΚΑΠΝΟΒΙΟΜΗΧ|ΚΑΤΑΓΑΛ|ΚΛΙΒ|ΚΟΙΛΑΡΦ|ΛΙΒ|ΜΕΓΛΟΒΙΟΜΗΧ|ΜΙΚΡΟΒΙΟΜΗΧ|ΝΤΑΒ|ΞΗΡΟΚΛΙΒ|ΟΛΙΓΟΔΑΜ|ΟΛΟΓΑΛ|ΠΕΝΤΑΡΦ|ΠΕΡΗΦ|ΠΕΡΙΤΡ|ΠΛΑΤ|ΠΟΛΥΔΑΠ|ΠΟΛΥΜΗΧ|ΣΤΕΦ|ΤΑΒ|ΤΕΤ|ΥΠΕΡΗΦ|ΥΠΟΚΟΠ|ΧΑΜΗΛΟΔΑΠ|ΨΗΛΟΤΑΒ)$/.test(o[1]))&&(s+="ΑΝ")),null!==(o=/^(.+?)(ΗΣΕΤΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΕΤΕ)$/.exec(s))&&(s=o[1],(r(s)||/(ΟΔ|ΑΙΡ|ΦΟΡ|ΤΑΘ|ΔΙΑΘ|ΣΧ|ΕΝΔ|ΕΥΡ|ΤΙΘ|ΥΠΕΡΘ|ΡΑΘ|ΕΝΘ|ΡΟΘ|ΣΘ|ΠΥΡ|ΑΙΝ|ΣΥΝΔ|ΣΥΝ|ΣΥΝΘ|ΧΩΡ|ΠΟΝ|ΒΡ|ΚΑΘ|ΕΥΘ|ΕΚΘ|ΝΕΤ|ΡΟΝ|ΑΡΚ|ΒΑΡ|ΒΟΛ|ΩΦΕΛ)$/.test(o[1])||/^(ΑΒΑΡ|ΒΕΝ|ΕΝΑΡ|ΑΒΡ|ΑΔ|ΑΘ|ΑΝ|ΑΠΛ|ΒΑΡΟΝ|ΝΤΡ|ΣΚ|ΚΟΠ|ΜΠΟΡ|ΝΙΦ|ΠΑΓ|ΠΑΡΑΚΑΛ|ΣΕΡΠ|ΣΚΕΛ|ΣΥΡΦ|ΤΟΚ|Υ|Δ|ΕΜ|ΘΑΡΡ|Θ)$/.test(o[1]))&&(s+="ΕΤ")),null!==(o=/^(.+?)(ΟΝΤΑΣ|ΩΝΤΑΣ)$/.exec(s))&&(s=o[1],/^ΑΡΧ$/.test(o[1])&&(s+="ΟΝΤ"),/ΚΡΕ$/.test(o[1])&&(s+="ΩΝΤ")),null!==(o=/^(.+?)(ΟΜΑΣΤΕ|ΙΟΜΑΣΤΕ)$/.exec(s))&&(s=o[1],/^ΟΝ$/.test(o[1])&&(s+="ΟΜΑΣΤ")),null!==(o=/^(.+?)(ΙΕΣΤΕ)$/.exec(s))&&(s=o[1],/^(Π|ΑΠ|ΣΥΜΠ|ΑΣΥΜΠ|ΑΚΑΤΑΠ|ΑΜΕΤΑΜΦ)$/.test(o[1])&&(s+="ΙΕΣΤ")),null!==(o=/^(.+?)(ΕΣΤΕ)$/.exec(s))&&(s=o[1],/^(ΑΛ|ΑΡ|ΕΚΤΕΛ|Ζ|Μ|Ξ|ΠΑΡΑΚΑΛ|ΠΡΟ|ΝΙΣ)$/.test(o[1])&&(s+="ΕΣΤ")),null!==(o=/^(.+?)(ΗΘΗΚΑ|ΗΘΗΚΕΣ|ΗΘΗΚΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΗΚΑ|ΗΚΕΣ|ΗΚΕ)$/.exec(s))&&(s=o[1],(/(ΣΚΩΛ|ΣΚΟΥΛ|ΝΑΡΘ|ΣΦ|ΟΘ|ΠΙΘ)$/.test(o[1])||/^(ΔΙΑΘ|Θ|ΠΑΡΑΚΑΤΑΘ|ΠΡΟΣΘ|ΣΥΝΘ)$/.test(o[1]))&&(s+="ΗΚ")),null!==(o=/^(.+?)(ΟΥΣΑ|ΟΥΣΕΣ|ΟΥΣΕ)$/.exec(s))&&(s=o[1],(t(s)||/^(ΦΑΡΜΑΚ|ΧΑΔ|ΑΓΚ|ΑΝΑΡΡ|ΒΡΟΜ|ΕΚΛΙΠ|ΛΑΜΠΙΔ|ΛΕΧ|Μ|ΠΑΤ|Ρ|Λ|ΜΕΔ|ΜΕΣΑΖ|ΥΠΟΤΕΙΝ|ΑΜ|ΑΙΘ|ΑΝΗΚ|ΔΕΣΠΟΖ|ΕΝΔΙΑΦΕΡ)$/.test(o[1])||/(ΠΟΔΑΡ|ΒΛΕΠ|ΠΑΝΤΑΧ|ΦΡΥΔ|ΜΑΝΤΙΛ|ΜΑΛΛ|ΚΥΜΑΤ|ΛΑΧ|ΛΗΓ|ΦΑΓ|ΟΜ|ΠΡΩΤ)$/.test(o[1]))&&(s+="ΟΥΣ")),null!==(o=/^(.+?)(ΑΓΑ|ΑΓΕΣ|ΑΓΕ)$/.exec(s))&&(s=o[1],(/^(ΑΒΑΣΤ|ΠΟΛΥΦ|ΑΔΗΦ|ΠΑΜΦ|Ρ|ΑΣΠ|ΑΦ|ΑΜΑΛ|ΑΜΑΛΛΙ|ΑΝΥΣΤ|ΑΠΕΡ|ΑΣΠΑΡ|ΑΧΑΡ|ΔΕΡΒΕΝ|ΔΡΟΣΟΠ|ΞΕΦ|ΝΕΟΠ|ΝΟΜΟΤ|ΟΛΟΠ|ΟΜΟΤ|ΠΡΟΣΤ|ΠΡΟΣΩΠΟΠ|ΣΥΜΠ|ΣΥΝΤ|Τ|ΥΠΟΤ|ΧΑΡ|ΑΕΙΠ|ΑΙΜΟΣΤ|ΑΝΥΠ|ΑΠΟΤ|ΑΡΤΙΠ|ΔΙΑΤ|ΕΝ|ΕΠΙΤ|ΚΡΟΚΑΛΟΠ|ΣΙΔΗΡΟΠ|Λ|ΝΑΥ|ΟΥΛΑΜ|ΟΥΡ|Π|ΤΡ|Μ)$/.test(o[1])||/(ΟΦ|ΠΕΛ|ΧΟΡΤ|ΛΛ|ΣΦ|ΡΠ|ΦΡ|ΠΡ|ΛΟΧ|ΣΜΗΝ)$/.test(o[1])&&!/^(ΨΟΦ|ΝΑΥΛΟΧ)$/.test(o[1])||/(ΚΟΛΛ)$/.test(o[1]))&&(s+="ΑΓ")),null!==(o=/^(.+?)(ΗΣΕ|ΗΣΟΥ|ΗΣΑ)$/.exec(s))&&(s=o[1],/^(Ν|ΧΕΡΣΟΝ|ΔΩΔΕΚΑΝ|ΕΡΗΜΟΝ|ΜΕΓΑΛΟΝ|ΕΠΤΑΝ|Ι)$/.test(o[1])&&(s+="ΗΣ")),null!==(o=/^(.+?)(ΗΣΤΕ)$/.exec(s))&&(s=o[1],/^(ΑΣΒ|ΣΒ|ΑΧΡ|ΧΡ|ΑΠΛ|ΑΕΙΜΝ|ΔΥΣΧΡ|ΕΥΧΡ|ΚΟΙΝΟΧΡ|ΠΑΛΙΜΨ)$/.test(o[1])&&(s+="ΗΣΤ")),null!==(o=/^(.+?)(ΟΥΝΕ|ΗΣΟΥΝΕ|ΗΘΟΥΝΕ)$/.exec(s))&&(s=o[1],/^(Ν|Ρ|ΣΠΙ|ΣΤΡΑΒΟΜΟΥΤΣ|ΚΑΚΟΜΟΥΤΣ|ΕΞΩΝ)$/.test(o[1])&&(s+="ΟΥΝ")),null!==(o=/^(.+?)(ΟΥΜΕ|ΗΣΟΥΜΕ|ΗΘΟΥΜΕ)$/.exec(s))&&(s=o[1],/^(ΠΑΡΑΣΟΥΣ|Φ|Χ|ΩΡΙΟΠΛ|ΑΖ|ΑΛΛΟΣΟΥΣ|ΑΣΟΥΣ)$/.test(o[1])&&(s+="ΟΥΜ")),null!=(o=/^(.+?)(ΜΑΤΟΙ|ΜΑΤΟΥΣ|ΜΑΤΟ|ΜΑΤΑ|ΜΑΤΩΣ|ΜΑΤΩΝ|ΜΑΤΟΣ|ΜΑΤΕΣ|ΜΑΤΗ|ΜΑΤΗΣ|ΜΑΤΟΥ)$/.exec(s))&&(s=o[1]+"Μ",/^(ΓΡΑΜ)$/.test(o[1])?s+="Α":/^(ΓΕ|ΣΤΑ)$/.test(o[1])&&(s+="ΑΤ")),null!==(o=/^(.+?)(ΟΥΑ)$/.exec(s))&&(s=o[1]+"ΟΥ"),n.length===s.length&&null!==(o=/^(.+?)(Α|ΑΓΑΤΕ|ΑΓΑΝ|ΑΕΙ|ΑΜΑΙ|ΑΝ|ΑΣ|ΑΣΑΙ|ΑΤΑΙ|ΑΩ|Ε|ΕΙ|ΕΙΣ|ΕΙΤΕ|ΕΣΑΙ|ΕΣ|ΕΤΑΙ|Ι|ΙΕΜΑΙ|ΙΕΜΑΣΤΕ|ΙΕΤΑΙ|ΙΕΣΑΙ|ΙΕΣΑΣΤΕ|ΙΟΜΑΣΤΑΝ|ΙΟΜΟΥΝ|ΙΟΜΟΥΝΑ|ΙΟΝΤΑΝ|ΙΟΝΤΟΥΣΑΝ|ΙΟΣΑΣΤΑΝ|ΙΟΣΑΣΤΕ|ΙΟΣΟΥΝ|ΙΟΣΟΥΝΑ|ΙΟΤΑΝ|ΙΟΥΜΑ|ΙΟΥΜΑΣΤΕ|ΙΟΥΝΤΑΙ|ΙΟΥΝΤΑΝ|Η|ΗΔΕΣ|ΗΔΩΝ|ΗΘΕΙ|ΗΘΕΙΣ|ΗΘΕΙΤΕ|ΗΘΗΚΑΤΕ|ΗΘΗΚΑΝ|ΗΘΟΥΝ|ΗΘΩ|ΗΚΑΤΕ|ΗΚΑΝ|ΗΣ|ΗΣΑΝ|ΗΣΑΤΕ|ΗΣΕΙ|ΗΣΕΣ|ΗΣΟΥΝ|ΗΣΩ|Ο|ΟΙ|ΟΜΑΙ|ΟΜΑΣΤΑΝ|ΟΜΟΥΝ|ΟΜΟΥΝΑ|ΟΝΤΑΙ|ΟΝΤΑΝ|ΟΝΤΟΥΣΑΝ|ΟΣ|ΟΣΑΣΤΑΝ|ΟΣΑΣΤΕ|ΟΣΟΥΝ|ΟΣΟΥΝΑ|ΟΤΑΝ|ΟΥ|ΟΥΜΑΙ|ΟΥΜΑΣΤΕ|ΟΥΝ|ΟΥΝΤΑΙ|ΟΥΝΤΑΝ|ΟΥΣ|ΟΥΣΑΝ|ΟΥΣΑΤΕ|Υ||ΥΑ|ΥΣ|Ω|ΩΝ|ΟΙΣ)$/.exec(s))&&(s=o[1]),null!=(o=/^(.+?)(ΕΣΤΕΡ|ΕΣΤΑΤ|ΟΤΕΡ|ΟΤΑΤ|ΥΤΕΡ|ΥΤΑΤ|ΩΤΕΡ|ΩΤΑΤ)$/.exec(s))&&(/^(ΕΞ|ΕΣ|ΑΝ|ΚΑΤ|Κ|ΠΡ)$/.test(o[1])||(s=o[1]),/^(ΚΑ|Μ|ΕΛΕ|ΛΕ|ΔΕ)$/.test(o[1])&&(s+="ΥΤ")),s}var l={"ΦΑΓΙΑ":"ΦΑ","ΦΑΓΙΟΥ":"ΦΑ","ΦΑΓΙΩΝ":"ΦΑ","ΣΚΑΓΙΑ":"ΣΚΑ","ΣΚΑΓΙΟΥ":"ΣΚΑ","ΣΚΑΓΙΩΝ":"ΣΚΑ","ΣΟΓΙΟΥ":"ΣΟ","ΣΟΓΙΑ":"ΣΟ","ΣΟΓΙΩΝ":"ΣΟ","ΤΑΤΟΓΙΑ":"ΤΑΤΟ","ΤΑΤΟΓΙΟΥ":"ΤΑΤΟ","ΤΑΤΟΓΙΩΝ":"ΤΑΤΟ","ΚΡΕΑΣ":"ΚΡΕ","ΚΡΕΑΤΟΣ":"ΚΡΕ","ΚΡΕΑΤΑ":"ΚΡΕ","ΚΡΕΑΤΩΝ":"ΚΡΕ","ΠΕΡΑΣ":"ΠΕΡ","ΠΕΡΑΤΟΣ":"ΠΕΡ","ΠΕΡΑΤΑ":"ΠΕΡ","ΠΕΡΑΤΩΝ":"ΠΕΡ","ΤΕΡΑΣ":"ΤΕΡ","ΤΕΡΑΤΟΣ":"ΤΕΡ","ΤΕΡΑΤΑ":"ΤΕΡ","ΤΕΡΑΤΩΝ":"ΤΕΡ","ΦΩΣ":"ΦΩ","ΦΩΤΟΣ":"ΦΩ","ΦΩΤΑ":"ΦΩ","ΦΩΤΩΝ":"ΦΩ","ΚΑΘΕΣΤΩΣ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΟΣ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΑ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΩΝ":"ΚΑΘΕΣΤ","ΓΕΓΟΝΟΣ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΟΣ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΑ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΩΝ":"ΓΕΓΟΝ","ΕΥΑ":"ΕΥ"},i=["ΑΚΡΙΒΩΣ","ΑΛΑ","ΑΛΛΑ","ΑΛΛΙΩΣ","ΑΛΛΟΤΕ","ΑΜΑ","ΑΝΩ","ΑΝΑ","ΑΝΑΜΕΣΑ","ΑΝΑΜΕΤΑΞΥ","ΑΝΕΥ","ΑΝΤΙ","ΑΝΤΙΠΕΡΑ","ΑΝΤΙΟ","ΑΞΑΦΝΑ","ΑΠΟ","ΑΠΟΨΕ","ΑΡΑ","ΑΡΑΓΕ","ΑΥΡΙΟ","ΑΦΟΙ","ΑΦΟΥ","ΑΦΟΤΟΥ","ΒΡΕ","ΓΕΙΑ","ΓΙΑ","ΓΙΑΤΙ","ΓΡΑΜΜΑ","ΔΕΗ","ΔΕΝ","ΔΗΛΑΔΗ","ΔΙΧΩΣ","ΔΥΟ","ΕΑΝ","ΕΓΩ","ΕΔΩ","ΕΔΑ","ΕΙΘΕ","ΕΙΜΑΙ","ΕΙΜΑΣΤΕ","ΕΙΣΑΙ","ΕΙΣΑΣΤΕ","ΕΙΝΑΙ","ΕΙΣΤΕ","ΕΙΤΕ","ΕΚΕΙ","ΕΚΟ","ΕΛΑ","ΕΜΑΣ","ΕΜΕΙΣ","ΕΝΤΕΛΩΣ","ΕΝΤΟΣ","ΕΝΤΩΜΕΤΑΞΥ","ΕΝΩ","ΕΞΙ","ΕΞΙΣΟΥ","ΕΞΗΣ","ΕΞΩ","ΕΟΚ","ΕΠΑΝΩ","ΕΠΕΙΔΗ","ΕΠΕΙΤΑ","ΕΠΙ","ΕΠΙΣΗΣ","ΕΠΟΜΕΝΩΣ","ΕΠΤΑ","ΕΣΑΣ","ΕΣΕΙΣ","ΕΣΤΩ","ΕΣΥ","ΕΣΩ","ΕΤΣΙ","ΕΥΓΕ","ΕΦΕ","ΕΦΕΞΗΣ","ΕΧΤΕΣ","ΕΩΣ","ΗΔΗ","ΗΜΙ","ΗΠΑ","ΗΤΟΙ","ΘΕΣ","ΙΔΙΩΣ","ΙΔΗ","ΙΚΑ","ΙΣΩΣ","ΚΑΘΕ","ΚΑΘΕΤΙ","ΚΑΘΟΛΟΥ","ΚΑΘΩΣ","ΚΑΙ","ΚΑΝ","ΚΑΠΟΤΕ","ΚΑΠΟΥ","ΚΑΤΑ","ΚΑΤΙ","ΚΑΤΟΠΙΝ","ΚΑΤΩ","ΚΕΙ","ΚΙΧ","ΚΚΕ","ΚΟΛΑΝ","ΚΥΡΙΩΣ","ΚΩΣ","ΜΑΚΑΡΙ","ΜΑΛΙΣΤΑ","ΜΑΛΛΟΝ","ΜΑΙ","ΜΑΟ","ΜΑΟΥΣ","ΜΑΣ","ΜΕΘΑΥΡΙΟ","ΜΕΣ","ΜΕΣΑ","ΜΕΤΑ","ΜΕΤΑΞΥ","ΜΕΧΡΙ","ΜΗΔΕ","ΜΗΝ","ΜΗΠΩΣ","ΜΗΤΕ","ΜΙΑ","ΜΙΑΣ","ΜΙΣ","ΜΜΕ","ΜΟΛΟΝΟΤΙ","ΜΟΥ","ΜΠΑ","ΜΠΑΣ","ΜΠΟΥΦΑΝ","ΜΠΡΟΣ","ΝΑΙ","ΝΕΣ","ΝΤΑ","ΝΤΕ","ΞΑΝΑ","ΟΗΕ","ΟΚΤΩ","ΟΜΩΣ","ΟΝΕ","ΟΠΑ","ΟΠΟΥ","ΟΠΩΣ","ΟΣΟ","ΟΤΑΝ","ΟΤΕ","ΟΤΙ","ΟΥΤΕ","ΟΧΙ","ΠΑΛΙ","ΠΑΝ","ΠΑΝΟ","ΠΑΝΤΟΤΕ","ΠΑΝΤΟΥ","ΠΑΝΤΩΣ","ΠΑΝΩ","ΠΑΡΑ","ΠΕΡΑ","ΠΕΡΙ","ΠΕΡΙΠΟΥ","ΠΙΑ","ΠΙΟ","ΠΙΣΩ","ΠΛΑΙ","ΠΛΕΟΝ","ΠΛΗΝ","ΠΟΤΕ","ΠΟΥ","ΠΡΟ","ΠΡΟΣ","ΠΡΟΧΤΕΣ","ΠΡΟΧΘΕΣ","ΡΟΔΙ","ΠΩΣ","ΣΑΙ","ΣΑΣ","ΣΑΝ","ΣΕΙΣ","ΣΙΑ","ΣΚΙ","ΣΟΙ","ΣΟΥ","ΣΡΙ","ΣΥΝ","ΣΥΝΑΜΑ","ΣΧΕΔΟΝ","ΤΑΔΕ","ΤΑΞΙ","ΤΑΧΑ","ΤΕΙ","ΤΗΝ","ΤΗΣ","ΤΙΠΟΤΑ","ΤΙΠΟΤΕ","ΤΙΣ","ΤΟΝ","ΤΟΤΕ","ΤΟΥ","ΤΟΥΣ","ΤΣΑ","ΤΣΕ","ΤΣΙ","ΤΣΟΥ","ΤΩΝ","ΥΠΟ","ΥΠΟΨΗ","ΥΠΟΨΙΝ","ΥΣΤΕΡΑ","ΦΕΤΟΣ","ΦΙΣ","ΦΠΑ","ΧΑΦ","ΧΘΕΣ","ΧΤΕΣ","ΧΩΡΙΣ","ΩΣ","ΩΣΑΝ","ΩΣΟΤΟΥ","ΩΣΠΟΥ","ΩΣΤΕ","ΩΣΤΟΣΟ"],s=new RegExp("^[ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ]+$");return function(e){return"function"==typeof e.update?e.update(function(e){return n(e.toUpperCase()).toLowerCase()}):n(e.toUpperCase()).toLowerCase()}}(),e.Pipeline.registerFunction(e.el.stemmer,"stemmer-el"),e.el.stopWordFilter=e.generateStopWordFilter("αλλα αν αντι απο αυτα αυτεσ αυτη αυτο αυτοι αυτοσ αυτουσ αυτων για δε δεν εαν ειμαι ειμαστε ειναι εισαι ειστε εκεινα εκεινεσ εκεινη εκεινο εκεινοι εκεινοσ εκεινουσ εκεινων ενω επι η θα ισωσ κ και κατα κι μα με μετα μη μην να ο οι ομωσ οπωσ οσο οτι παρα ποια ποιεσ ποιο ποιοι ποιοσ ποιουσ ποιων που προσ πωσ σε στη στην στο στον τα την τησ το τον τοτε του των ωσ".split(" ")),e.Pipeline.registerFunction(e.el.stopWordFilter,"stopWordFilter-el"),e.el.normilizer=function(){var e={"Ά":"Α","ά":"α","Έ":"Ε","έ":"ε","Ή":"Η","ή":"η","Ί":"Ι","ί":"ι","Ό":"Ο","ο":"ο","Ύ":"Υ","ύ":"υ","Ώ":"Ω","ώ":"ω","Ϊ":"Ι","ϊ":"ι","Ϋ":"Υ","ϋ":"υ","ΐ":"ι","ΰ":"υ"};return function(t){if("function"==typeof t.update)return t.update(function(t){for(var r="",n=0;n=A.limit)return!0;A.cursor++}return!1}return!0}function n(){if(A.in_grouping(x,97,252)){var s=A.cursor;if(e()){if(A.cursor=s,!A.in_grouping(x,97,252))return!0;for(;!A.out_grouping(x,97,252);){if(A.cursor>=A.limit)return!0;A.cursor++}}return!1}return!0}function i(){var s,r=A.cursor;if(n()){if(A.cursor=r,!A.out_grouping(x,97,252))return;if(s=A.cursor,e()){if(A.cursor=s,!A.in_grouping(x,97,252)||A.cursor>=A.limit)return;A.cursor++}}g=A.cursor}function a(){for(;!A.in_grouping(x,97,252);){if(A.cursor>=A.limit)return!1;A.cursor++}for(;!A.out_grouping(x,97,252);){if(A.cursor>=A.limit)return!1;A.cursor++}return!0}function t(){var e=A.cursor;g=A.limit,p=g,v=g,i(),A.cursor=e,a()&&(p=A.cursor,a()&&(v=A.cursor))}function o(){for(var e;;){if(A.bra=A.cursor,e=A.find_among(k,6))switch(A.ket=A.cursor,e){case 1:A.slice_from("a");continue;case 2:A.slice_from("e");continue;case 3:A.slice_from("i");continue;case 4:A.slice_from("o");continue;case 5:A.slice_from("u");continue;case 6:if(A.cursor>=A.limit)break;A.cursor++;continue}break}}function u(){return g<=A.cursor}function w(){return p<=A.cursor}function c(){return v<=A.cursor}function m(){var e;if(A.ket=A.cursor,A.find_among_b(y,13)&&(A.bra=A.cursor,(e=A.find_among_b(q,11))&&u()))switch(e){case 1:A.bra=A.cursor,A.slice_from("iendo");break;case 2:A.bra=A.cursor,A.slice_from("ando");break;case 3:A.bra=A.cursor,A.slice_from("ar");break;case 4:A.bra=A.cursor,A.slice_from("er");break;case 5:A.bra=A.cursor,A.slice_from("ir");break;case 6:A.slice_del();break;case 7:A.eq_s_b(1,"u")&&A.slice_del()}}function l(e,s){if(!c())return!0;A.slice_del(),A.ket=A.cursor;var r=A.find_among_b(e,s);return r&&(A.bra=A.cursor,1==r&&c()&&A.slice_del()),!1}function d(e){return!c()||(A.slice_del(),A.ket=A.cursor,A.eq_s_b(2,e)&&(A.bra=A.cursor,c()&&A.slice_del()),!1)}function b(){var e;if(A.ket=A.cursor,e=A.find_among_b(S,46)){switch(A.bra=A.cursor,e){case 1:if(!c())return!1;A.slice_del();break;case 2:if(d("ic"))return!1;break;case 3:if(!c())return!1;A.slice_from("log");break;case 4:if(!c())return!1;A.slice_from("u");break;case 5:if(!c())return!1;A.slice_from("ente");break;case 6:if(!w())return!1;A.slice_del(),A.ket=A.cursor,e=A.find_among_b(C,4),e&&(A.bra=A.cursor,c()&&(A.slice_del(),1==e&&(A.ket=A.cursor,A.eq_s_b(2,"at")&&(A.bra=A.cursor,c()&&A.slice_del()))));break;case 7:if(l(P,3))return!1;break;case 8:if(l(F,3))return!1;break;case 9:if(d("at"))return!1}return!0}return!1}function f(){var e,s;if(A.cursor>=g&&(s=A.limit_backward,A.limit_backward=g,A.ket=A.cursor,e=A.find_among_b(W,12),A.limit_backward=s,e)){if(A.bra=A.cursor,1==e){if(!A.eq_s_b(1,"u"))return!1;A.slice_del()}return!0}return!1}function _(){var e,s,r,n;if(A.cursor>=g&&(s=A.limit_backward,A.limit_backward=g,A.ket=A.cursor,e=A.find_among_b(L,96),A.limit_backward=s,e))switch(A.bra=A.cursor,e){case 1:r=A.limit-A.cursor,A.eq_s_b(1,"u")?(n=A.limit-A.cursor,A.eq_s_b(1,"g")?A.cursor=A.limit-n:A.cursor=A.limit-r):A.cursor=A.limit-r,A.bra=A.cursor;case 2:A.slice_del()}}function h(){var e,s;if(A.ket=A.cursor,e=A.find_among_b(z,8))switch(A.bra=A.cursor,e){case 1:u()&&A.slice_del();break;case 2:u()&&(A.slice_del(),A.ket=A.cursor,A.eq_s_b(1,"u")&&(A.bra=A.cursor,s=A.limit-A.cursor,A.eq_s_b(1,"g")&&(A.cursor=A.limit-s,u()&&A.slice_del())))}}var v,p,g,k=[new s("",-1,6),new s("á",0,1),new s("é",0,2),new s("í",0,3),new s("ó",0,4),new s("ú",0,5)],y=[new s("la",-1,-1),new s("sela",0,-1),new s("le",-1,-1),new s("me",-1,-1),new s("se",-1,-1),new s("lo",-1,-1),new s("selo",5,-1),new s("las",-1,-1),new s("selas",7,-1),new s("les",-1,-1),new s("los",-1,-1),new s("selos",10,-1),new s("nos",-1,-1)],q=[new s("ando",-1,6),new s("iendo",-1,6),new s("yendo",-1,7),new s("ándo",-1,2),new s("iéndo",-1,1),new s("ar",-1,6),new s("er",-1,6),new s("ir",-1,6),new s("ár",-1,3),new s("ér",-1,4),new s("ír",-1,5)],C=[new s("ic",-1,-1),new s("ad",-1,-1),new s("os",-1,-1),new s("iv",-1,1)],P=[new s("able",-1,1),new s("ible",-1,1),new s("ante",-1,1)],F=[new s("ic",-1,1),new s("abil",-1,1),new s("iv",-1,1)],S=[new s("ica",-1,1),new s("ancia",-1,2),new s("encia",-1,5),new s("adora",-1,2),new s("osa",-1,1),new s("ista",-1,1),new s("iva",-1,9),new s("anza",-1,1),new s("logía",-1,3),new s("idad",-1,8),new s("able",-1,1),new s("ible",-1,1),new s("ante",-1,2),new s("mente",-1,7),new s("amente",13,6),new s("ación",-1,2),new s("ución",-1,4),new s("ico",-1,1),new s("ismo",-1,1),new s("oso",-1,1),new s("amiento",-1,1),new s("imiento",-1,1),new s("ivo",-1,9),new s("ador",-1,2),new s("icas",-1,1),new s("ancias",-1,2),new s("encias",-1,5),new s("adoras",-1,2),new s("osas",-1,1),new s("istas",-1,1),new s("ivas",-1,9),new s("anzas",-1,1),new s("logías",-1,3),new s("idades",-1,8),new s("ables",-1,1),new s("ibles",-1,1),new s("aciones",-1,2),new s("uciones",-1,4),new s("adores",-1,2),new s("antes",-1,2),new s("icos",-1,1),new s("ismos",-1,1),new s("osos",-1,1),new s("amientos",-1,1),new s("imientos",-1,1),new s("ivos",-1,9)],W=[new s("ya",-1,1),new s("ye",-1,1),new s("yan",-1,1),new s("yen",-1,1),new s("yeron",-1,1),new s("yendo",-1,1),new s("yo",-1,1),new s("yas",-1,1),new s("yes",-1,1),new s("yais",-1,1),new s("yamos",-1,1),new s("yó",-1,1)],L=[new s("aba",-1,2),new s("ada",-1,2),new s("ida",-1,2),new s("ara",-1,2),new s("iera",-1,2),new s("ía",-1,2),new s("aría",5,2),new s("ería",5,2),new s("iría",5,2),new s("ad",-1,2),new s("ed",-1,2),new s("id",-1,2),new s("ase",-1,2),new s("iese",-1,2),new s("aste",-1,2),new s("iste",-1,2),new s("an",-1,2),new s("aban",16,2),new s("aran",16,2),new s("ieran",16,2),new s("ían",16,2),new s("arían",20,2),new s("erían",20,2),new s("irían",20,2),new s("en",-1,1),new s("asen",24,2),new s("iesen",24,2),new s("aron",-1,2),new s("ieron",-1,2),new s("arán",-1,2),new s("erán",-1,2),new s("irán",-1,2),new s("ado",-1,2),new s("ido",-1,2),new s("ando",-1,2),new s("iendo",-1,2),new s("ar",-1,2),new s("er",-1,2),new s("ir",-1,2),new s("as",-1,2),new s("abas",39,2),new s("adas",39,2),new s("idas",39,2),new s("aras",39,2),new s("ieras",39,2),new s("ías",39,2),new s("arías",45,2),new s("erías",45,2),new s("irías",45,2),new s("es",-1,1),new s("ases",49,2),new s("ieses",49,2),new s("abais",-1,2),new s("arais",-1,2),new s("ierais",-1,2),new s("íais",-1,2),new s("aríais",55,2),new s("eríais",55,2),new s("iríais",55,2),new s("aseis",-1,2),new s("ieseis",-1,2),new s("asteis",-1,2),new s("isteis",-1,2),new s("áis",-1,2),new s("éis",-1,1),new s("aréis",64,2),new s("eréis",64,2),new s("iréis",64,2),new s("ados",-1,2),new s("idos",-1,2),new s("amos",-1,2),new s("ábamos",70,2),new s("áramos",70,2),new s("iéramos",70,2),new s("íamos",70,2),new s("aríamos",74,2),new s("eríamos",74,2),new s("iríamos",74,2),new s("emos",-1,1),new s("aremos",78,2),new s("eremos",78,2),new s("iremos",78,2),new s("ásemos",78,2),new s("iésemos",78,2),new s("imos",-1,2),new s("arás",-1,2),new s("erás",-1,2),new s("irás",-1,2),new s("ís",-1,2),new s("ará",-1,2),new s("erá",-1,2),new s("irá",-1,2),new s("aré",-1,2),new s("eré",-1,2),new s("iré",-1,2),new s("ió",-1,2)],z=[new s("a",-1,1),new s("e",-1,2),new s("o",-1,1),new s("os",-1,1),new s("á",-1,1),new s("é",-1,2),new s("í",-1,1),new s("ó",-1,1)],x=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],A=new r;this.setCurrent=function(e){A.setCurrent(e)},this.getCurrent=function(){return A.getCurrent()},this.stem=function(){var e=A.cursor;return t(),A.limit_backward=e,A.cursor=A.limit,m(),A.cursor=A.limit,b()||(A.cursor=A.limit,f()||(A.cursor=A.limit,_())),A.cursor=A.limit,h(),A.cursor=A.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.es.stemmer,"stemmer-es"),e.es.stopWordFilter=e.generateStopWordFilter("a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos".split(" ")),e.Pipeline.registerFunction(e.es.stopWordFilter,"stopWordFilter-es")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.fi.min.js b/assets/javascripts/lunr/min/lunr.fi.min.js new file mode 100644 index 00000000..29f5dfce --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.fi.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Finnish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");i.fi=function(){this.pipeline.reset(),this.pipeline.add(i.fi.trimmer,i.fi.stopWordFilter,i.fi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.fi.stemmer))},i.fi.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.fi.trimmer=i.trimmerSupport.generateTrimmer(i.fi.wordCharacters),i.Pipeline.registerFunction(i.fi.trimmer,"trimmer-fi"),i.fi.stemmer=function(){var e=i.stemmerSupport.Among,r=i.stemmerSupport.SnowballProgram,n=new function(){function i(){f=A.limit,d=f,n()||(f=A.cursor,n()||(d=A.cursor))}function n(){for(var i;;){if(i=A.cursor,A.in_grouping(W,97,246))break;if(A.cursor=i,i>=A.limit)return!0;A.cursor++}for(A.cursor=i;!A.out_grouping(W,97,246);){if(A.cursor>=A.limit)return!0;A.cursor++}return!1}function t(){return d<=A.cursor}function s(){var i,e;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(h,10)){switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:if(!A.in_grouping_b(x,97,246))return;break;case 2:if(!t())return}A.slice_del()}else A.limit_backward=e}function o(){var i,e,r;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(v,9))switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:r=A.limit-A.cursor,A.eq_s_b(1,"k")||(A.cursor=A.limit-r,A.slice_del());break;case 2:A.slice_del(),A.ket=A.cursor,A.eq_s_b(3,"kse")&&(A.bra=A.cursor,A.slice_from("ksi"));break;case 3:A.slice_del();break;case 4:A.find_among_b(p,6)&&A.slice_del();break;case 5:A.find_among_b(g,6)&&A.slice_del();break;case 6:A.find_among_b(j,2)&&A.slice_del()}else A.limit_backward=e}function l(){return A.find_among_b(q,7)}function a(){return A.eq_s_b(1,"i")&&A.in_grouping_b(L,97,246)}function u(){var i,e,r;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(C,30)){switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:if(!A.eq_s_b(1,"a"))return;break;case 2:case 9:if(!A.eq_s_b(1,"e"))return;break;case 3:if(!A.eq_s_b(1,"i"))return;break;case 4:if(!A.eq_s_b(1,"o"))return;break;case 5:if(!A.eq_s_b(1,"ä"))return;break;case 6:if(!A.eq_s_b(1,"ö"))return;break;case 7:if(r=A.limit-A.cursor,!l()&&(A.cursor=A.limit-r,!A.eq_s_b(2,"ie"))){A.cursor=A.limit-r;break}if(A.cursor=A.limit-r,A.cursor<=A.limit_backward){A.cursor=A.limit-r;break}A.cursor--,A.bra=A.cursor;break;case 8:if(!A.in_grouping_b(W,97,246)||!A.out_grouping_b(W,97,246))return}A.slice_del(),k=!0}else A.limit_backward=e}function c(){var i,e,r;if(A.cursor>=d)if(e=A.limit_backward,A.limit_backward=d,A.ket=A.cursor,i=A.find_among_b(P,14)){if(A.bra=A.cursor,A.limit_backward=e,1==i){if(r=A.limit-A.cursor,A.eq_s_b(2,"po"))return;A.cursor=A.limit-r}A.slice_del()}else A.limit_backward=e}function m(){var i;A.cursor>=f&&(i=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,A.find_among_b(F,2)?(A.bra=A.cursor,A.limit_backward=i,A.slice_del()):A.limit_backward=i)}function w(){var i,e,r,n,t,s;if(A.cursor>=f){if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,A.eq_s_b(1,"t")&&(A.bra=A.cursor,r=A.limit-A.cursor,A.in_grouping_b(W,97,246)&&(A.cursor=A.limit-r,A.slice_del(),A.limit_backward=e,n=A.limit-A.cursor,A.cursor>=d&&(A.cursor=d,t=A.limit_backward,A.limit_backward=A.cursor,A.cursor=A.limit-n,A.ket=A.cursor,i=A.find_among_b(S,2))))){if(A.bra=A.cursor,A.limit_backward=t,1==i){if(s=A.limit-A.cursor,A.eq_s_b(2,"po"))return;A.cursor=A.limit-s}return void A.slice_del()}A.limit_backward=e}}function _(){var i,e,r,n;if(A.cursor>=f){for(i=A.limit_backward,A.limit_backward=f,e=A.limit-A.cursor,l()&&(A.cursor=A.limit-e,A.ket=A.cursor,A.cursor>A.limit_backward&&(A.cursor--,A.bra=A.cursor,A.slice_del())),A.cursor=A.limit-e,A.ket=A.cursor,A.in_grouping_b(y,97,228)&&(A.bra=A.cursor,A.out_grouping_b(W,97,246)&&A.slice_del()),A.cursor=A.limit-e,A.ket=A.cursor,A.eq_s_b(1,"j")&&(A.bra=A.cursor,r=A.limit-A.cursor,A.eq_s_b(1,"o")?A.slice_del():(A.cursor=A.limit-r,A.eq_s_b(1,"u")&&A.slice_del())),A.cursor=A.limit-e,A.ket=A.cursor,A.eq_s_b(1,"o")&&(A.bra=A.cursor,A.eq_s_b(1,"j")&&A.slice_del()),A.cursor=A.limit-e,A.limit_backward=i;;){if(n=A.limit-A.cursor,A.out_grouping_b(W,97,246)){A.cursor=A.limit-n;break}if(A.cursor=A.limit-n,A.cursor<=A.limit_backward)return;A.cursor--}A.ket=A.cursor,A.cursor>A.limit_backward&&(A.cursor--,A.bra=A.cursor,b=A.slice_to(),A.eq_v_b(b)&&A.slice_del())}}var k,b,d,f,h=[new e("pa",-1,1),new e("sti",-1,2),new e("kaan",-1,1),new e("han",-1,1),new e("kin",-1,1),new e("hän",-1,1),new e("kään",-1,1),new e("ko",-1,1),new e("pä",-1,1),new e("kö",-1,1)],p=[new e("lla",-1,-1),new e("na",-1,-1),new e("ssa",-1,-1),new e("ta",-1,-1),new e("lta",3,-1),new e("sta",3,-1)],g=[new e("llä",-1,-1),new e("nä",-1,-1),new e("ssä",-1,-1),new e("tä",-1,-1),new e("ltä",3,-1),new e("stä",3,-1)],j=[new e("lle",-1,-1),new e("ine",-1,-1)],v=[new e("nsa",-1,3),new e("mme",-1,3),new e("nne",-1,3),new e("ni",-1,2),new e("si",-1,1),new e("an",-1,4),new e("en",-1,6),new e("än",-1,5),new e("nsä",-1,3)],q=[new e("aa",-1,-1),new e("ee",-1,-1),new e("ii",-1,-1),new e("oo",-1,-1),new e("uu",-1,-1),new e("ää",-1,-1),new e("öö",-1,-1)],C=[new e("a",-1,8),new e("lla",0,-1),new e("na",0,-1),new e("ssa",0,-1),new e("ta",0,-1),new e("lta",4,-1),new e("sta",4,-1),new e("tta",4,9),new e("lle",-1,-1),new e("ine",-1,-1),new e("ksi",-1,-1),new e("n",-1,7),new e("han",11,1),new e("den",11,-1,a),new e("seen",11,-1,l),new e("hen",11,2),new e("tten",11,-1,a),new e("hin",11,3),new e("siin",11,-1,a),new e("hon",11,4),new e("hän",11,5),new e("hön",11,6),new e("ä",-1,8),new e("llä",22,-1),new e("nä",22,-1),new e("ssä",22,-1),new e("tä",22,-1),new e("ltä",26,-1),new e("stä",26,-1),new e("ttä",26,9)],P=[new e("eja",-1,-1),new e("mma",-1,1),new e("imma",1,-1),new e("mpa",-1,1),new e("impa",3,-1),new e("mmi",-1,1),new e("immi",5,-1),new e("mpi",-1,1),new e("impi",7,-1),new e("ejä",-1,-1),new e("mmä",-1,1),new e("immä",10,-1),new e("mpä",-1,1),new e("impä",12,-1)],F=[new e("i",-1,-1),new e("j",-1,-1)],S=[new e("mma",-1,1),new e("imma",0,-1)],y=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],W=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],L=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],x=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],A=new r;this.setCurrent=function(i){A.setCurrent(i)},this.getCurrent=function(){return A.getCurrent()},this.stem=function(){var e=A.cursor;return i(),k=!1,A.limit_backward=e,A.cursor=A.limit,s(),A.cursor=A.limit,o(),A.cursor=A.limit,u(),A.cursor=A.limit,c(),A.cursor=A.limit,k?(m(),A.cursor=A.limit):(A.cursor=A.limit,w(),A.cursor=A.limit),_(),!0}};return function(i){return"function"==typeof i.update?i.update(function(i){return n.setCurrent(i),n.stem(),n.getCurrent()}):(n.setCurrent(i),n.stem(),n.getCurrent())}}(),i.Pipeline.registerFunction(i.fi.stemmer,"stemmer-fi"),i.fi.stopWordFilter=i.generateStopWordFilter("ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli".split(" ")),i.Pipeline.registerFunction(i.fi.stopWordFilter,"stopWordFilter-fi")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.fr.min.js b/assets/javascripts/lunr/min/lunr.fr.min.js new file mode 100644 index 00000000..68cd0094 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.fr.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `French` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.fr=function(){this.pipeline.reset(),this.pipeline.add(e.fr.trimmer,e.fr.stopWordFilter,e.fr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.fr.stemmer))},e.fr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.fr.trimmer=e.trimmerSupport.generateTrimmer(e.fr.wordCharacters),e.Pipeline.registerFunction(e.fr.trimmer,"trimmer-fr"),e.fr.stemmer=function(){var r=e.stemmerSupport.Among,s=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,s){return!(!W.eq_s(1,e)||(W.ket=W.cursor,!W.in_grouping(F,97,251)))&&(W.slice_from(r),W.cursor=s,!0)}function i(e,r,s){return!!W.eq_s(1,e)&&(W.ket=W.cursor,W.slice_from(r),W.cursor=s,!0)}function n(){for(var r,s;;){if(r=W.cursor,W.in_grouping(F,97,251)){if(W.bra=W.cursor,s=W.cursor,e("u","U",r))continue;if(W.cursor=s,e("i","I",r))continue;if(W.cursor=s,i("y","Y",r))continue}if(W.cursor=r,W.bra=r,!e("y","Y",r)){if(W.cursor=r,W.eq_s(1,"q")&&(W.bra=W.cursor,i("u","U",r)))continue;if(W.cursor=r,r>=W.limit)return;W.cursor++}}}function t(){for(;!W.in_grouping(F,97,251);){if(W.cursor>=W.limit)return!0;W.cursor++}for(;!W.out_grouping(F,97,251);){if(W.cursor>=W.limit)return!0;W.cursor++}return!1}function u(){var e=W.cursor;if(q=W.limit,g=q,p=q,W.in_grouping(F,97,251)&&W.in_grouping(F,97,251)&&W.cursor=W.limit){W.cursor=q;break}W.cursor++}while(!W.in_grouping(F,97,251))}q=W.cursor,W.cursor=e,t()||(g=W.cursor,t()||(p=W.cursor))}function o(){for(var e,r;;){if(r=W.cursor,W.bra=r,!(e=W.find_among(h,4)))break;switch(W.ket=W.cursor,e){case 1:W.slice_from("i");break;case 2:W.slice_from("u");break;case 3:W.slice_from("y");break;case 4:if(W.cursor>=W.limit)return;W.cursor++}}}function c(){return q<=W.cursor}function a(){return g<=W.cursor}function l(){return p<=W.cursor}function w(){var e,r;if(W.ket=W.cursor,e=W.find_among_b(C,43)){switch(W.bra=W.cursor,e){case 1:if(!l())return!1;W.slice_del();break;case 2:if(!l())return!1;W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"ic")&&(W.bra=W.cursor,l()?W.slice_del():W.slice_from("iqU"));break;case 3:if(!l())return!1;W.slice_from("log");break;case 4:if(!l())return!1;W.slice_from("u");break;case 5:if(!l())return!1;W.slice_from("ent");break;case 6:if(!c())return!1;if(W.slice_del(),W.ket=W.cursor,e=W.find_among_b(z,6))switch(W.bra=W.cursor,e){case 1:l()&&(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"at")&&(W.bra=W.cursor,l()&&W.slice_del()));break;case 2:l()?W.slice_del():a()&&W.slice_from("eux");break;case 3:l()&&W.slice_del();break;case 4:c()&&W.slice_from("i")}break;case 7:if(!l())return!1;if(W.slice_del(),W.ket=W.cursor,e=W.find_among_b(y,3))switch(W.bra=W.cursor,e){case 1:l()?W.slice_del():W.slice_from("abl");break;case 2:l()?W.slice_del():W.slice_from("iqU");break;case 3:l()&&W.slice_del()}break;case 8:if(!l())return!1;if(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"at")&&(W.bra=W.cursor,l()&&(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"ic")))){W.bra=W.cursor,l()?W.slice_del():W.slice_from("iqU");break}break;case 9:W.slice_from("eau");break;case 10:if(!a())return!1;W.slice_from("al");break;case 11:if(l())W.slice_del();else{if(!a())return!1;W.slice_from("eux")}break;case 12:if(!a()||!W.out_grouping_b(F,97,251))return!1;W.slice_del();break;case 13:return c()&&W.slice_from("ant"),!1;case 14:return c()&&W.slice_from("ent"),!1;case 15:return r=W.limit-W.cursor,W.in_grouping_b(F,97,251)&&c()&&(W.cursor=W.limit-r,W.slice_del()),!1}return!0}return!1}function f(){var e,r;if(W.cursor=q){if(s=W.limit_backward,W.limit_backward=q,W.ket=W.cursor,e=W.find_among_b(P,7))switch(W.bra=W.cursor,e){case 1:if(l()){if(i=W.limit-W.cursor,!W.eq_s_b(1,"s")&&(W.cursor=W.limit-i,!W.eq_s_b(1,"t")))break;W.slice_del()}break;case 2:W.slice_from("i");break;case 3:W.slice_del();break;case 4:W.eq_s_b(2,"gu")&&W.slice_del()}W.limit_backward=s}}function b(){var e=W.limit-W.cursor;W.find_among_b(U,5)&&(W.cursor=W.limit-e,W.ket=W.cursor,W.cursor>W.limit_backward&&(W.cursor--,W.bra=W.cursor,W.slice_del()))}function d(){for(var e,r=1;W.out_grouping_b(F,97,251);)r--;if(r<=0){if(W.ket=W.cursor,e=W.limit-W.cursor,!W.eq_s_b(1,"é")&&(W.cursor=W.limit-e,!W.eq_s_b(1,"è")))return;W.bra=W.cursor,W.slice_from("e")}}function k(){if(!w()&&(W.cursor=W.limit,!f()&&(W.cursor=W.limit,!m())))return W.cursor=W.limit,void _();W.cursor=W.limit,W.ket=W.cursor,W.eq_s_b(1,"Y")?(W.bra=W.cursor,W.slice_from("i")):(W.cursor=W.limit,W.eq_s_b(1,"ç")&&(W.bra=W.cursor,W.slice_from("c")))}var p,g,q,v=[new r("col",-1,-1),new r("par",-1,-1),new r("tap",-1,-1)],h=[new r("",-1,4),new r("I",0,1),new r("U",0,2),new r("Y",0,3)],z=[new r("iqU",-1,3),new r("abl",-1,3),new r("Ièr",-1,4),new r("ièr",-1,4),new r("eus",-1,2),new r("iv",-1,1)],y=[new r("ic",-1,2),new r("abil",-1,1),new r("iv",-1,3)],C=[new r("iqUe",-1,1),new r("atrice",-1,2),new r("ance",-1,1),new r("ence",-1,5),new r("logie",-1,3),new r("able",-1,1),new r("isme",-1,1),new r("euse",-1,11),new r("iste",-1,1),new r("ive",-1,8),new r("if",-1,8),new r("usion",-1,4),new r("ation",-1,2),new r("ution",-1,4),new r("ateur",-1,2),new r("iqUes",-1,1),new r("atrices",-1,2),new r("ances",-1,1),new r("ences",-1,5),new r("logies",-1,3),new r("ables",-1,1),new r("ismes",-1,1),new r("euses",-1,11),new r("istes",-1,1),new r("ives",-1,8),new r("ifs",-1,8),new r("usions",-1,4),new r("ations",-1,2),new r("utions",-1,4),new r("ateurs",-1,2),new r("ments",-1,15),new r("ements",30,6),new r("issements",31,12),new r("ités",-1,7),new r("ment",-1,15),new r("ement",34,6),new r("issement",35,12),new r("amment",34,13),new r("emment",34,14),new r("aux",-1,10),new r("eaux",39,9),new r("eux",-1,1),new r("ité",-1,7)],x=[new r("ira",-1,1),new r("ie",-1,1),new r("isse",-1,1),new r("issante",-1,1),new r("i",-1,1),new r("irai",4,1),new r("ir",-1,1),new r("iras",-1,1),new r("ies",-1,1),new r("îmes",-1,1),new r("isses",-1,1),new r("issantes",-1,1),new r("îtes",-1,1),new r("is",-1,1),new r("irais",13,1),new r("issais",13,1),new r("irions",-1,1),new r("issions",-1,1),new r("irons",-1,1),new r("issons",-1,1),new r("issants",-1,1),new r("it",-1,1),new r("irait",21,1),new r("issait",21,1),new r("issant",-1,1),new r("iraIent",-1,1),new r("issaIent",-1,1),new r("irent",-1,1),new r("issent",-1,1),new r("iront",-1,1),new r("ît",-1,1),new r("iriez",-1,1),new r("issiez",-1,1),new r("irez",-1,1),new r("issez",-1,1)],I=[new r("a",-1,3),new r("era",0,2),new r("asse",-1,3),new r("ante",-1,3),new r("ée",-1,2),new r("ai",-1,3),new r("erai",5,2),new r("er",-1,2),new r("as",-1,3),new r("eras",8,2),new r("âmes",-1,3),new r("asses",-1,3),new r("antes",-1,3),new r("âtes",-1,3),new r("ées",-1,2),new r("ais",-1,3),new r("erais",15,2),new r("ions",-1,1),new r("erions",17,2),new r("assions",17,3),new r("erons",-1,2),new r("ants",-1,3),new r("és",-1,2),new r("ait",-1,3),new r("erait",23,2),new r("ant",-1,3),new r("aIent",-1,3),new r("eraIent",26,2),new r("èrent",-1,2),new r("assent",-1,3),new r("eront",-1,2),new r("ât",-1,3),new r("ez",-1,2),new r("iez",32,2),new r("eriez",33,2),new r("assiez",33,3),new r("erez",32,2),new r("é",-1,2)],P=[new r("e",-1,3),new r("Ière",0,2),new r("ière",0,2),new r("ion",-1,1),new r("Ier",-1,2),new r("ier",-1,2),new r("ë",-1,4)],U=[new r("ell",-1,-1),new r("eill",-1,-1),new r("enn",-1,-1),new r("onn",-1,-1),new r("ett",-1,-1)],F=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],S=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],W=new s;this.setCurrent=function(e){W.setCurrent(e)},this.getCurrent=function(){return W.getCurrent()},this.stem=function(){var e=W.cursor;return n(),W.cursor=e,u(),W.limit_backward=e,W.cursor=W.limit,k(),W.cursor=W.limit,b(),W.cursor=W.limit,d(),W.cursor=W.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.fr.stemmer,"stemmer-fr"),e.fr.stopWordFilter=e.generateStopWordFilter("ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" ")),e.Pipeline.registerFunction(e.fr.stopWordFilter,"stopWordFilter-fr")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.he.min.js b/assets/javascripts/lunr/min/lunr.he.min.js new file mode 100644 index 00000000..b863d3ea --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.he.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.he=function(){this.pipeline.reset(),this.pipeline.add(e.he.trimmer,e.he.stopWordFilter,e.he.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.he.stemmer))},e.he.wordCharacters="֑-״א-תa-zA-Za-zA-Z0-90-9",e.he.trimmer=e.trimmerSupport.generateTrimmer(e.he.wordCharacters),e.Pipeline.registerFunction(e.he.trimmer,"trimmer-he"),e.he.stemmer=function(){var e=this;return e.result=!1,e.preRemoved=!1,e.sufRemoved=!1,e.pre={pre1:"ה ו י ת",pre2:"ב כ ל מ ש כש",pre3:"הב הכ הל המ הש בש לכ",pre4:"וב וכ ול ומ וש",pre5:"מה שה כל",pre6:"מב מכ מל ממ מש",pre7:"בה בו בי בת כה כו כי כת לה לו לי לת",pre8:"ובה ובו ובי ובת וכה וכו וכי וכת ולה ולו ולי ולת"},e.suf={suf1:"ך כ ם ן נ",suf2:"ים ות וך וכ ום ון ונ הם הן יכ יך ינ ים",suf3:"תי תך תכ תם תן תנ",suf4:"ותי ותך ותכ ותם ותן ותנ",suf5:"נו כם כן הם הן",suf6:"ונו וכם וכן והם והן",suf7:"תכם תכן תנו תהם תהן",suf8:"הוא היא הם הן אני אתה את אנו אתם אתן",suf9:"ני נו כי כו כם כן תי תך תכ תם תן",suf10:"י ך כ ם ן נ ת"},e.patterns=JSON.parse('{"hebrewPatterns": [{"pt1": [{"c": "ה", "l": 0}]}, {"pt2": [{"c": "ו", "l": 0}]}, {"pt3": [{"c": "י", "l": 0}]}, {"pt4": [{"c": "ת", "l": 0}]}, {"pt5": [{"c": "מ", "l": 0}]}, {"pt6": [{"c": "ל", "l": 0}]}, {"pt7": [{"c": "ב", "l": 0}]}, {"pt8": [{"c": "כ", "l": 0}]}, {"pt9": [{"c": "ש", "l": 0}]}, {"pt10": [{"c": "כש", "l": 0}]}, {"pt11": [{"c": "בה", "l": 0}]}, {"pt12": [{"c": "וב", "l": 0}]}, {"pt13": [{"c": "וכ", "l": 0}]}, {"pt14": [{"c": "ול", "l": 0}]}, {"pt15": [{"c": "ומ", "l": 0}]}, {"pt16": [{"c": "וש", "l": 0}]}, {"pt17": [{"c": "הב", "l": 0}]}, {"pt18": [{"c": "הכ", "l": 0}]}, {"pt19": [{"c": "הל", "l": 0}]}, {"pt20": [{"c": "המ", "l": 0}]}, {"pt21": [{"c": "הש", "l": 0}]}, {"pt22": [{"c": "מה", "l": 0}]}, {"pt23": [{"c": "שה", "l": 0}]}, {"pt24": [{"c": "כל", "l": 0}]}]}'),e.execArray=["cleanWord","removeDiacritics","removeStopWords","normalizeHebrewCharacters"],e.stem=function(){var r=0;for(e.result=!1,e.preRemoved=!1,e.sufRemoved=!1;r=0)return!0},e.normalizeHebrewCharacters=function(){return e.word=e.word.replace("ך","כ"),e.word=e.word.replace("ם","מ"),e.word=e.word.replace("ן","נ"),e.word=e.word.replace("ף","פ"),e.word=e.word.replace("ץ","צ"),!1},function(r){return"function"==typeof r.update?r.update(function(r){return e.setCurrent(r),e.stem(),e.getCurrent()}):(e.setCurrent(r),e.stem(),e.getCurrent())}}(),e.Pipeline.registerFunction(e.he.stemmer,"stemmer-he"),e.he.stopWordFilter=e.generateStopWordFilter("אבל או אולי אותו אותי אותך אותם אותן אותנו אז אחר אחרות אחרי אחריכן אחרים אחרת אי איזה איך אין איפה אל אלה אלו אם אנחנו אני אף אפשר את אתה אתכם אתכן אתם אתן באיזה באיזו בגלל בין בלבד בעבור בעזרת בכל בכן בלי במידה במקום שבו ברוב בשביל בשעה ש בתוך גם דרך הוא היא היה היי היכן היתה היתי הם הן הנה הסיבה שבגללה הרי ואילו ואת זאת זה זות יהיה יוכל יוכלו יותר מדי יכול יכולה יכולות יכולים יכל יכלה יכלו יש כאן כאשר כולם כולן כזה כי כיצד כך כל כלל כמו כן כפי כש לא לאו לאיזותך לאן לבין לה להיות להם להן לו לזה לזות לי לך לכם לכן למה למעלה למעלה מ למטה למטה מ למעט למקום שבו למרות לנו לעבר לעיכן לפיכך לפני מאד מאחורי מאיזו סיבה מאין מאיפה מבלי מבעד מדוע מה מהיכן מול מחוץ מי מידע מכאן מכל מכן מלבד מן מנין מסוגל מעט מעטים מעל מצד מקום בו מתחת מתי נגד נגר נו עד עז על עלי עליו עליה עליהם עליך עלינו עם עצמה עצמהם עצמהן עצמו עצמי עצמם עצמן עצמנו פה רק שוב של שלה שלהם שלהן שלו שלי שלך שלכה שלכם שלכן שלנו שם תהיה תחת".split(" ")),e.Pipeline.registerFunction(e.he.stopWordFilter,"stopWordFilter-he")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.hi.min.js b/assets/javascripts/lunr/min/lunr.hi.min.js new file mode 100644 index 00000000..7dbc4140 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.hi.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿa-zA-Za-zA-Z0-90-9",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("अत अपना अपनी अपने अभी अंदर आदि आप इत्यादि इन इनका इन्हीं इन्हें इन्हों इस इसका इसकी इसके इसमें इसी इसे उन उनका उनकी उनके उनको उन्हीं उन्हें उन्हों उस उसके उसी उसे एक एवं एस ऐसे और कई कर करता करते करना करने करें कहते कहा का काफ़ी कि कितना किन्हें किन्हों किया किर किस किसी किसे की कुछ कुल के को कोई कौन कौनसा गया घर जब जहाँ जा जितना जिन जिन्हें जिन्हों जिस जिसे जीधर जैसा जैसे जो तक तब तरह तिन तिन्हें तिन्हों तिस तिसे तो था थी थे दबारा दिया दुसरा दूसरे दो द्वारा न नके नहीं ना निहायत नीचे ने पर पहले पूरा पे फिर बनी बही बहुत बाद बाला बिलकुल भी भीतर मगर मानो मे में यदि यह यहाँ यही या यिह ये रखें रहा रहे ऱ्वासा लिए लिये लेकिन व वग़ैरह वर्ग वह वहाँ वहीं वाले वुह वे वो सकता सकते सबसे सभी साथ साबुत साभ सारा से सो संग ही हुआ हुई हुए है हैं हो होता होती होते होना होने".split(" ")),e.hi.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.hi.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var t=i.toString().toLowerCase().replace(/^\s+/,"");return r.cut(t).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.hu.min.js b/assets/javascripts/lunr/min/lunr.hu.min.js new file mode 100644 index 00000000..ed9d909f --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.hu.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Hungarian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hu=function(){this.pipeline.reset(),this.pipeline.add(e.hu.trimmer,e.hu.stopWordFilter,e.hu.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hu.stemmer))},e.hu.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.hu.trimmer=e.trimmerSupport.generateTrimmer(e.hu.wordCharacters),e.Pipeline.registerFunction(e.hu.trimmer,"trimmer-hu"),e.hu.stemmer=function(){var n=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,n=L.cursor;if(d=L.limit,L.in_grouping(W,97,252))for(;;){if(e=L.cursor,L.out_grouping(W,97,252))return L.cursor=e,L.find_among(g,8)||(L.cursor=e,e=L.limit)return void(d=e);L.cursor++}if(L.cursor=n,L.out_grouping(W,97,252)){for(;!L.in_grouping(W,97,252);){if(L.cursor>=L.limit)return;L.cursor++}d=L.cursor}}function i(){return d<=L.cursor}function a(){var e;if(L.ket=L.cursor,(e=L.find_among_b(h,2))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("a");break;case 2:L.slice_from("e")}}function t(){var e=L.limit-L.cursor;return!!L.find_among_b(p,23)&&(L.cursor=L.limit-e,!0)}function s(){if(L.cursor>L.limit_backward){L.cursor--,L.ket=L.cursor;var e=L.cursor-1;L.limit_backward<=e&&e<=L.limit&&(L.cursor=e,L.bra=e,L.slice_del())}}function c(){var e;if(L.ket=L.cursor,(e=L.find_among_b(_,2))&&(L.bra=L.cursor,i())){if((1==e||2==e)&&!t())return;L.slice_del(),s()}}function o(){L.ket=L.cursor,L.find_among_b(v,44)&&(L.bra=L.cursor,i()&&(L.slice_del(),a()))}function w(){var e;if(L.ket=L.cursor,(e=L.find_among_b(z,3))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("e");break;case 2:case 3:L.slice_from("a")}}function l(){var e;if(L.ket=L.cursor,(e=L.find_among_b(y,6))&&(L.bra=L.cursor,i()))switch(e){case 1:case 2:L.slice_del();break;case 3:L.slice_from("a");break;case 4:L.slice_from("e")}}function u(){var e;if(L.ket=L.cursor,(e=L.find_among_b(j,2))&&(L.bra=L.cursor,i())){if((1==e||2==e)&&!t())return;L.slice_del(),s()}}function m(){var e;if(L.ket=L.cursor,(e=L.find_among_b(C,7))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("a");break;case 2:L.slice_from("e");break;case 3:case 4:case 5:case 6:case 7:L.slice_del()}}function k(){var e;if(L.ket=L.cursor,(e=L.find_among_b(P,12))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 7:case 9:L.slice_del();break;case 2:case 5:case 8:L.slice_from("e");break;case 3:case 6:L.slice_from("a")}}function f(){var e;if(L.ket=L.cursor,(e=L.find_among_b(F,31))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:L.slice_del();break;case 2:case 5:case 10:case 14:case 19:L.slice_from("a");break;case 3:case 6:case 11:case 15:case 20:L.slice_from("e")}}function b(){var e;if(L.ket=L.cursor,(e=L.find_among_b(S,42))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:L.slice_del();break;case 2:case 7:case 12:case 18:case 22:case 27:L.slice_from("a");break;case 3:case 8:case 13:case 19:case 23:case 28:L.slice_from("e")}}var d,g=[new n("cs",-1,-1),new n("dzs",-1,-1),new n("gy",-1,-1),new n("ly",-1,-1),new n("ny",-1,-1),new n("sz",-1,-1),new n("ty",-1,-1),new n("zs",-1,-1)],h=[new n("á",-1,1),new n("é",-1,2)],p=[new n("bb",-1,-1),new n("cc",-1,-1),new n("dd",-1,-1),new n("ff",-1,-1),new n("gg",-1,-1),new n("jj",-1,-1),new n("kk",-1,-1),new n("ll",-1,-1),new n("mm",-1,-1),new n("nn",-1,-1),new n("pp",-1,-1),new n("rr",-1,-1),new n("ccs",-1,-1),new n("ss",-1,-1),new n("zzs",-1,-1),new n("tt",-1,-1),new n("vv",-1,-1),new n("ggy",-1,-1),new n("lly",-1,-1),new n("nny",-1,-1),new n("tty",-1,-1),new n("ssz",-1,-1),new n("zz",-1,-1)],_=[new n("al",-1,1),new n("el",-1,2)],v=[new n("ba",-1,-1),new n("ra",-1,-1),new n("be",-1,-1),new n("re",-1,-1),new n("ig",-1,-1),new n("nak",-1,-1),new n("nek",-1,-1),new n("val",-1,-1),new n("vel",-1,-1),new n("ul",-1,-1),new n("nál",-1,-1),new n("nél",-1,-1),new n("ból",-1,-1),new n("ról",-1,-1),new n("tól",-1,-1),new n("bõl",-1,-1),new n("rõl",-1,-1),new n("tõl",-1,-1),new n("ül",-1,-1),new n("n",-1,-1),new n("an",19,-1),new n("ban",20,-1),new n("en",19,-1),new n("ben",22,-1),new n("képpen",22,-1),new n("on",19,-1),new n("ön",19,-1),new n("képp",-1,-1),new n("kor",-1,-1),new n("t",-1,-1),new n("at",29,-1),new n("et",29,-1),new n("ként",29,-1),new n("anként",32,-1),new n("enként",32,-1),new n("onként",32,-1),new n("ot",29,-1),new n("ért",29,-1),new n("öt",29,-1),new n("hez",-1,-1),new n("hoz",-1,-1),new n("höz",-1,-1),new n("vá",-1,-1),new n("vé",-1,-1)],z=[new n("án",-1,2),new n("én",-1,1),new n("ánként",-1,3)],y=[new n("stul",-1,2),new n("astul",0,1),new n("ástul",0,3),new n("stül",-1,2),new n("estül",3,1),new n("éstül",3,4)],j=[new n("á",-1,1),new n("é",-1,2)],C=[new n("k",-1,7),new n("ak",0,4),new n("ek",0,6),new n("ok",0,5),new n("ák",0,1),new n("ék",0,2),new n("ök",0,3)],P=[new n("éi",-1,7),new n("áéi",0,6),new n("ééi",0,5),new n("é",-1,9),new n("ké",3,4),new n("aké",4,1),new n("eké",4,1),new n("oké",4,1),new n("áké",4,3),new n("éké",4,2),new n("öké",4,1),new n("éé",3,8)],F=[new n("a",-1,18),new n("ja",0,17),new n("d",-1,16),new n("ad",2,13),new n("ed",2,13),new n("od",2,13),new n("ád",2,14),new n("éd",2,15),new n("öd",2,13),new n("e",-1,18),new n("je",9,17),new n("nk",-1,4),new n("unk",11,1),new n("ánk",11,2),new n("énk",11,3),new n("ünk",11,1),new n("uk",-1,8),new n("juk",16,7),new n("ájuk",17,5),new n("ük",-1,8),new n("jük",19,7),new n("éjük",20,6),new n("m",-1,12),new n("am",22,9),new n("em",22,9),new n("om",22,9),new n("ám",22,10),new n("ém",22,11),new n("o",-1,18),new n("á",-1,19),new n("é",-1,20)],S=[new n("id",-1,10),new n("aid",0,9),new n("jaid",1,6),new n("eid",0,9),new n("jeid",3,6),new n("áid",0,7),new n("éid",0,8),new n("i",-1,15),new n("ai",7,14),new n("jai",8,11),new n("ei",7,14),new n("jei",10,11),new n("ái",7,12),new n("éi",7,13),new n("itek",-1,24),new n("eitek",14,21),new n("jeitek",15,20),new n("éitek",14,23),new n("ik",-1,29),new n("aik",18,26),new n("jaik",19,25),new n("eik",18,26),new n("jeik",21,25),new n("áik",18,27),new n("éik",18,28),new n("ink",-1,20),new n("aink",25,17),new n("jaink",26,16),new n("eink",25,17),new n("jeink",28,16),new n("áink",25,18),new n("éink",25,19),new n("aitok",-1,21),new n("jaitok",32,20),new n("áitok",-1,22),new n("im",-1,5),new n("aim",35,4),new n("jaim",36,1),new n("eim",35,4),new n("jeim",38,1),new n("áim",35,2),new n("éim",35,3)],W=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,52,14],L=new r;this.setCurrent=function(e){L.setCurrent(e)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){var n=L.cursor;return e(),L.limit_backward=n,L.cursor=L.limit,c(),L.cursor=L.limit,o(),L.cursor=L.limit,w(),L.cursor=L.limit,l(),L.cursor=L.limit,u(),L.cursor=L.limit,k(),L.cursor=L.limit,f(),L.cursor=L.limit,b(),L.cursor=L.limit,m(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.hu.stemmer,"stemmer-hu"),e.hu.stopWordFilter=e.generateStopWordFilter("a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra".split(" ")),e.Pipeline.registerFunction(e.hu.stopWordFilter,"stopWordFilter-hu")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.hy.min.js b/assets/javascripts/lunr/min/lunr.hy.min.js new file mode 100644 index 00000000..b37f7929 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.hy.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z԰-֏ff-ﭏ]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("դու և եք էիր էիք հետո նաև նրանք որը վրա է որ պիտի են այս մեջ ն իր ու ի այդ որոնք այն կամ էր մի ես համար այլ իսկ էին ենք հետ ին թ էինք մենք նրա նա դուք եմ էի ըստ որպես ում".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.it.min.js b/assets/javascripts/lunr/min/lunr.it.min.js new file mode 100644 index 00000000..344b6a3c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.it.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Italian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.it=function(){this.pipeline.reset(),this.pipeline.add(e.it.trimmer,e.it.stopWordFilter,e.it.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.it.stemmer))},e.it.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.it.trimmer=e.trimmerSupport.generateTrimmer(e.it.wordCharacters),e.Pipeline.registerFunction(e.it.trimmer,"trimmer-it"),e.it.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,n){return!(!x.eq_s(1,e)||(x.ket=x.cursor,!x.in_grouping(L,97,249)))&&(x.slice_from(r),x.cursor=n,!0)}function i(){for(var r,n,i,o,t=x.cursor;;){if(x.bra=x.cursor,r=x.find_among(h,7))switch(x.ket=x.cursor,r){case 1:x.slice_from("à");continue;case 2:x.slice_from("è");continue;case 3:x.slice_from("ì");continue;case 4:x.slice_from("ò");continue;case 5:x.slice_from("ù");continue;case 6:x.slice_from("qU");continue;case 7:if(x.cursor>=x.limit)break;x.cursor++;continue}break}for(x.cursor=t;;)for(n=x.cursor;;){if(i=x.cursor,x.in_grouping(L,97,249)){if(x.bra=x.cursor,o=x.cursor,e("u","U",i))break;if(x.cursor=o,e("i","I",i))break}if(x.cursor=i,x.cursor>=x.limit)return void(x.cursor=n);x.cursor++}}function o(e){if(x.cursor=e,!x.in_grouping(L,97,249))return!1;for(;!x.out_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}return!0}function t(){if(x.in_grouping(L,97,249)){var e=x.cursor;if(x.out_grouping(L,97,249)){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return o(e);x.cursor++}return!0}return o(e)}return!1}function s(){var e,r=x.cursor;if(!t()){if(x.cursor=r,!x.out_grouping(L,97,249))return;if(e=x.cursor,x.out_grouping(L,97,249)){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return x.cursor=e,void(x.in_grouping(L,97,249)&&x.cursor=x.limit)return;x.cursor++}k=x.cursor}function a(){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}for(;!x.out_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}return!0}function u(){var e=x.cursor;k=x.limit,p=k,g=k,s(),x.cursor=e,a()&&(p=x.cursor,a()&&(g=x.cursor))}function c(){for(var e;;){if(x.bra=x.cursor,!(e=x.find_among(q,3)))break;switch(x.ket=x.cursor,e){case 1:x.slice_from("i");break;case 2:x.slice_from("u");break;case 3:if(x.cursor>=x.limit)return;x.cursor++}}}function w(){return k<=x.cursor}function l(){return p<=x.cursor}function m(){return g<=x.cursor}function f(){var e;if(x.ket=x.cursor,x.find_among_b(C,37)&&(x.bra=x.cursor,(e=x.find_among_b(z,5))&&w()))switch(e){case 1:x.slice_del();break;case 2:x.slice_from("e")}}function v(){var e;if(x.ket=x.cursor,!(e=x.find_among_b(S,51)))return!1;switch(x.bra=x.cursor,e){case 1:if(!m())return!1;x.slice_del();break;case 2:if(!m())return!1;x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"ic")&&(x.bra=x.cursor,m()&&x.slice_del());break;case 3:if(!m())return!1;x.slice_from("log");break;case 4:if(!m())return!1;x.slice_from("u");break;case 5:if(!m())return!1;x.slice_from("ente");break;case 6:if(!w())return!1;x.slice_del();break;case 7:if(!l())return!1;x.slice_del(),x.ket=x.cursor,e=x.find_among_b(P,4),e&&(x.bra=x.cursor,m()&&(x.slice_del(),1==e&&(x.ket=x.cursor,x.eq_s_b(2,"at")&&(x.bra=x.cursor,m()&&x.slice_del()))));break;case 8:if(!m())return!1;x.slice_del(),x.ket=x.cursor,e=x.find_among_b(F,3),e&&(x.bra=x.cursor,1==e&&m()&&x.slice_del());break;case 9:if(!m())return!1;x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"at")&&(x.bra=x.cursor,m()&&(x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"ic")&&(x.bra=x.cursor,m()&&x.slice_del())))}return!0}function b(){var e,r;x.cursor>=k&&(r=x.limit_backward,x.limit_backward=k,x.ket=x.cursor,e=x.find_among_b(W,87),e&&(x.bra=x.cursor,1==e&&x.slice_del()),x.limit_backward=r)}function d(){var e=x.limit-x.cursor;if(x.ket=x.cursor,x.in_grouping_b(y,97,242)&&(x.bra=x.cursor,w()&&(x.slice_del(),x.ket=x.cursor,x.eq_s_b(1,"i")&&(x.bra=x.cursor,w()))))return void x.slice_del();x.cursor=x.limit-e}function _(){d(),x.ket=x.cursor,x.eq_s_b(1,"h")&&(x.bra=x.cursor,x.in_grouping_b(U,99,103)&&w()&&x.slice_del())}var g,p,k,h=[new r("",-1,7),new r("qu",0,6),new r("á",0,1),new r("é",0,2),new r("í",0,3),new r("ó",0,4),new r("ú",0,5)],q=[new r("",-1,3),new r("I",0,1),new r("U",0,2)],C=[new r("la",-1,-1),new r("cela",0,-1),new r("gliela",0,-1),new r("mela",0,-1),new r("tela",0,-1),new r("vela",0,-1),new r("le",-1,-1),new r("cele",6,-1),new r("gliele",6,-1),new r("mele",6,-1),new r("tele",6,-1),new r("vele",6,-1),new r("ne",-1,-1),new r("cene",12,-1),new r("gliene",12,-1),new r("mene",12,-1),new r("sene",12,-1),new r("tene",12,-1),new r("vene",12,-1),new r("ci",-1,-1),new r("li",-1,-1),new r("celi",20,-1),new r("glieli",20,-1),new r("meli",20,-1),new r("teli",20,-1),new r("veli",20,-1),new r("gli",20,-1),new r("mi",-1,-1),new r("si",-1,-1),new r("ti",-1,-1),new r("vi",-1,-1),new r("lo",-1,-1),new r("celo",31,-1),new r("glielo",31,-1),new r("melo",31,-1),new r("telo",31,-1),new r("velo",31,-1)],z=[new r("ando",-1,1),new r("endo",-1,1),new r("ar",-1,2),new r("er",-1,2),new r("ir",-1,2)],P=[new r("ic",-1,-1),new r("abil",-1,-1),new r("os",-1,-1),new r("iv",-1,1)],F=[new r("ic",-1,1),new r("abil",-1,1),new r("iv",-1,1)],S=[new r("ica",-1,1),new r("logia",-1,3),new r("osa",-1,1),new r("ista",-1,1),new r("iva",-1,9),new r("anza",-1,1),new r("enza",-1,5),new r("ice",-1,1),new r("atrice",7,1),new r("iche",-1,1),new r("logie",-1,3),new r("abile",-1,1),new r("ibile",-1,1),new r("usione",-1,4),new r("azione",-1,2),new r("uzione",-1,4),new r("atore",-1,2),new r("ose",-1,1),new r("ante",-1,1),new r("mente",-1,1),new r("amente",19,7),new r("iste",-1,1),new r("ive",-1,9),new r("anze",-1,1),new r("enze",-1,5),new r("ici",-1,1),new r("atrici",25,1),new r("ichi",-1,1),new r("abili",-1,1),new r("ibili",-1,1),new r("ismi",-1,1),new r("usioni",-1,4),new r("azioni",-1,2),new r("uzioni",-1,4),new r("atori",-1,2),new r("osi",-1,1),new r("anti",-1,1),new r("amenti",-1,6),new r("imenti",-1,6),new r("isti",-1,1),new r("ivi",-1,9),new r("ico",-1,1),new r("ismo",-1,1),new r("oso",-1,1),new r("amento",-1,6),new r("imento",-1,6),new r("ivo",-1,9),new r("ità",-1,8),new r("istà",-1,1),new r("istè",-1,1),new r("istì",-1,1)],W=[new r("isca",-1,1),new r("enda",-1,1),new r("ata",-1,1),new r("ita",-1,1),new r("uta",-1,1),new r("ava",-1,1),new r("eva",-1,1),new r("iva",-1,1),new r("erebbe",-1,1),new r("irebbe",-1,1),new r("isce",-1,1),new r("ende",-1,1),new r("are",-1,1),new r("ere",-1,1),new r("ire",-1,1),new r("asse",-1,1),new r("ate",-1,1),new r("avate",16,1),new r("evate",16,1),new r("ivate",16,1),new r("ete",-1,1),new r("erete",20,1),new r("irete",20,1),new r("ite",-1,1),new r("ereste",-1,1),new r("ireste",-1,1),new r("ute",-1,1),new r("erai",-1,1),new r("irai",-1,1),new r("isci",-1,1),new r("endi",-1,1),new r("erei",-1,1),new r("irei",-1,1),new r("assi",-1,1),new r("ati",-1,1),new r("iti",-1,1),new r("eresti",-1,1),new r("iresti",-1,1),new r("uti",-1,1),new r("avi",-1,1),new r("evi",-1,1),new r("ivi",-1,1),new r("isco",-1,1),new r("ando",-1,1),new r("endo",-1,1),new r("Yamo",-1,1),new r("iamo",-1,1),new r("avamo",-1,1),new r("evamo",-1,1),new r("ivamo",-1,1),new r("eremo",-1,1),new r("iremo",-1,1),new r("assimo",-1,1),new r("ammo",-1,1),new r("emmo",-1,1),new r("eremmo",54,1),new r("iremmo",54,1),new r("immo",-1,1),new r("ano",-1,1),new r("iscano",58,1),new r("avano",58,1),new r("evano",58,1),new r("ivano",58,1),new r("eranno",-1,1),new r("iranno",-1,1),new r("ono",-1,1),new r("iscono",65,1),new r("arono",65,1),new r("erono",65,1),new r("irono",65,1),new r("erebbero",-1,1),new r("irebbero",-1,1),new r("assero",-1,1),new r("essero",-1,1),new r("issero",-1,1),new r("ato",-1,1),new r("ito",-1,1),new r("uto",-1,1),new r("avo",-1,1),new r("evo",-1,1),new r("ivo",-1,1),new r("ar",-1,1),new r("ir",-1,1),new r("erà",-1,1),new r("irà",-1,1),new r("erò",-1,1),new r("irò",-1,1)],L=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],y=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],U=[17],x=new n;this.setCurrent=function(e){x.setCurrent(e)},this.getCurrent=function(){return x.getCurrent()},this.stem=function(){var e=x.cursor;return i(),x.cursor=e,u(),x.limit_backward=e,x.cursor=x.limit,f(),x.cursor=x.limit,v()||(x.cursor=x.limit,b()),x.cursor=x.limit,_(),x.cursor=x.limit_backward,c(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.it.stemmer,"stemmer-it"),e.it.stopWordFilter=e.generateStopWordFilter("a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è".split(" ")),e.Pipeline.registerFunction(e.it.stopWordFilter,"stopWordFilter-it")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ja.min.js b/assets/javascripts/lunr/min/lunr.ja.min.js new file mode 100644 index 00000000..5f254ebe --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ja.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n=C.limit)break;C.cursor++;continue}break}for(C.cursor=o,C.bra=o,C.eq_s(1,"y")?(C.ket=C.cursor,C.slice_from("Y")):C.cursor=o;;)if(e=C.cursor,C.in_grouping(q,97,232)){if(i=C.cursor,C.bra=i,C.eq_s(1,"i"))C.ket=C.cursor,C.in_grouping(q,97,232)&&(C.slice_from("I"),C.cursor=e);else if(C.cursor=i,C.eq_s(1,"y"))C.ket=C.cursor,C.slice_from("Y"),C.cursor=e;else if(n(e))break}else if(n(e))break}function n(r){return C.cursor=r,r>=C.limit||(C.cursor++,!1)}function o(){_=C.limit,d=_,t()||(_=C.cursor,_<3&&(_=3),t()||(d=C.cursor))}function t(){for(;!C.in_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}for(;!C.out_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}return!1}function s(){for(var r;;)if(C.bra=C.cursor,r=C.find_among(p,3))switch(C.ket=C.cursor,r){case 1:C.slice_from("y");break;case 2:C.slice_from("i");break;case 3:if(C.cursor>=C.limit)return;C.cursor++}}function u(){return _<=C.cursor}function c(){return d<=C.cursor}function a(){var r=C.limit-C.cursor;C.find_among_b(g,3)&&(C.cursor=C.limit-r,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del()))}function l(){var r;w=!1,C.ket=C.cursor,C.eq_s_b(1,"e")&&(C.bra=C.cursor,u()&&(r=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-r,C.slice_del(),w=!0,a())))}function m(){var r;u()&&(r=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-r,C.eq_s_b(3,"gem")||(C.cursor=C.limit-r,C.slice_del(),a())))}function f(){var r,e,i,n,o,t,s=C.limit-C.cursor;if(C.ket=C.cursor,r=C.find_among_b(h,5))switch(C.bra=C.cursor,r){case 1:u()&&C.slice_from("heid");break;case 2:m();break;case 3:u()&&C.out_grouping_b(j,97,232)&&C.slice_del()}if(C.cursor=C.limit-s,l(),C.cursor=C.limit-s,C.ket=C.cursor,C.eq_s_b(4,"heid")&&(C.bra=C.cursor,c()&&(e=C.limit-C.cursor,C.eq_s_b(1,"c")||(C.cursor=C.limit-e,C.slice_del(),C.ket=C.cursor,C.eq_s_b(2,"en")&&(C.bra=C.cursor,m())))),C.cursor=C.limit-s,C.ket=C.cursor,r=C.find_among_b(k,6))switch(C.bra=C.cursor,r){case 1:if(c()){if(C.slice_del(),i=C.limit-C.cursor,C.ket=C.cursor,C.eq_s_b(2,"ig")&&(C.bra=C.cursor,c()&&(n=C.limit-C.cursor,!C.eq_s_b(1,"e")))){C.cursor=C.limit-n,C.slice_del();break}C.cursor=C.limit-i,a()}break;case 2:c()&&(o=C.limit-C.cursor,C.eq_s_b(1,"e")||(C.cursor=C.limit-o,C.slice_del()));break;case 3:c()&&(C.slice_del(),l());break;case 4:c()&&C.slice_del();break;case 5:c()&&w&&C.slice_del()}C.cursor=C.limit-s,C.out_grouping_b(z,73,232)&&(t=C.limit-C.cursor,C.find_among_b(v,4)&&C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-t,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del())))}var d,_,w,b=[new e("",-1,6),new e("á",0,1),new e("ä",0,1),new e("é",0,2),new e("ë",0,2),new e("í",0,3),new e("ï",0,3),new e("ó",0,4),new e("ö",0,4),new e("ú",0,5),new e("ü",0,5)],p=[new e("",-1,3),new e("I",0,2),new e("Y",0,1)],g=[new e("dd",-1,-1),new e("kk",-1,-1),new e("tt",-1,-1)],h=[new e("ene",-1,2),new e("se",-1,3),new e("en",-1,2),new e("heden",2,1),new e("s",-1,3)],k=[new e("end",-1,1),new e("ig",-1,2),new e("ing",-1,1),new e("lijk",-1,3),new e("baar",-1,4),new e("bar",-1,5)],v=[new e("aa",-1,-1),new e("ee",-1,-1),new e("oo",-1,-1),new e("uu",-1,-1)],q=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],z=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],j=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],C=new i;this.setCurrent=function(r){C.setCurrent(r)},this.getCurrent=function(){return C.getCurrent()},this.stem=function(){var e=C.cursor;return r(),C.cursor=e,o(),C.limit_backward=e,C.cursor=C.limit,f(),C.cursor=C.limit_backward,s(),!0}};return function(r){return"function"==typeof r.update?r.update(function(r){return n.setCurrent(r),n.stem(),n.getCurrent()}):(n.setCurrent(r),n.stem(),n.getCurrent())}}(),r.Pipeline.registerFunction(r.nl.stemmer,"stemmer-nl"),r.nl.stopWordFilter=r.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),r.Pipeline.registerFunction(r.nl.stopWordFilter,"stopWordFilter-nl")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.no.min.js b/assets/javascripts/lunr/min/lunr.no.min.js new file mode 100644 index 00000000..92bc7e4e --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.no.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Norwegian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,r=w.cursor+3;if(a=w.limit,0<=r||r<=w.limit){for(s=r;;){if(e=w.cursor,w.in_grouping(d,97,248)){w.cursor=e;break}if(e>=w.limit)return;w.cursor=e+1}for(;!w.out_grouping(d,97,248);){if(w.cursor>=w.limit)return;w.cursor++}a=w.cursor,a=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(m,29),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:n=w.limit-w.cursor,w.in_grouping_b(c,98,122)?w.slice_del():(w.cursor=w.limit-n,w.eq_s_b(1,"k")&&w.out_grouping_b(d,97,248)&&w.slice_del());break;case 3:w.slice_from("er")}}function t(){var e,r=w.limit-w.cursor;w.cursor>=a&&(e=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,w.find_among_b(u,2)?(w.bra=w.cursor,w.limit_backward=e,w.cursor=w.limit-r,w.cursor>w.limit_backward&&(w.cursor--,w.bra=w.cursor,w.slice_del())):w.limit_backward=e)}function o(){var e,r;w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(l,11),e?(w.bra=w.cursor,w.limit_backward=r,1==e&&w.slice_del()):w.limit_backward=r)}var s,a,m=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],u=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,i(),w.cursor=w.limit,t(),w.cursor=w.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.pt.min.js b/assets/javascripts/lunr/min/lunr.pt.min.js new file mode 100644 index 00000000..6c16996d --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.pt.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Portuguese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.pt=function(){this.pipeline.reset(),this.pipeline.add(e.pt.trimmer,e.pt.stopWordFilter,e.pt.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.pt.stemmer))},e.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.pt.trimmer=e.trimmerSupport.generateTrimmer(e.pt.wordCharacters),e.Pipeline.registerFunction(e.pt.trimmer,"trimmer-pt"),e.pt.stemmer=function(){var r=e.stemmerSupport.Among,s=e.stemmerSupport.SnowballProgram,n=new function(){function e(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(k,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("a~");continue;case 2:z.slice_from("o~");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function n(){if(z.out_grouping(y,97,250)){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!0;z.cursor++}return!1}return!0}function i(){if(z.in_grouping(y,97,250))for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return g=z.cursor,!0}function o(){var e,r,s=z.cursor;if(z.in_grouping(y,97,250))if(e=z.cursor,n()){if(z.cursor=e,i())return}else g=z.cursor;if(z.cursor=s,z.out_grouping(y,97,250)){if(r=z.cursor,n()){if(z.cursor=r,!z.in_grouping(y,97,250)||z.cursor>=z.limit)return;z.cursor++}g=z.cursor}}function t(){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return!0}function a(){var e=z.cursor;g=z.limit,b=g,h=g,o(),z.cursor=e,t()&&(b=z.cursor,t()&&(h=z.cursor))}function u(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(q,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("ã");continue;case 2:z.slice_from("õ");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function w(){return g<=z.cursor}function m(){return b<=z.cursor}function c(){return h<=z.cursor}function l(){var e;if(z.ket=z.cursor,!(e=z.find_among_b(F,45)))return!1;switch(z.bra=z.cursor,e){case 1:if(!c())return!1;z.slice_del();break;case 2:if(!c())return!1;z.slice_from("log");break;case 3:if(!c())return!1;z.slice_from("u");break;case 4:if(!c())return!1;z.slice_from("ente");break;case 5:if(!m())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(j,4),e&&(z.bra=z.cursor,c()&&(z.slice_del(),1==e&&(z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del()))));break;case 6:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(C,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 7:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(P,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 8:if(!c())return!1;z.slice_del(),z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del());break;case 9:if(!w()||!z.eq_s_b(1,"e"))return!1;z.slice_from("ir")}return!0}function f(){var e,r;if(z.cursor>=g){if(r=z.limit_backward,z.limit_backward=g,z.ket=z.cursor,e=z.find_among_b(S,120))return z.bra=z.cursor,1==e&&z.slice_del(),z.limit_backward=r,!0;z.limit_backward=r}return!1}function d(){var e;z.ket=z.cursor,(e=z.find_among_b(W,7))&&(z.bra=z.cursor,1==e&&w()&&z.slice_del())}function v(e,r){if(z.eq_s_b(1,e)){z.bra=z.cursor;var s=z.limit-z.cursor;if(z.eq_s_b(1,r))return z.cursor=z.limit-s,w()&&z.slice_del(),!1}return!0}function p(){var e;if(z.ket=z.cursor,e=z.find_among_b(L,4))switch(z.bra=z.cursor,e){case 1:w()&&(z.slice_del(),z.ket=z.cursor,z.limit-z.cursor,v("u","g")&&v("i","c"));break;case 2:z.slice_from("c")}}function _(){if(!l()&&(z.cursor=z.limit,!f()))return z.cursor=z.limit,void d();z.cursor=z.limit,z.ket=z.cursor,z.eq_s_b(1,"i")&&(z.bra=z.cursor,z.eq_s_b(1,"c")&&(z.cursor=z.limit,w()&&z.slice_del()))}var h,b,g,k=[new r("",-1,3),new r("ã",0,1),new r("õ",0,2)],q=[new r("",-1,3),new r("a~",0,1),new r("o~",0,2)],j=[new r("ic",-1,-1),new r("ad",-1,-1),new r("os",-1,-1),new r("iv",-1,1)],C=[new r("ante",-1,1),new r("avel",-1,1),new r("ível",-1,1)],P=[new r("ic",-1,1),new r("abil",-1,1),new r("iv",-1,1)],F=[new r("ica",-1,1),new r("ância",-1,1),new r("ência",-1,4),new r("ira",-1,9),new r("adora",-1,1),new r("osa",-1,1),new r("ista",-1,1),new r("iva",-1,8),new r("eza",-1,1),new r("logía",-1,2),new r("idade",-1,7),new r("ante",-1,1),new r("mente",-1,6),new r("amente",12,5),new r("ável",-1,1),new r("ível",-1,1),new r("ución",-1,3),new r("ico",-1,1),new r("ismo",-1,1),new r("oso",-1,1),new r("amento",-1,1),new r("imento",-1,1),new r("ivo",-1,8),new r("aça~o",-1,1),new r("ador",-1,1),new r("icas",-1,1),new r("ências",-1,4),new r("iras",-1,9),new r("adoras",-1,1),new r("osas",-1,1),new r("istas",-1,1),new r("ivas",-1,8),new r("ezas",-1,1),new r("logías",-1,2),new r("idades",-1,7),new r("uciones",-1,3),new r("adores",-1,1),new r("antes",-1,1),new r("aço~es",-1,1),new r("icos",-1,1),new r("ismos",-1,1),new r("osos",-1,1),new r("amentos",-1,1),new r("imentos",-1,1),new r("ivos",-1,8)],S=[new r("ada",-1,1),new r("ida",-1,1),new r("ia",-1,1),new r("aria",2,1),new r("eria",2,1),new r("iria",2,1),new r("ara",-1,1),new r("era",-1,1),new r("ira",-1,1),new r("ava",-1,1),new r("asse",-1,1),new r("esse",-1,1),new r("isse",-1,1),new r("aste",-1,1),new r("este",-1,1),new r("iste",-1,1),new r("ei",-1,1),new r("arei",16,1),new r("erei",16,1),new r("irei",16,1),new r("am",-1,1),new r("iam",20,1),new r("ariam",21,1),new r("eriam",21,1),new r("iriam",21,1),new r("aram",20,1),new r("eram",20,1),new r("iram",20,1),new r("avam",20,1),new r("em",-1,1),new r("arem",29,1),new r("erem",29,1),new r("irem",29,1),new r("assem",29,1),new r("essem",29,1),new r("issem",29,1),new r("ado",-1,1),new r("ido",-1,1),new r("ando",-1,1),new r("endo",-1,1),new r("indo",-1,1),new r("ara~o",-1,1),new r("era~o",-1,1),new r("ira~o",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("ir",-1,1),new r("as",-1,1),new r("adas",47,1),new r("idas",47,1),new r("ias",47,1),new r("arias",50,1),new r("erias",50,1),new r("irias",50,1),new r("aras",47,1),new r("eras",47,1),new r("iras",47,1),new r("avas",47,1),new r("es",-1,1),new r("ardes",58,1),new r("erdes",58,1),new r("irdes",58,1),new r("ares",58,1),new r("eres",58,1),new r("ires",58,1),new r("asses",58,1),new r("esses",58,1),new r("isses",58,1),new r("astes",58,1),new r("estes",58,1),new r("istes",58,1),new r("is",-1,1),new r("ais",71,1),new r("eis",71,1),new r("areis",73,1),new r("ereis",73,1),new r("ireis",73,1),new r("áreis",73,1),new r("éreis",73,1),new r("íreis",73,1),new r("ásseis",73,1),new r("ésseis",73,1),new r("ísseis",73,1),new r("áveis",73,1),new r("íeis",73,1),new r("aríeis",84,1),new r("eríeis",84,1),new r("iríeis",84,1),new r("ados",-1,1),new r("idos",-1,1),new r("amos",-1,1),new r("áramos",90,1),new r("éramos",90,1),new r("íramos",90,1),new r("ávamos",90,1),new r("íamos",90,1),new r("aríamos",95,1),new r("eríamos",95,1),new r("iríamos",95,1),new r("emos",-1,1),new r("aremos",99,1),new r("eremos",99,1),new r("iremos",99,1),new r("ássemos",99,1),new r("êssemos",99,1),new r("íssemos",99,1),new r("imos",-1,1),new r("armos",-1,1),new r("ermos",-1,1),new r("irmos",-1,1),new r("ámos",-1,1),new r("arás",-1,1),new r("erás",-1,1),new r("irás",-1,1),new r("eu",-1,1),new r("iu",-1,1),new r("ou",-1,1),new r("ará",-1,1),new r("erá",-1,1),new r("irá",-1,1)],W=[new r("a",-1,1),new r("i",-1,1),new r("o",-1,1),new r("os",-1,1),new r("á",-1,1),new r("í",-1,1),new r("ó",-1,1)],L=[new r("e",-1,1),new r("ç",-1,2),new r("é",-1,1),new r("ê",-1,1)],y=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],z=new s;this.setCurrent=function(e){z.setCurrent(e)},this.getCurrent=function(){return z.getCurrent()},this.stem=function(){var r=z.cursor;return e(),z.cursor=r,a(),z.limit_backward=r,z.cursor=z.limit,_(),z.cursor=z.limit,p(),z.cursor=z.limit_backward,u(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.pt.stemmer,"stemmer-pt"),e.pt.stopWordFilter=e.generateStopWordFilter("a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" ")),e.Pipeline.registerFunction(e.pt.stopWordFilter,"stopWordFilter-pt")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ro.min.js b/assets/javascripts/lunr/min/lunr.ro.min.js new file mode 100644 index 00000000..72771401 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ro.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Romanian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ro=function(){this.pipeline.reset(),this.pipeline.add(e.ro.trimmer,e.ro.stopWordFilter,e.ro.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ro.stemmer))},e.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.ro.trimmer=e.trimmerSupport.generateTrimmer(e.ro.wordCharacters),e.Pipeline.registerFunction(e.ro.trimmer,"trimmer-ro"),e.ro.stemmer=function(){var i=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,n=new function(){function e(e,i){L.eq_s(1,e)&&(L.ket=L.cursor,L.in_grouping(W,97,259)&&L.slice_from(i))}function n(){for(var i,r;;){if(i=L.cursor,L.in_grouping(W,97,259)&&(r=L.cursor,L.bra=r,e("u","U"),L.cursor=r,e("i","I")),L.cursor=i,L.cursor>=L.limit)break;L.cursor++}}function t(){if(L.out_grouping(W,97,259)){for(;!L.in_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}return!0}function a(){if(L.in_grouping(W,97,259))for(;!L.out_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}function o(){var e,i,r=L.cursor;if(L.in_grouping(W,97,259)){if(e=L.cursor,!t())return void(h=L.cursor);if(L.cursor=e,!a())return void(h=L.cursor)}L.cursor=r,L.out_grouping(W,97,259)&&(i=L.cursor,t()&&(L.cursor=i,L.in_grouping(W,97,259)&&L.cursor=L.limit)return!1;L.cursor++}for(;!L.out_grouping(W,97,259);){if(L.cursor>=L.limit)return!1;L.cursor++}return!0}function c(){var e=L.cursor;h=L.limit,k=h,g=h,o(),L.cursor=e,u()&&(k=L.cursor,u()&&(g=L.cursor))}function s(){for(var e;;){if(L.bra=L.cursor,e=L.find_among(z,3))switch(L.ket=L.cursor,e){case 1:L.slice_from("i");continue;case 2:L.slice_from("u");continue;case 3:if(L.cursor>=L.limit)break;L.cursor++;continue}break}}function w(){return h<=L.cursor}function m(){return k<=L.cursor}function l(){return g<=L.cursor}function f(){var e,i;if(L.ket=L.cursor,(e=L.find_among_b(C,16))&&(L.bra=L.cursor,m()))switch(e){case 1:L.slice_del();break;case 2:L.slice_from("a");break;case 3:L.slice_from("e");break;case 4:L.slice_from("i");break;case 5:i=L.limit-L.cursor,L.eq_s_b(2,"ab")||(L.cursor=L.limit-i,L.slice_from("i"));break;case 6:L.slice_from("at");break;case 7:L.slice_from("aţi")}}function p(){var e,i=L.limit-L.cursor;if(L.ket=L.cursor,(e=L.find_among_b(P,46))&&(L.bra=L.cursor,m())){switch(e){case 1:L.slice_from("abil");break;case 2:L.slice_from("ibil");break;case 3:L.slice_from("iv");break;case 4:L.slice_from("ic");break;case 5:L.slice_from("at");break;case 6:L.slice_from("it")}return _=!0,L.cursor=L.limit-i,!0}return!1}function d(){var e,i;for(_=!1;;)if(i=L.limit-L.cursor,!p()){L.cursor=L.limit-i;break}if(L.ket=L.cursor,(e=L.find_among_b(F,62))&&(L.bra=L.cursor,l())){switch(e){case 1:L.slice_del();break;case 2:L.eq_s_b(1,"ţ")&&(L.bra=L.cursor,L.slice_from("t"));break;case 3:L.slice_from("ist")}_=!0}}function b(){var e,i,r;if(L.cursor>=h){if(i=L.limit_backward,L.limit_backward=h,L.ket=L.cursor,e=L.find_among_b(q,94))switch(L.bra=L.cursor,e){case 1:if(r=L.limit-L.cursor,!L.out_grouping_b(W,97,259)&&(L.cursor=L.limit-r,!L.eq_s_b(1,"u")))break;case 2:L.slice_del()}L.limit_backward=i}}function v(){var e;L.ket=L.cursor,(e=L.find_among_b(S,5))&&(L.bra=L.cursor,w()&&1==e&&L.slice_del())}var _,g,k,h,z=[new i("",-1,3),new i("I",0,1),new i("U",0,2)],C=[new i("ea",-1,3),new i("aţia",-1,7),new i("aua",-1,2),new i("iua",-1,4),new i("aţie",-1,7),new i("ele",-1,3),new i("ile",-1,5),new i("iile",6,4),new i("iei",-1,4),new i("atei",-1,6),new i("ii",-1,4),new i("ului",-1,1),new i("ul",-1,1),new i("elor",-1,3),new i("ilor",-1,4),new i("iilor",14,4)],P=[new i("icala",-1,4),new i("iciva",-1,4),new i("ativa",-1,5),new i("itiva",-1,6),new i("icale",-1,4),new i("aţiune",-1,5),new i("iţiune",-1,6),new i("atoare",-1,5),new i("itoare",-1,6),new i("ătoare",-1,5),new i("icitate",-1,4),new i("abilitate",-1,1),new i("ibilitate",-1,2),new i("ivitate",-1,3),new i("icive",-1,4),new i("ative",-1,5),new i("itive",-1,6),new i("icali",-1,4),new i("atori",-1,5),new i("icatori",18,4),new i("itori",-1,6),new i("ători",-1,5),new i("icitati",-1,4),new i("abilitati",-1,1),new i("ivitati",-1,3),new i("icivi",-1,4),new i("ativi",-1,5),new i("itivi",-1,6),new i("icităi",-1,4),new i("abilităi",-1,1),new i("ivităi",-1,3),new i("icităţi",-1,4),new i("abilităţi",-1,1),new i("ivităţi",-1,3),new i("ical",-1,4),new i("ator",-1,5),new i("icator",35,4),new i("itor",-1,6),new i("ător",-1,5),new i("iciv",-1,4),new i("ativ",-1,5),new i("itiv",-1,6),new i("icală",-1,4),new i("icivă",-1,4),new i("ativă",-1,5),new i("itivă",-1,6)],F=[new i("ica",-1,1),new i("abila",-1,1),new i("ibila",-1,1),new i("oasa",-1,1),new i("ata",-1,1),new i("ita",-1,1),new i("anta",-1,1),new i("ista",-1,3),new i("uta",-1,1),new i("iva",-1,1),new i("ic",-1,1),new i("ice",-1,1),new i("abile",-1,1),new i("ibile",-1,1),new i("isme",-1,3),new i("iune",-1,2),new i("oase",-1,1),new i("ate",-1,1),new i("itate",17,1),new i("ite",-1,1),new i("ante",-1,1),new i("iste",-1,3),new i("ute",-1,1),new i("ive",-1,1),new i("ici",-1,1),new i("abili",-1,1),new i("ibili",-1,1),new i("iuni",-1,2),new i("atori",-1,1),new i("osi",-1,1),new i("ati",-1,1),new i("itati",30,1),new i("iti",-1,1),new i("anti",-1,1),new i("isti",-1,3),new i("uti",-1,1),new i("işti",-1,3),new i("ivi",-1,1),new i("ităi",-1,1),new i("oşi",-1,1),new i("ităţi",-1,1),new i("abil",-1,1),new i("ibil",-1,1),new i("ism",-1,3),new i("ator",-1,1),new i("os",-1,1),new i("at",-1,1),new i("it",-1,1),new i("ant",-1,1),new i("ist",-1,3),new i("ut",-1,1),new i("iv",-1,1),new i("ică",-1,1),new i("abilă",-1,1),new i("ibilă",-1,1),new i("oasă",-1,1),new i("ată",-1,1),new i("ită",-1,1),new i("antă",-1,1),new i("istă",-1,3),new i("ută",-1,1),new i("ivă",-1,1)],q=[new i("ea",-1,1),new i("ia",-1,1),new i("esc",-1,1),new i("ăsc",-1,1),new i("ind",-1,1),new i("ând",-1,1),new i("are",-1,1),new i("ere",-1,1),new i("ire",-1,1),new i("âre",-1,1),new i("se",-1,2),new i("ase",10,1),new i("sese",10,2),new i("ise",10,1),new i("use",10,1),new i("âse",10,1),new i("eşte",-1,1),new i("ăşte",-1,1),new i("eze",-1,1),new i("ai",-1,1),new i("eai",19,1),new i("iai",19,1),new i("sei",-1,2),new i("eşti",-1,1),new i("ăşti",-1,1),new i("ui",-1,1),new i("ezi",-1,1),new i("âi",-1,1),new i("aşi",-1,1),new i("seşi",-1,2),new i("aseşi",29,1),new i("seseşi",29,2),new i("iseşi",29,1),new i("useşi",29,1),new i("âseşi",29,1),new i("işi",-1,1),new i("uşi",-1,1),new i("âşi",-1,1),new i("aţi",-1,2),new i("eaţi",38,1),new i("iaţi",38,1),new i("eţi",-1,2),new i("iţi",-1,2),new i("âţi",-1,2),new i("arăţi",-1,1),new i("serăţi",-1,2),new i("aserăţi",45,1),new i("seserăţi",45,2),new i("iserăţi",45,1),new i("userăţi",45,1),new i("âserăţi",45,1),new i("irăţi",-1,1),new i("urăţi",-1,1),new i("ârăţi",-1,1),new i("am",-1,1),new i("eam",54,1),new i("iam",54,1),new i("em",-1,2),new i("asem",57,1),new i("sesem",57,2),new i("isem",57,1),new i("usem",57,1),new i("âsem",57,1),new i("im",-1,2),new i("âm",-1,2),new i("ăm",-1,2),new i("arăm",65,1),new i("serăm",65,2),new i("aserăm",67,1),new i("seserăm",67,2),new i("iserăm",67,1),new i("userăm",67,1),new i("âserăm",67,1),new i("irăm",65,1),new i("urăm",65,1),new i("ârăm",65,1),new i("au",-1,1),new i("eau",76,1),new i("iau",76,1),new i("indu",-1,1),new i("ându",-1,1),new i("ez",-1,1),new i("ească",-1,1),new i("ară",-1,1),new i("seră",-1,2),new i("aseră",84,1),new i("seseră",84,2),new i("iseră",84,1),new i("useră",84,1),new i("âseră",84,1),new i("iră",-1,1),new i("ură",-1,1),new i("âră",-1,1),new i("ează",-1,1)],S=[new i("a",-1,1),new i("e",-1,1),new i("ie",1,1),new i("i",-1,1),new i("ă",-1,1)],W=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4],L=new r;this.setCurrent=function(e){L.setCurrent(e)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){var e=L.cursor;return n(),L.cursor=e,c(),L.limit_backward=e,L.cursor=L.limit,f(),L.cursor=L.limit,d(),L.cursor=L.limit,_||(L.cursor=L.limit,b(),L.cursor=L.limit),v(),L.cursor=L.limit_backward,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.ro.stemmer,"stemmer-ro"),e.ro.stopWordFilter=e.generateStopWordFilter("acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie".split(" ")),e.Pipeline.registerFunction(e.ro.stopWordFilter,"stopWordFilter-ro")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ru.min.js b/assets/javascripts/lunr/min/lunr.ru.min.js new file mode 100644 index 00000000..186cc485 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ru.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Russian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ru=function(){this.pipeline.reset(),this.pipeline.add(e.ru.trimmer,e.ru.stopWordFilter,e.ru.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ru.stemmer))},e.ru.wordCharacters="Ѐ-҄҇-ԯᴫᵸⷠ-ⷿꙀ-ꚟ︮︯",e.ru.trimmer=e.trimmerSupport.generateTrimmer(e.ru.wordCharacters),e.Pipeline.registerFunction(e.ru.trimmer,"trimmer-ru"),e.ru.stemmer=function(){var n=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,t=new function(){function e(){for(;!W.in_grouping(S,1072,1103);){if(W.cursor>=W.limit)return!1;W.cursor++}return!0}function t(){for(;!W.out_grouping(S,1072,1103);){if(W.cursor>=W.limit)return!1;W.cursor++}return!0}function w(){b=W.limit,_=b,e()&&(b=W.cursor,t()&&e()&&t()&&(_=W.cursor))}function i(){return _<=W.cursor}function u(e,n){var r,t;if(W.ket=W.cursor,r=W.find_among_b(e,n)){switch(W.bra=W.cursor,r){case 1:if(t=W.limit-W.cursor,!W.eq_s_b(1,"а")&&(W.cursor=W.limit-t,!W.eq_s_b(1,"я")))return!1;case 2:W.slice_del()}return!0}return!1}function o(){return u(h,9)}function s(e,n){var r;return W.ket=W.cursor,!!(r=W.find_among_b(e,n))&&(W.bra=W.cursor,1==r&&W.slice_del(),!0)}function c(){return s(g,26)}function m(){return!!c()&&(u(C,8),!0)}function f(){return s(k,2)}function l(){return u(P,46)}function a(){s(v,36)}function p(){var e;W.ket=W.cursor,(e=W.find_among_b(F,2))&&(W.bra=W.cursor,i()&&1==e&&W.slice_del())}function d(){var e;if(W.ket=W.cursor,e=W.find_among_b(q,4))switch(W.bra=W.cursor,e){case 1:if(W.slice_del(),W.ket=W.cursor,!W.eq_s_b(1,"н"))break;W.bra=W.cursor;case 2:if(!W.eq_s_b(1,"н"))break;case 3:W.slice_del()}}var _,b,h=[new n("в",-1,1),new n("ив",0,2),new n("ыв",0,2),new n("вши",-1,1),new n("ивши",3,2),new n("ывши",3,2),new n("вшись",-1,1),new n("ившись",6,2),new n("ывшись",6,2)],g=[new n("ее",-1,1),new n("ие",-1,1),new n("ое",-1,1),new n("ые",-1,1),new n("ими",-1,1),new n("ыми",-1,1),new n("ей",-1,1),new n("ий",-1,1),new n("ой",-1,1),new n("ый",-1,1),new n("ем",-1,1),new n("им",-1,1),new n("ом",-1,1),new n("ым",-1,1),new n("его",-1,1),new n("ого",-1,1),new n("ему",-1,1),new n("ому",-1,1),new n("их",-1,1),new n("ых",-1,1),new n("ею",-1,1),new n("ою",-1,1),new n("ую",-1,1),new n("юю",-1,1),new n("ая",-1,1),new n("яя",-1,1)],C=[new n("ем",-1,1),new n("нн",-1,1),new n("вш",-1,1),new n("ивш",2,2),new n("ывш",2,2),new n("щ",-1,1),new n("ющ",5,1),new n("ующ",6,2)],k=[new n("сь",-1,1),new n("ся",-1,1)],P=[new n("ла",-1,1),new n("ила",0,2),new n("ыла",0,2),new n("на",-1,1),new n("ена",3,2),new n("ете",-1,1),new n("ите",-1,2),new n("йте",-1,1),new n("ейте",7,2),new n("уйте",7,2),new n("ли",-1,1),new n("или",10,2),new n("ыли",10,2),new n("й",-1,1),new n("ей",13,2),new n("уй",13,2),new n("л",-1,1),new n("ил",16,2),new n("ыл",16,2),new n("ем",-1,1),new n("им",-1,2),new n("ым",-1,2),new n("н",-1,1),new n("ен",22,2),new n("ло",-1,1),new n("ило",24,2),new n("ыло",24,2),new n("но",-1,1),new n("ено",27,2),new n("нно",27,1),new n("ет",-1,1),new n("ует",30,2),new n("ит",-1,2),new n("ыт",-1,2),new n("ют",-1,1),new n("уют",34,2),new n("ят",-1,2),new n("ны",-1,1),new n("ены",37,2),new n("ть",-1,1),new n("ить",39,2),new n("ыть",39,2),new n("ешь",-1,1),new n("ишь",-1,2),new n("ю",-1,2),new n("ую",44,2)],v=[new n("а",-1,1),new n("ев",-1,1),new n("ов",-1,1),new n("е",-1,1),new n("ие",3,1),new n("ье",3,1),new n("и",-1,1),new n("еи",6,1),new n("ии",6,1),new n("ами",6,1),new n("ями",6,1),new n("иями",10,1),new n("й",-1,1),new n("ей",12,1),new n("ией",13,1),new n("ий",12,1),new n("ой",12,1),new n("ам",-1,1),new n("ем",-1,1),new n("ием",18,1),new n("ом",-1,1),new n("ям",-1,1),new n("иям",21,1),new n("о",-1,1),new n("у",-1,1),new n("ах",-1,1),new n("ях",-1,1),new n("иях",26,1),new n("ы",-1,1),new n("ь",-1,1),new n("ю",-1,1),new n("ию",30,1),new n("ью",30,1),new n("я",-1,1),new n("ия",33,1),new n("ья",33,1)],F=[new n("ост",-1,1),new n("ость",-1,1)],q=[new n("ейше",-1,1),new n("н",-1,2),new n("ейш",-1,1),new n("ь",-1,3)],S=[33,65,8,232],W=new r;this.setCurrent=function(e){W.setCurrent(e)},this.getCurrent=function(){return W.getCurrent()},this.stem=function(){return w(),W.cursor=W.limit,!(W.cursor=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursors||e>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor>1),f=0,l=o0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.sv.min.js b/assets/javascripts/lunr/min/lunr.sv.min.js new file mode 100644 index 00000000..3e5eb640 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.sv.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Swedish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,t=new function(){function e(){var e,r=w.cursor+3;if(o=w.limit,0<=r||r<=w.limit){for(a=r;;){if(e=w.cursor,w.in_grouping(l,97,246)){w.cursor=e;break}if(w.cursor=e,w.cursor>=w.limit)return;w.cursor++}for(;!w.out_grouping(l,97,246);){if(w.cursor>=w.limit)return;w.cursor++}o=w.cursor,o=o&&(w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(u,37),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.in_grouping_b(d,98,121)&&w.slice_del()}}function i(){var e=w.limit_backward;w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.find_among_b(c,7)&&(w.cursor=w.limit,w.ket=w.cursor,w.cursor>w.limit_backward&&(w.bra=--w.cursor,w.slice_del())),w.limit_backward=e)}function s(){var e,r;if(w.cursor>=o){if(r=w.limit_backward,w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(m,5))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.slice_from("lös");break;case 3:w.slice_from("full")}w.limit_backward=r}}var a,o,u=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],c=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],l=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],d=[119,127,149],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,t(),w.cursor=w.limit,i(),w.cursor=w.limit,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return t.setCurrent(e),t.stem(),t.getCurrent()}):(t.setCurrent(e),t.stem(),t.getCurrent())}}(),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ta.min.js b/assets/javascripts/lunr/min/lunr.ta.min.js new file mode 100644 index 00000000..a644bed2 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ta.min.js @@ -0,0 +1 @@ +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="஀-உஊ-ஏஐ-ஙச-ட஠-னப-யர-ஹ஺-ிீ-௉ொ-௏ௐ-௙௚-௟௠-௩௪-௯௰-௹௺-௿a-zA-Za-zA-Z0-90-9",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("அங்கு அங்கே அது அதை அந்த அவர் அவர்கள் அவள் அவன் அவை ஆக ஆகவே ஆகையால் ஆதலால் ஆதலினால் ஆனாலும் ஆனால் இங்கு இங்கே இது இதை இந்த இப்படி இவர் இவர்கள் இவள் இவன் இவை இவ்வளவு உனக்கு உனது உன் உன்னால் எங்கு எங்கே எது எதை எந்த எப்படி எவர் எவர்கள் எவள் எவன் எவை எவ்வளவு எனக்கு எனது எனவே என் என்ன என்னால் ஏது ஏன் தனது தன்னால் தானே தான் நாங்கள் நாம் நான் நீ நீங்கள்".split(" ")),e.ta.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.ta.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.te.min.js b/assets/javascripts/lunr/min/lunr.te.min.js new file mode 100644 index 00000000..9fa7a93b --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.te.min.js @@ -0,0 +1 @@ +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="ఀ-ఄఅ-ఔక-హా-ౌౕ-ౖౘ-ౚౠ-ౡౢ-ౣ౦-౯౸-౿఼ఽ్ౝ౷౤౥",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("అందరూ అందుబాటులో అడగండి అడగడం అడ్డంగా అనుగుణంగా అనుమతించు అనుమతిస్తుంది అయితే ఇప్పటికే ఉన్నారు ఎక్కడైనా ఎప్పుడు ఎవరైనా ఎవరో ఏ ఏదైనా ఏమైనప్పటికి ఒక ఒకరు కనిపిస్తాయి కాదు కూడా గా గురించి చుట్టూ చేయగలిగింది తగిన తర్వాత దాదాపు దూరంగా నిజంగా పై ప్రకారం ప్రక్కన మధ్య మరియు మరొక మళ్ళీ మాత్రమే మెచ్చుకో వద్ద వెంట వేరుగా వ్యతిరేకంగా సంబంధం".split(" ")),e.te.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.te.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.th.min.js b/assets/javascripts/lunr/min/lunr.th.min.js new file mode 100644 index 00000000..dee3aac6 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.th.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),r?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[฀-๿]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var t=e.wordcut;t.init(),e.th.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t):t});var n=i.toString().replace(/^\s+/,"");return t.cut(n).split("|")}}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.tr.min.js b/assets/javascripts/lunr/min/lunr.tr.min.js new file mode 100644 index 00000000..563f6ec1 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.tr.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Turkish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(r,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(r.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");r.tr=function(){this.pipeline.reset(),this.pipeline.add(r.tr.trimmer,r.tr.stopWordFilter,r.tr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(r.tr.stemmer))},r.tr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.tr.trimmer=r.trimmerSupport.generateTrimmer(r.tr.wordCharacters),r.Pipeline.registerFunction(r.tr.trimmer,"trimmer-tr"),r.tr.stemmer=function(){var i=r.stemmerSupport.Among,e=r.stemmerSupport.SnowballProgram,n=new function(){function r(r,i,e){for(;;){var n=Dr.limit-Dr.cursor;if(Dr.in_grouping_b(r,i,e)){Dr.cursor=Dr.limit-n;break}if(Dr.cursor=Dr.limit-n,Dr.cursor<=Dr.limit_backward)return!1;Dr.cursor--}return!0}function n(){var i,e;i=Dr.limit-Dr.cursor,r(Wr,97,305);for(var n=0;nDr.limit_backward&&(Dr.cursor--,e=Dr.limit-Dr.cursor,i()))?(Dr.cursor=Dr.limit-e,!0):(Dr.cursor=Dr.limit-n,r()?(Dr.cursor=Dr.limit-n,!1):(Dr.cursor=Dr.limit-n,!(Dr.cursor<=Dr.limit_backward)&&(Dr.cursor--,!!i()&&(Dr.cursor=Dr.limit-n,!0))))}function u(r){return t(r,function(){return Dr.in_grouping_b(Wr,97,305)})}function o(){return u(function(){return Dr.eq_s_b(1,"n")})}function s(){return u(function(){return Dr.eq_s_b(1,"s")})}function c(){return u(function(){return Dr.eq_s_b(1,"y")})}function l(){return t(function(){return Dr.in_grouping_b(Lr,105,305)},function(){return Dr.out_grouping_b(Wr,97,305)})}function a(){return Dr.find_among_b(ur,10)&&l()}function m(){return n()&&Dr.in_grouping_b(Lr,105,305)&&s()}function d(){return Dr.find_among_b(or,2)}function f(){return n()&&Dr.in_grouping_b(Lr,105,305)&&c()}function b(){return n()&&Dr.find_among_b(sr,4)}function w(){return n()&&Dr.find_among_b(cr,4)&&o()}function _(){return n()&&Dr.find_among_b(lr,2)&&c()}function k(){return n()&&Dr.find_among_b(ar,2)}function p(){return n()&&Dr.find_among_b(mr,4)}function g(){return n()&&Dr.find_among_b(dr,2)}function y(){return n()&&Dr.find_among_b(fr,4)}function z(){return n()&&Dr.find_among_b(br,2)}function v(){return n()&&Dr.find_among_b(wr,2)&&c()}function h(){return Dr.eq_s_b(2,"ki")}function q(){return n()&&Dr.find_among_b(_r,2)&&o()}function C(){return n()&&Dr.find_among_b(kr,4)&&c()}function P(){return n()&&Dr.find_among_b(pr,4)}function F(){return n()&&Dr.find_among_b(gr,4)&&c()}function S(){return Dr.find_among_b(yr,4)}function W(){return n()&&Dr.find_among_b(zr,2)}function L(){return n()&&Dr.find_among_b(vr,4)}function x(){return n()&&Dr.find_among_b(hr,8)}function A(){return Dr.find_among_b(qr,2)}function E(){return n()&&Dr.find_among_b(Cr,32)&&c()}function j(){return Dr.find_among_b(Pr,8)&&c()}function T(){return n()&&Dr.find_among_b(Fr,4)&&c()}function Z(){return Dr.eq_s_b(3,"ken")&&c()}function B(){var r=Dr.limit-Dr.cursor;return!(T()||(Dr.cursor=Dr.limit-r,E()||(Dr.cursor=Dr.limit-r,j()||(Dr.cursor=Dr.limit-r,Z()))))}function D(){if(A()){var r=Dr.limit-Dr.cursor;if(S()||(Dr.cursor=Dr.limit-r,W()||(Dr.cursor=Dr.limit-r,C()||(Dr.cursor=Dr.limit-r,P()||(Dr.cursor=Dr.limit-r,F()||(Dr.cursor=Dr.limit-r))))),T())return!1}return!0}function G(){if(W()){Dr.bra=Dr.cursor,Dr.slice_del();var r=Dr.limit-Dr.cursor;return Dr.ket=Dr.cursor,x()||(Dr.cursor=Dr.limit-r,E()||(Dr.cursor=Dr.limit-r,j()||(Dr.cursor=Dr.limit-r,T()||(Dr.cursor=Dr.limit-r)))),nr=!1,!1}return!0}function H(){if(!L())return!0;var r=Dr.limit-Dr.cursor;return!E()&&(Dr.cursor=Dr.limit-r,!j())}function I(){var r,i=Dr.limit-Dr.cursor;return!(S()||(Dr.cursor=Dr.limit-i,F()||(Dr.cursor=Dr.limit-i,P()||(Dr.cursor=Dr.limit-i,C()))))||(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,T()||(Dr.cursor=Dr.limit-r),!1)}function J(){var r,i=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,nr=!0,B()&&(Dr.cursor=Dr.limit-i,D()&&(Dr.cursor=Dr.limit-i,G()&&(Dr.cursor=Dr.limit-i,H()&&(Dr.cursor=Dr.limit-i,I()))))){if(Dr.cursor=Dr.limit-i,!x())return;Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,r=Dr.limit-Dr.cursor,S()||(Dr.cursor=Dr.limit-r,W()||(Dr.cursor=Dr.limit-r,C()||(Dr.cursor=Dr.limit-r,P()||(Dr.cursor=Dr.limit-r,F()||(Dr.cursor=Dr.limit-r))))),T()||(Dr.cursor=Dr.limit-r)}Dr.bra=Dr.cursor,Dr.slice_del()}function K(){var r,i,e,n;if(Dr.ket=Dr.cursor,h()){if(r=Dr.limit-Dr.cursor,p())return Dr.bra=Dr.cursor,Dr.slice_del(),i=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,W()?(Dr.bra=Dr.cursor,Dr.slice_del(),K()):(Dr.cursor=Dr.limit-i,a()&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()))),!0;if(Dr.cursor=Dr.limit-r,w()){if(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,e=Dr.limit-Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else{if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,!a()&&(Dr.cursor=Dr.limit-e,!m()&&(Dr.cursor=Dr.limit-e,!K())))return!0;Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())}return!0}if(Dr.cursor=Dr.limit-r,g()){if(n=Dr.limit-Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else if(Dr.cursor=Dr.limit-n,m())Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K());else if(Dr.cursor=Dr.limit-n,!K())return!1;return!0}}return!1}function M(r){if(Dr.ket=Dr.cursor,!g()&&(Dr.cursor=Dr.limit-r,!k()))return!1;var i=Dr.limit-Dr.cursor;if(d())Dr.bra=Dr.cursor,Dr.slice_del();else if(Dr.cursor=Dr.limit-i,m())Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K());else if(Dr.cursor=Dr.limit-i,!K())return!1;return!0}function N(r){if(Dr.ket=Dr.cursor,!z()&&(Dr.cursor=Dr.limit-r,!b()))return!1;var i=Dr.limit-Dr.cursor;return!(!m()&&(Dr.cursor=Dr.limit-i,!d()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()),!0)}function O(){var r,i=Dr.limit-Dr.cursor;return Dr.ket=Dr.cursor,!(!w()&&(Dr.cursor=Dr.limit-i,!v()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,!(!W()||(Dr.bra=Dr.cursor,Dr.slice_del(),!K()))||(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!(a()||(Dr.cursor=Dr.limit-r,m()||(Dr.cursor=Dr.limit-r,K())))||(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()),!0)))}function Q(){var r,i,e=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,!p()&&(Dr.cursor=Dr.limit-e,!f()&&(Dr.cursor=Dr.limit-e,!_())))return!1;if(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,r=Dr.limit-Dr.cursor,a())Dr.bra=Dr.cursor,Dr.slice_del(),i=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,W()||(Dr.cursor=Dr.limit-i);else if(Dr.cursor=Dr.limit-r,!W())return!0;return Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,K(),!0}function R(){var r,i,e=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,W())return Dr.bra=Dr.cursor,Dr.slice_del(),void K();if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,q())if(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else{if(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!a()&&(Dr.cursor=Dr.limit-r,!m())){if(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!W())return;if(Dr.bra=Dr.cursor,Dr.slice_del(),!K())return}Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())}else if(Dr.cursor=Dr.limit-e,!M(e)&&(Dr.cursor=Dr.limit-e,!N(e))){if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,y())return Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,i=Dr.limit-Dr.cursor,void(a()?(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())):(Dr.cursor=Dr.limit-i,W()?(Dr.bra=Dr.cursor,Dr.slice_del(),K()):(Dr.cursor=Dr.limit-i,K())));if(Dr.cursor=Dr.limit-e,!O()){if(Dr.cursor=Dr.limit-e,d())return Dr.bra=Dr.cursor,void Dr.slice_del();Dr.cursor=Dr.limit-e,K()||(Dr.cursor=Dr.limit-e,Q()||(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,(a()||(Dr.cursor=Dr.limit-e,m()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()))))}}}function U(){var r;if(Dr.ket=Dr.cursor,r=Dr.find_among_b(Sr,4))switch(Dr.bra=Dr.cursor,r){case 1:Dr.slice_from("p");break;case 2:Dr.slice_from("ç");break;case 3:Dr.slice_from("t");break;case 4:Dr.slice_from("k")}}function V(){for(;;){var r=Dr.limit-Dr.cursor;if(Dr.in_grouping_b(Wr,97,305)){Dr.cursor=Dr.limit-r;break}if(Dr.cursor=Dr.limit-r,Dr.cursor<=Dr.limit_backward)return!1;Dr.cursor--}return!0}function X(r,i,e){if(Dr.cursor=Dr.limit-r,V()){var n=Dr.limit-Dr.cursor;if(!Dr.eq_s_b(1,i)&&(Dr.cursor=Dr.limit-n,!Dr.eq_s_b(1,e)))return!0;Dr.cursor=Dr.limit-r;var t=Dr.cursor;return Dr.insert(Dr.cursor,Dr.cursor,e),Dr.cursor=t,!1}return!0}function Y(){var r=Dr.limit-Dr.cursor;(Dr.eq_s_b(1,"d")||(Dr.cursor=Dr.limit-r,Dr.eq_s_b(1,"g")))&&X(r,"a","ı")&&X(r,"e","i")&&X(r,"o","u")&&X(r,"ö","ü")}function $(){for(var r,i=Dr.cursor,e=2;;){for(r=Dr.cursor;!Dr.in_grouping(Wr,97,305);){if(Dr.cursor>=Dr.limit)return Dr.cursor=r,!(e>0)&&(Dr.cursor=i,!0);Dr.cursor++}e--}}function rr(r,i,e){for(;!Dr.eq_s(i,e);){if(Dr.cursor>=Dr.limit)return!0;Dr.cursor++}return(tr=i)!=Dr.limit||(Dr.cursor=r,!1)}function ir(){var r=Dr.cursor;return!rr(r,2,"ad")||(Dr.cursor=r,!rr(r,5,"soyad"))}function er(){var r=Dr.cursor;return!ir()&&(Dr.limit_backward=r,Dr.cursor=Dr.limit,Y(),Dr.cursor=Dr.limit,U(),!0)}var nr,tr,ur=[new i("m",-1,-1),new i("n",-1,-1),new i("miz",-1,-1),new i("niz",-1,-1),new i("muz",-1,-1),new i("nuz",-1,-1),new i("müz",-1,-1),new i("nüz",-1,-1),new i("mız",-1,-1),new i("nız",-1,-1)],or=[new i("leri",-1,-1),new i("ları",-1,-1)],sr=[new i("ni",-1,-1),new i("nu",-1,-1),new i("nü",-1,-1),new i("nı",-1,-1)],cr=[new i("in",-1,-1),new i("un",-1,-1),new i("ün",-1,-1),new i("ın",-1,-1)],lr=[new i("a",-1,-1),new i("e",-1,-1)],ar=[new i("na",-1,-1),new i("ne",-1,-1)],mr=[new i("da",-1,-1),new i("ta",-1,-1),new i("de",-1,-1),new i("te",-1,-1)],dr=[new i("nda",-1,-1),new i("nde",-1,-1)],fr=[new i("dan",-1,-1),new i("tan",-1,-1),new i("den",-1,-1),new i("ten",-1,-1)],br=[new i("ndan",-1,-1),new i("nden",-1,-1)],wr=[new i("la",-1,-1),new i("le",-1,-1)],_r=[new i("ca",-1,-1),new i("ce",-1,-1)],kr=[new i("im",-1,-1),new i("um",-1,-1),new i("üm",-1,-1),new i("ım",-1,-1)],pr=[new i("sin",-1,-1),new i("sun",-1,-1),new i("sün",-1,-1),new i("sın",-1,-1)],gr=[new i("iz",-1,-1),new i("uz",-1,-1),new i("üz",-1,-1),new i("ız",-1,-1)],yr=[new i("siniz",-1,-1),new i("sunuz",-1,-1),new i("sünüz",-1,-1),new i("sınız",-1,-1)],zr=[new i("lar",-1,-1),new i("ler",-1,-1)],vr=[new i("niz",-1,-1),new i("nuz",-1,-1),new i("nüz",-1,-1),new i("nız",-1,-1)],hr=[new i("dir",-1,-1),new i("tir",-1,-1),new i("dur",-1,-1),new i("tur",-1,-1),new i("dür",-1,-1),new i("tür",-1,-1),new i("dır",-1,-1),new i("tır",-1,-1)],qr=[new i("casına",-1,-1),new i("cesine",-1,-1)],Cr=[new i("di",-1,-1),new i("ti",-1,-1),new i("dik",-1,-1),new i("tik",-1,-1),new i("duk",-1,-1),new i("tuk",-1,-1),new i("dük",-1,-1),new i("tük",-1,-1),new i("dık",-1,-1),new i("tık",-1,-1),new i("dim",-1,-1),new i("tim",-1,-1),new i("dum",-1,-1),new i("tum",-1,-1),new i("düm",-1,-1),new i("tüm",-1,-1),new i("dım",-1,-1),new i("tım",-1,-1),new i("din",-1,-1),new i("tin",-1,-1),new i("dun",-1,-1),new i("tun",-1,-1),new i("dün",-1,-1),new i("tün",-1,-1),new i("dın",-1,-1),new i("tın",-1,-1),new i("du",-1,-1),new i("tu",-1,-1),new i("dü",-1,-1),new i("tü",-1,-1),new i("dı",-1,-1),new i("tı",-1,-1)],Pr=[new i("sa",-1,-1),new i("se",-1,-1),new i("sak",-1,-1),new i("sek",-1,-1),new i("sam",-1,-1),new i("sem",-1,-1),new i("san",-1,-1),new i("sen",-1,-1)],Fr=[new i("miş",-1,-1),new i("muş",-1,-1),new i("müş",-1,-1),new i("mış",-1,-1)],Sr=[new i("b",-1,1),new i("c",-1,2),new i("d",-1,3),new i("ğ",-1,4)],Wr=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1],Lr=[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1],xr=[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],Ar=[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130],Er=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],jr=[17],Tr=[65],Zr=[65],Br=[["a",xr,97,305],["e",Ar,101,252],["ı",Er,97,305],["i",jr,101,105],["o",Tr,111,117],["ö",Zr,246,252],["u",Tr,111,117]],Dr=new e;this.setCurrent=function(r){Dr.setCurrent(r)},this.getCurrent=function(){return Dr.getCurrent()},this.stem=function(){return!!($()&&(Dr.limit_backward=Dr.cursor,Dr.cursor=Dr.limit,J(),Dr.cursor=Dr.limit,nr&&(R(),Dr.cursor=Dr.limit_backward,er())))}};return function(r){return"function"==typeof r.update?r.update(function(r){return n.setCurrent(r),n.stem(),n.getCurrent()}):(n.setCurrent(r),n.stem(),n.getCurrent())}}(),r.Pipeline.registerFunction(r.tr.stemmer,"stemmer-tr"),r.tr.stopWordFilter=r.generateStopWordFilter("acaba altmış altı ama ancak arada aslında ayrıca bana bazı belki ben benden beni benim beri beş bile bin bir biri birkaç birkez birçok birşey birşeyi biz bizden bize bizi bizim bu buna bunda bundan bunlar bunları bunların bunu bunun burada böyle böylece da daha dahi de defa değil diye diğer doksan dokuz dolayı dolayısıyla dört edecek eden ederek edilecek ediliyor edilmesi ediyor elli en etmesi etti ettiği ettiğini eğer gibi göre halen hangi hatta hem henüz hep hepsi her herhangi herkesin hiç hiçbir iki ile ilgili ise itibaren itibariyle için işte kadar karşın katrilyon kendi kendilerine kendini kendisi kendisine kendisini kez ki kim kimden kime kimi kimse kırk milyar milyon mu mü mı nasıl ne neden nedenle nerde nerede nereye niye niçin o olan olarak oldu olduklarını olduğu olduğunu olmadı olmadığı olmak olması olmayan olmaz olsa olsun olup olur olursa oluyor on ona ondan onlar onlardan onları onların onu onun otuz oysa pek rağmen sadece sanki sekiz seksen sen senden seni senin siz sizden sizi sizin tarafından trilyon tüm var vardı ve veya ya yani yapacak yapmak yaptı yaptıkları yaptığı yaptığını yapılan yapılması yapıyor yedi yerine yetmiş yine yirmi yoksa yüz zaten çok çünkü öyle üzere üç şey şeyden şeyi şeyler şu şuna şunda şundan şunları şunu şöyle".split(" ")),r.Pipeline.registerFunction(r.tr.stopWordFilter,"stopWordFilter-tr")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.vi.min.js b/assets/javascripts/lunr/min/lunr.vi.min.js new file mode 100644 index 00000000..22aed28c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.vi.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.zh.min.js b/assets/javascripts/lunr/min/lunr.zh.min.js new file mode 100644 index 00000000..fda66e9c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.zh.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("@node-rs/jieba")):r()(e.lunr)}(this,function(e){return function(r,t){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==r.version[0];r.zh=function(){this.pipeline.reset(),this.pipeline.add(r.zh.trimmer,r.zh.stopWordFilter,r.zh.stemmer),i?this.tokenizer=r.zh.tokenizer:(r.tokenizer&&(r.tokenizer=r.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=r.zh.tokenizer))},r.zh.tokenizer=function(n){if(!arguments.length||null==n||void 0==n)return[];if(Array.isArray(n))return n.map(function(e){return i?new r.Token(e.toLowerCase()):e.toLowerCase()});t&&e.load(t);var o=n.toString().trim().toLowerCase(),s=[];e.cut(o,!0).forEach(function(e){s=s.concat(e.split(" "))}),s=s.filter(function(e){return!!e});var u=0;return s.map(function(e,t){if(i){var n=o.indexOf(e,u),s={};return s.position=[n,e.length],s.index=t,u=n,new r.Token(e,s)}return e})},r.zh.wordCharacters="\\w一-龥",r.zh.trimmer=r.trimmerSupport.generateTrimmer(r.zh.wordCharacters),r.Pipeline.registerFunction(r.zh.trimmer,"trimmer-zh"),r.zh.stemmer=function(){return function(e){return e}}(),r.Pipeline.registerFunction(r.zh.stemmer,"stemmer-zh"),r.zh.stopWordFilter=r.generateStopWordFilter("的 一 不 在 人 有 是 为 為 以 于 於 上 他 而 后 後 之 来 來 及 了 因 下 可 到 由 这 這 与 與 也 此 但 并 並 个 個 其 已 无 無 小 我 们 們 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 當 从 從 得 打 凡 儿 兒 尔 爾 该 該 各 给 給 跟 和 何 还 還 即 几 幾 既 看 据 據 距 靠 啦 另 么 麽 每 嘛 拿 哪 您 凭 憑 且 却 卻 让 讓 仍 啥 如 若 使 谁 誰 虽 雖 随 隨 同 所 她 哇 嗡 往 些 向 沿 哟 喲 用 咱 则 則 怎 曾 至 致 着 著 诸 諸 自".split(" ")),r.Pipeline.registerFunction(r.zh.stopWordFilter,"stopWordFilter-zh")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/tinyseg.js b/assets/javascripts/lunr/tinyseg.js new file mode 100644 index 00000000..167fa6dd --- /dev/null +++ b/assets/javascripts/lunr/tinyseg.js @@ -0,0 +1,206 @@ +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + + return function(lunr) { + // TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript + // (c) 2008 Taku Kudo + // TinySegmenter is freely distributable under the terms of a new BSD licence. + // For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt + + function TinySegmenter() { + var patterns = { + "[一二三四五六七八九十百千万億兆]":"M", + "[一-龠々〆ヵヶ]":"H", + "[ぁ-ん]":"I", + "[ァ-ヴーア-ン゙ー]":"K", + "[a-zA-Za-zA-Z]":"A", + "[0-90-9]":"N" + } + this.chartype_ = []; + for (var i in patterns) { + var regexp = new RegExp(i); + this.chartype_.push([regexp, patterns[i]]); + } + + this.BIAS__ = -332 + this.BC1__ = {"HH":6,"II":2461,"KH":406,"OH":-1378}; + this.BC2__ = {"AA":-3267,"AI":2744,"AN":-878,"HH":-4070,"HM":-1711,"HN":4012,"HO":3761,"IA":1327,"IH":-1184,"II":-1332,"IK":1721,"IO":5492,"KI":3831,"KK":-8741,"MH":-3132,"MK":3334,"OO":-2920}; + this.BC3__ = {"HH":996,"HI":626,"HK":-721,"HN":-1307,"HO":-836,"IH":-301,"KK":2762,"MK":1079,"MM":4034,"OA":-1652,"OH":266}; + this.BP1__ = {"BB":295,"OB":304,"OO":-125,"UB":352}; + this.BP2__ = {"BO":60,"OO":-1762}; + this.BQ1__ = {"BHH":1150,"BHM":1521,"BII":-1158,"BIM":886,"BMH":1208,"BNH":449,"BOH":-91,"BOO":-2597,"OHI":451,"OIH":-296,"OKA":1851,"OKH":-1020,"OKK":904,"OOO":2965}; + this.BQ2__ = {"BHH":118,"BHI":-1159,"BHM":466,"BIH":-919,"BKK":-1720,"BKO":864,"OHH":-1139,"OHM":-181,"OIH":153,"UHI":-1146}; + this.BQ3__ = {"BHH":-792,"BHI":2664,"BII":-299,"BKI":419,"BMH":937,"BMM":8335,"BNN":998,"BOH":775,"OHH":2174,"OHM":439,"OII":280,"OKH":1798,"OKI":-793,"OKO":-2242,"OMH":-2402,"OOO":11699}; + this.BQ4__ = {"BHH":-3895,"BIH":3761,"BII":-4654,"BIK":1348,"BKK":-1806,"BMI":-3385,"BOO":-12396,"OAH":926,"OHH":266,"OHK":-2036,"ONN":-973}; + this.BW1__ = {",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682}; + this.BW2__ = {"..":-11822,"11":-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669}; + this.BW3__ = {"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1000,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990}; + this.TC1__ = {"AAA":1093,"HHH":1029,"HHM":580,"HII":998,"HOH":-390,"HOM":-331,"IHI":1169,"IOH":-142,"IOI":-1015,"IOM":467,"MMH":187,"OOI":-1832}; + this.TC2__ = {"HHO":2088,"HII":-1023,"HMM":-1154,"IHI":-1965,"KKH":703,"OII":-2649}; + this.TC3__ = {"AAA":-294,"HHH":346,"HHI":-341,"HII":-1088,"HIK":731,"HOH":-1486,"IHH":128,"IHI":-3041,"IHO":-1935,"IIH":-825,"IIM":-1035,"IOI":-542,"KHH":-1216,"KKA":491,"KKH":-1217,"KOK":-1009,"MHH":-2694,"MHM":-457,"MHO":123,"MMH":-471,"NNH":-1689,"NNO":662,"OHO":-3393}; + this.TC4__ = {"HHH":-203,"HHI":1344,"HHK":365,"HHM":-122,"HHN":182,"HHO":669,"HIH":804,"HII":679,"HOH":446,"IHH":695,"IHO":-2324,"IIH":321,"III":1497,"IIO":656,"IOO":54,"KAK":4845,"KKA":3386,"KKK":3065,"MHH":-405,"MHI":201,"MMH":-241,"MMM":661,"MOM":841}; + this.TQ1__ = {"BHHH":-227,"BHHI":316,"BHIH":-132,"BIHH":60,"BIII":1595,"BNHH":-744,"BOHH":225,"BOOO":-908,"OAKK":482,"OHHH":281,"OHIH":249,"OIHI":200,"OIIH":-68}; + this.TQ2__ = {"BIHH":-1401,"BIII":-1033,"BKAK":-543,"BOOO":-5591}; + this.TQ3__ = {"BHHH":478,"BHHM":-1073,"BHIH":222,"BHII":-504,"BIIH":-116,"BIII":-105,"BMHI":-863,"BMHM":-464,"BOMH":620,"OHHH":346,"OHHI":1729,"OHII":997,"OHMH":481,"OIHH":623,"OIIH":1344,"OKAK":2792,"OKHH":587,"OKKA":679,"OOHH":110,"OOII":-685}; + this.TQ4__ = {"BHHH":-721,"BHHM":-3604,"BHII":-966,"BIIH":-607,"BIII":-2181,"OAAA":-2763,"OAKK":180,"OHHH":-294,"OHHI":2446,"OHHO":480,"OHIH":-1573,"OIHH":1935,"OIHI":-493,"OIIH":626,"OIII":-4007,"OKAK":-8156}; + this.TW1__ = {"につい":-4681,"東京都":2026}; + this.TW2__ = {"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216}; + this.TW3__ = {"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287}; + this.TW4__ = {"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865}; + this.UC1__ = {"A":484,"K":93,"M":645,"O":-505}; + this.UC2__ = {"A":819,"H":1059,"I":409,"M":3987,"N":5775,"O":646}; + this.UC3__ = {"A":-1370,"I":2311}; + this.UC4__ = {"A":-2643,"H":1809,"I":-1032,"K":-3450,"M":3565,"N":3876,"O":6646}; + this.UC5__ = {"H":313,"I":-1238,"K":-799,"M":539,"O":-831}; + this.UC6__ = {"H":-506,"I":-253,"K":87,"M":247,"O":-387}; + this.UP1__ = {"O":-214}; + this.UP2__ = {"B":69,"O":935}; + this.UP3__ = {"B":189}; + this.UQ1__ = {"BH":21,"BI":-12,"BK":-99,"BN":142,"BO":-56,"OH":-95,"OI":477,"OK":410,"OO":-2422}; + this.UQ2__ = {"BH":216,"BI":113,"OK":1759}; + this.UQ3__ = {"BA":-479,"BH":42,"BI":1913,"BK":-7198,"BM":3160,"BN":6427,"BO":14761,"OI":-827,"ON":-3212}; + this.UW1__ = {",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135}; + this.UW2__ = {",":-829,"、":-829,"〇":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568}; + this.UW3__ = {",":4889,"1":-800,"−":-1723,"、":4889,"々":-2311,"〇":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"1":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278}; + this.UW4__ = {",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"〇":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1000,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637}; + this.UW5__ = {",":465,".":-299,"1":-514,"E2":-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"1":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343}; + this.UW6__ = {",":227,".":808,"1":-270,"E1":306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"1":-270,"E1":306,"ル":-673,"ン":-496}; + + return this; + } + TinySegmenter.prototype.ctype_ = function(str) { + for (var i in this.chartype_) { + if (str.match(this.chartype_[i][0])) { + return this.chartype_[i][1]; + } + } + return "O"; + } + + TinySegmenter.prototype.ts_ = function(v) { + if (v) { return v; } + return 0; + } + + TinySegmenter.prototype.segment = function(input) { + if (input == null || input == undefined || input == "") { + return []; + } + var result = []; + var seg = ["B3","B2","B1"]; + var ctype = ["O","O","O"]; + var o = input.split(""); + for (i = 0; i < o.length; ++i) { + seg.push(o[i]); + ctype.push(this.ctype_(o[i])) + } + seg.push("E1"); + seg.push("E2"); + seg.push("E3"); + ctype.push("O"); + ctype.push("O"); + ctype.push("O"); + var word = seg[3]; + var p1 = "U"; + var p2 = "U"; + var p3 = "U"; + for (var i = 4; i < seg.length - 3; ++i) { + var score = this.BIAS__; + var w1 = seg[i-3]; + var w2 = seg[i-2]; + var w3 = seg[i-1]; + var w4 = seg[i]; + var w5 = seg[i+1]; + var w6 = seg[i+2]; + var c1 = ctype[i-3]; + var c2 = ctype[i-2]; + var c3 = ctype[i-1]; + var c4 = ctype[i]; + var c5 = ctype[i+1]; + var c6 = ctype[i+2]; + score += this.ts_(this.UP1__[p1]); + score += this.ts_(this.UP2__[p2]); + score += this.ts_(this.UP3__[p3]); + score += this.ts_(this.BP1__[p1 + p2]); + score += this.ts_(this.BP2__[p2 + p3]); + score += this.ts_(this.UW1__[w1]); + score += this.ts_(this.UW2__[w2]); + score += this.ts_(this.UW3__[w3]); + score += this.ts_(this.UW4__[w4]); + score += this.ts_(this.UW5__[w5]); + score += this.ts_(this.UW6__[w6]); + score += this.ts_(this.BW1__[w2 + w3]); + score += this.ts_(this.BW2__[w3 + w4]); + score += this.ts_(this.BW3__[w4 + w5]); + score += this.ts_(this.TW1__[w1 + w2 + w3]); + score += this.ts_(this.TW2__[w2 + w3 + w4]); + score += this.ts_(this.TW3__[w3 + w4 + w5]); + score += this.ts_(this.TW4__[w4 + w5 + w6]); + score += this.ts_(this.UC1__[c1]); + score += this.ts_(this.UC2__[c2]); + score += this.ts_(this.UC3__[c3]); + score += this.ts_(this.UC4__[c4]); + score += this.ts_(this.UC5__[c5]); + score += this.ts_(this.UC6__[c6]); + score += this.ts_(this.BC1__[c2 + c3]); + score += this.ts_(this.BC2__[c3 + c4]); + score += this.ts_(this.BC3__[c4 + c5]); + score += this.ts_(this.TC1__[c1 + c2 + c3]); + score += this.ts_(this.TC2__[c2 + c3 + c4]); + score += this.ts_(this.TC3__[c3 + c4 + c5]); + score += this.ts_(this.TC4__[c4 + c5 + c6]); + // score += this.ts_(this.TC5__[c4 + c5 + c6]); + score += this.ts_(this.UQ1__[p1 + c1]); + score += this.ts_(this.UQ2__[p2 + c2]); + score += this.ts_(this.UQ3__[p3 + c3]); + score += this.ts_(this.BQ1__[p2 + c2 + c3]); + score += this.ts_(this.BQ2__[p2 + c3 + c4]); + score += this.ts_(this.BQ3__[p3 + c2 + c3]); + score += this.ts_(this.BQ4__[p3 + c3 + c4]); + score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]); + score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]); + score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]); + score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]); + var p = "O"; + if (score > 0) { + result.push(word); + word = ""; + p = "B"; + } + p1 = p2; + p2 = p3; + p3 = p; + word += seg[i]; + } + result.push(word); + + return result; + } + + lunr.TinySegmenter = TinySegmenter; + }; + +})); \ No newline at end of file diff --git a/assets/javascripts/lunr/wordcut.js b/assets/javascripts/lunr/wordcut.js new file mode 100644 index 00000000..0d898c9e --- /dev/null +++ b/assets/javascripts/lunr/wordcut.js @@ -0,0 +1,6708 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}(g.lunr || (g.lunr = {})).wordcut = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 1; + }) + this.addWords(words, false) + } + if(finalize){ + this.finalizeDict(); + } + }, + + dictSeek: function (l, r, ch, strOffset, pos) { + var ans = null; + while (l <= r) { + var m = Math.floor((l + r) / 2), + dict_item = this.dict[m], + len = dict_item.length; + if (len <= strOffset) { + l = m + 1; + } else { + var ch_ = dict_item[strOffset]; + if (ch_ < ch) { + l = m + 1; + } else if (ch_ > ch) { + r = m - 1; + } else { + ans = m; + if (pos == LEFT) { + r = m - 1; + } else { + l = m + 1; + } + } + } + } + return ans; + }, + + isFinal: function (acceptor) { + return this.dict[acceptor.l].length == acceptor.strOffset; + }, + + createAcceptor: function () { + return { + l: 0, + r: this.dict.length - 1, + strOffset: 0, + isFinal: false, + dict: this, + transit: function (ch) { + return this.dict.transit(this, ch); + }, + isError: false, + tag: "DICT", + w: 1, + type: "DICT" + }; + }, + + transit: function (acceptor, ch) { + var l = this.dictSeek(acceptor.l, + acceptor.r, + ch, + acceptor.strOffset, + LEFT); + if (l !== null) { + var r = this.dictSeek(l, + acceptor.r, + ch, + acceptor.strOffset, + RIGHT); + acceptor.l = l; + acceptor.r = r; + acceptor.strOffset++; + acceptor.isFinal = this.isFinal(acceptor); + } else { + acceptor.isError = true; + } + return acceptor; + }, + + sortuniq: function(a){ + return a.sort().filter(function(item, pos, arr){ + return !pos || item != arr[pos - 1]; + }) + }, + + flatten: function(a){ + //[[1,2],[3]] -> [1,2,3] + return [].concat.apply([], a); + } +}; +module.exports = WordcutDict; + +}).call(this,"/dist/tmp") +},{"glob":16,"path":22}],3:[function(require,module,exports){ +var WordRule = { + createAcceptor: function(tag) { + if (tag["WORD_RULE"]) + return null; + + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + var lch = ch.toLowerCase(); + if (lch >= "a" && lch <= "z") { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "WORD_RULE", + type: "WORD_RULE", + w: 1}; + } +}; + +var NumberRule = { + createAcceptor: function(tag) { + if (tag["NUMBER_RULE"]) + return null; + + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (ch >= "0" && ch <= "9") { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "NUMBER_RULE", + type: "NUMBER_RULE", + w: 1}; + } +}; + +var SpaceRule = { + tag: "SPACE_RULE", + createAcceptor: function(tag) { + + if (tag["SPACE_RULE"]) + return null; + + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (ch == " " || ch == "\t" || ch == "\r" || ch == "\n" || + ch == "\u00A0" || ch=="\u2003"//nbsp and emsp + ) { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: SpaceRule.tag, + w: 1, + type: "SPACE_RULE"}; + } +} + +var SingleSymbolRule = { + tag: "SINSYM", + createAcceptor: function(tag) { + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (this.strOffset == 0 && ch.match(/^[\@\(\)\/\,\-\."`]$/)) { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "SINSYM", + w: 1, + type: "SINSYM"}; + } +} + + +var LatinRules = [WordRule, SpaceRule, SingleSymbolRule, NumberRule]; + +module.exports = LatinRules; + +},{}],4:[function(require,module,exports){ +var _ = require("underscore") + , WordcutCore = require("./wordcut_core"); +var PathInfoBuilder = { + + /* + buildByPartAcceptors: function(path, acceptors, i) { + var + var genInfos = partAcceptors.reduce(function(genInfos, acceptor) { + + }, []); + + return genInfos; + } + */ + + buildByAcceptors: function(path, finalAcceptors, i) { + var self = this; + var infos = finalAcceptors.map(function(acceptor) { + var p = i - acceptor.strOffset + 1 + , _info = path[p]; + + var info = {p: p, + mw: _info.mw + (acceptor.mw === undefined ? 0 : acceptor.mw), + w: acceptor.w + _info.w, + unk: (acceptor.unk ? acceptor.unk : 0) + _info.unk, + type: acceptor.type}; + + if (acceptor.type == "PART") { + for(var j = p + 1; j <= i; j++) { + path[j].merge = p; + } + info.merge = p; + } + + return info; + }); + return infos.filter(function(info) { return info; }); + }, + + fallback: function(path, leftBoundary, text, i) { + var _info = path[leftBoundary]; + if (text[i].match(/[\u0E48-\u0E4E]/)) { + if (leftBoundary != 0) + leftBoundary = path[leftBoundary].p; + return {p: leftBoundary, + mw: 0, + w: 1 + _info.w, + unk: 1 + _info.unk, + type: "UNK"}; +/* } else if(leftBoundary > 0 && path[leftBoundary].type !== "UNK") { + leftBoundary = path[leftBoundary].p; + return {p: leftBoundary, + w: 1 + _info.w, + unk: 1 + _info.unk, + type: "UNK"}; */ + } else { + return {p: leftBoundary, + mw: _info.mw, + w: 1 + _info.w, + unk: 1 + _info.unk, + type: "UNK"}; + } + }, + + build: function(path, finalAcceptors, i, leftBoundary, text) { + var basicPathInfos = this.buildByAcceptors(path, finalAcceptors, i); + if (basicPathInfos.length > 0) { + return basicPathInfos; + } else { + return [this.fallback(path, leftBoundary, text, i)]; + } + } +}; + +module.exports = function() { + return _.clone(PathInfoBuilder); +} + +},{"./wordcut_core":8,"underscore":25}],5:[function(require,module,exports){ +var _ = require("underscore"); + + +var PathSelector = { + selectPath: function(paths) { + var path = paths.reduce(function(selectedPath, path) { + if (selectedPath == null) { + return path; + } else { + if (path.unk < selectedPath.unk) + return path; + if (path.unk == selectedPath.unk) { + if (path.mw < selectedPath.mw) + return path + if (path.mw == selectedPath.mw) { + if (path.w < selectedPath.w) + return path; + } + } + return selectedPath; + } + }, null); + return path; + }, + + createPath: function() { + return [{p:null, w:0, unk:0, type: "INIT", mw:0}]; + } +}; + +module.exports = function() { + return _.clone(PathSelector); +}; + +},{"underscore":25}],6:[function(require,module,exports){ +function isMatch(pat, offset, ch) { + if (pat.length <= offset) + return false; + var _ch = pat[offset]; + return _ch == ch || + (_ch.match(/[กข]/) && ch.match(/[ก-ฮ]/)) || + (_ch.match(/[มบ]/) && ch.match(/[ก-ฮ]/)) || + (_ch.match(/\u0E49/) && ch.match(/[\u0E48-\u0E4B]/)); +} + +var Rule0 = { + pat: "เหก็ม", + createAcceptor: function(tag) { + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (isMatch(Rule0.pat, this.strOffset,ch)) { + this.isFinal = (this.strOffset + 1 == Rule0.pat.length); + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "THAI_RULE", + type: "THAI_RULE", + w: 1}; + } +}; + +var PartRule = { + createAcceptor: function(tag) { + return {strOffset: 0, + patterns: [ + "แก", "เก", "ก้", "กก์", "กา", "กี", "กิ", "กืก" + ], + isFinal: false, + transit: function(ch) { + var offset = this.strOffset; + this.patterns = this.patterns.filter(function(pat) { + return isMatch(pat, offset, ch); + }); + + if (this.patterns.length > 0) { + var len = 1 + offset; + this.isFinal = this.patterns.some(function(pat) { + return pat.length == len; + }); + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "PART", + type: "PART", + unk: 1, + w: 1}; + } +}; + +var ThaiRules = [Rule0, PartRule]; + +module.exports = ThaiRules; + +},{}],7:[function(require,module,exports){ +var sys = require("sys") + , WordcutDict = require("./dict") + , WordcutCore = require("./wordcut_core") + , PathInfoBuilder = require("./path_info_builder") + , PathSelector = require("./path_selector") + , Acceptors = require("./acceptors") + , latinRules = require("./latin_rules") + , thaiRules = require("./thai_rules") + , _ = require("underscore"); + + +var Wordcut = Object.create(WordcutCore); +Wordcut.defaultPathInfoBuilder = PathInfoBuilder; +Wordcut.defaultPathSelector = PathSelector; +Wordcut.defaultAcceptors = Acceptors; +Wordcut.defaultLatinRules = latinRules; +Wordcut.defaultThaiRules = thaiRules; +Wordcut.defaultDict = WordcutDict; + + +Wordcut.initNoDict = function(dict_path) { + var self = this; + self.pathInfoBuilder = new self.defaultPathInfoBuilder; + self.pathSelector = new self.defaultPathSelector; + self.acceptors = new self.defaultAcceptors; + self.defaultLatinRules.forEach(function(rule) { + self.acceptors.creators.push(rule); + }); + self.defaultThaiRules.forEach(function(rule) { + self.acceptors.creators.push(rule); + }); +}; + +Wordcut.init = function(dict_path, withDefault, additionalWords) { + withDefault = withDefault || false; + this.initNoDict(); + var dict = _.clone(this.defaultDict); + dict.init(dict_path, withDefault, additionalWords); + this.acceptors.creators.push(dict); +}; + +module.exports = Wordcut; + +},{"./acceptors":1,"./dict":2,"./latin_rules":3,"./path_info_builder":4,"./path_selector":5,"./thai_rules":6,"./wordcut_core":8,"sys":28,"underscore":25}],8:[function(require,module,exports){ +var WordcutCore = { + + buildPath: function(text) { + var self = this + , path = self.pathSelector.createPath() + , leftBoundary = 0; + self.acceptors.reset(); + for (var i = 0; i < text.length; i++) { + var ch = text[i]; + self.acceptors.transit(ch); + + var possiblePathInfos = self + .pathInfoBuilder + .build(path, + self.acceptors.getFinalAcceptors(), + i, + leftBoundary, + text); + var selectedPath = self.pathSelector.selectPath(possiblePathInfos) + + path.push(selectedPath); + if (selectedPath.type !== "UNK") { + leftBoundary = i; + } + } + return path; + }, + + pathToRanges: function(path) { + var e = path.length - 1 + , ranges = []; + + while (e > 0) { + var info = path[e] + , s = info.p; + + if (info.merge !== undefined && ranges.length > 0) { + var r = ranges[ranges.length - 1]; + r.s = info.merge; + s = r.s; + } else { + ranges.push({s:s, e:e}); + } + e = s; + } + return ranges.reverse(); + }, + + rangesToText: function(text, ranges, delimiter) { + return ranges.map(function(r) { + return text.substring(r.s, r.e); + }).join(delimiter); + }, + + cut: function(text, delimiter) { + var path = this.buildPath(text) + , ranges = this.pathToRanges(path); + return this + .rangesToText(text, ranges, + (delimiter === undefined ? "|" : delimiter)); + }, + + cutIntoRanges: function(text, noText) { + var path = this.buildPath(text) + , ranges = this.pathToRanges(path); + + if (!noText) { + ranges.forEach(function(r) { + r.text = text.substring(r.s, r.e); + }); + } + return ranges; + }, + + cutIntoArray: function(text) { + var path = this.buildPath(text) + , ranges = this.pathToRanges(path); + + return ranges.map(function(r) { + return text.substring(r.s, r.e) + }); + } +}; + +module.exports = WordcutCore; + +},{}],9:[function(require,module,exports){ +// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 +// +// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! +// +// Originally from narwhal.js (http://narwhaljs.org) +// Copyright (c) 2009 Thomas Robinson <280north.com> +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the 'Software'), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +// when used in node, this will actually load the util module we depend on +// versus loading the builtin util module as happens otherwise +// this is a bug in node module loading as far as I am concerned +var util = require('util/'); + +var pSlice = Array.prototype.slice; +var hasOwn = Object.prototype.hasOwnProperty; + +// 1. The assert module provides functions that throw +// AssertionError's when particular conditions are not met. The +// assert module must conform to the following interface. + +var assert = module.exports = ok; + +// 2. The AssertionError is defined in assert. +// new assert.AssertionError({ message: message, +// actual: actual, +// expected: expected }) + +assert.AssertionError = function AssertionError(options) { + this.name = 'AssertionError'; + this.actual = options.actual; + this.expected = options.expected; + this.operator = options.operator; + if (options.message) { + this.message = options.message; + this.generatedMessage = false; + } else { + this.message = getMessage(this); + this.generatedMessage = true; + } + var stackStartFunction = options.stackStartFunction || fail; + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, stackStartFunction); + } + else { + // non v8 browsers so we can have a stacktrace + var err = new Error(); + if (err.stack) { + var out = err.stack; + + // try to strip useless frames + var fn_name = stackStartFunction.name; + var idx = out.indexOf('\n' + fn_name); + if (idx >= 0) { + // once we have located the function frame + // we need to strip out everything before it (and its line) + var next_line = out.indexOf('\n', idx + 1); + out = out.substring(next_line + 1); + } + + this.stack = out; + } + } +}; + +// assert.AssertionError instanceof Error +util.inherits(assert.AssertionError, Error); + +function replacer(key, value) { + if (util.isUndefined(value)) { + return '' + value; + } + if (util.isNumber(value) && !isFinite(value)) { + return value.toString(); + } + if (util.isFunction(value) || util.isRegExp(value)) { + return value.toString(); + } + return value; +} + +function truncate(s, n) { + if (util.isString(s)) { + return s.length < n ? s : s.slice(0, n); + } else { + return s; + } +} + +function getMessage(self) { + return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' + + self.operator + ' ' + + truncate(JSON.stringify(self.expected, replacer), 128); +} + +// At present only the three keys mentioned above are used and +// understood by the spec. Implementations or sub modules can pass +// other keys to the AssertionError's constructor - they will be +// ignored. + +// 3. All of the following functions must throw an AssertionError +// when a corresponding condition is not met, with a message that +// may be undefined if not provided. All assertion methods provide +// both the actual and expected values to the assertion error for +// display purposes. + +function fail(actual, expected, message, operator, stackStartFunction) { + throw new assert.AssertionError({ + message: message, + actual: actual, + expected: expected, + operator: operator, + stackStartFunction: stackStartFunction + }); +} + +// EXTENSION! allows for well behaved errors defined elsewhere. +assert.fail = fail; + +// 4. Pure assertion tests whether a value is truthy, as determined +// by !!guard. +// assert.ok(guard, message_opt); +// This statement is equivalent to assert.equal(true, !!guard, +// message_opt);. To test strictly for the value true, use +// assert.strictEqual(true, guard, message_opt);. + +function ok(value, message) { + if (!value) fail(value, true, message, '==', assert.ok); +} +assert.ok = ok; + +// 5. The equality assertion tests shallow, coercive equality with +// ==. +// assert.equal(actual, expected, message_opt); + +assert.equal = function equal(actual, expected, message) { + if (actual != expected) fail(actual, expected, message, '==', assert.equal); +}; + +// 6. The non-equality assertion tests for whether two objects are not equal +// with != assert.notEqual(actual, expected, message_opt); + +assert.notEqual = function notEqual(actual, expected, message) { + if (actual == expected) { + fail(actual, expected, message, '!=', assert.notEqual); + } +}; + +// 7. The equivalence assertion tests a deep equality relation. +// assert.deepEqual(actual, expected, message_opt); + +assert.deepEqual = function deepEqual(actual, expected, message) { + if (!_deepEqual(actual, expected)) { + fail(actual, expected, message, 'deepEqual', assert.deepEqual); + } +}; + +function _deepEqual(actual, expected) { + // 7.1. All identical values are equivalent, as determined by ===. + if (actual === expected) { + return true; + + } else if (util.isBuffer(actual) && util.isBuffer(expected)) { + if (actual.length != expected.length) return false; + + for (var i = 0; i < actual.length; i++) { + if (actual[i] !== expected[i]) return false; + } + + return true; + + // 7.2. If the expected value is a Date object, the actual value is + // equivalent if it is also a Date object that refers to the same time. + } else if (util.isDate(actual) && util.isDate(expected)) { + return actual.getTime() === expected.getTime(); + + // 7.3 If the expected value is a RegExp object, the actual value is + // equivalent if it is also a RegExp object with the same source and + // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). + } else if (util.isRegExp(actual) && util.isRegExp(expected)) { + return actual.source === expected.source && + actual.global === expected.global && + actual.multiline === expected.multiline && + actual.lastIndex === expected.lastIndex && + actual.ignoreCase === expected.ignoreCase; + + // 7.4. Other pairs that do not both pass typeof value == 'object', + // equivalence is determined by ==. + } else if (!util.isObject(actual) && !util.isObject(expected)) { + return actual == expected; + + // 7.5 For all other Object pairs, including Array objects, equivalence is + // determined by having the same number of owned properties (as verified + // with Object.prototype.hasOwnProperty.call), the same set of keys + // (although not necessarily the same order), equivalent values for every + // corresponding key, and an identical 'prototype' property. Note: this + // accounts for both named and indexed properties on Arrays. + } else { + return objEquiv(actual, expected); + } +} + +function isArguments(object) { + return Object.prototype.toString.call(object) == '[object Arguments]'; +} + +function objEquiv(a, b) { + if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b)) + return false; + // an identical 'prototype' property. + if (a.prototype !== b.prototype) return false; + // if one is a primitive, the other must be same + if (util.isPrimitive(a) || util.isPrimitive(b)) { + return a === b; + } + var aIsArgs = isArguments(a), + bIsArgs = isArguments(b); + if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs)) + return false; + if (aIsArgs) { + a = pSlice.call(a); + b = pSlice.call(b); + return _deepEqual(a, b); + } + var ka = objectKeys(a), + kb = objectKeys(b), + key, i; + // having the same number of owned properties (keys incorporates + // hasOwnProperty) + if (ka.length != kb.length) + return false; + //the same set of keys (although not necessarily the same order), + ka.sort(); + kb.sort(); + //~~~cheap key test + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] != kb[i]) + return false; + } + //equivalent values for every corresponding key, and + //~~~possibly expensive deep test + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!_deepEqual(a[key], b[key])) return false; + } + return true; +} + +// 8. The non-equivalence assertion tests for any deep inequality. +// assert.notDeepEqual(actual, expected, message_opt); + +assert.notDeepEqual = function notDeepEqual(actual, expected, message) { + if (_deepEqual(actual, expected)) { + fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); + } +}; + +// 9. The strict equality assertion tests strict equality, as determined by ===. +// assert.strictEqual(actual, expected, message_opt); + +assert.strictEqual = function strictEqual(actual, expected, message) { + if (actual !== expected) { + fail(actual, expected, message, '===', assert.strictEqual); + } +}; + +// 10. The strict non-equality assertion tests for strict inequality, as +// determined by !==. assert.notStrictEqual(actual, expected, message_opt); + +assert.notStrictEqual = function notStrictEqual(actual, expected, message) { + if (actual === expected) { + fail(actual, expected, message, '!==', assert.notStrictEqual); + } +}; + +function expectedException(actual, expected) { + if (!actual || !expected) { + return false; + } + + if (Object.prototype.toString.call(expected) == '[object RegExp]') { + return expected.test(actual); + } else if (actual instanceof expected) { + return true; + } else if (expected.call({}, actual) === true) { + return true; + } + + return false; +} + +function _throws(shouldThrow, block, expected, message) { + var actual; + + if (util.isString(expected)) { + message = expected; + expected = null; + } + + try { + block(); + } catch (e) { + actual = e; + } + + message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + + (message ? ' ' + message : '.'); + + if (shouldThrow && !actual) { + fail(actual, expected, 'Missing expected exception' + message); + } + + if (!shouldThrow && expectedException(actual, expected)) { + fail(actual, expected, 'Got unwanted exception' + message); + } + + if ((shouldThrow && actual && expected && + !expectedException(actual, expected)) || (!shouldThrow && actual)) { + throw actual; + } +} + +// 11. Expected to throw an error: +// assert.throws(block, Error_opt, message_opt); + +assert.throws = function(block, /*optional*/error, /*optional*/message) { + _throws.apply(this, [true].concat(pSlice.call(arguments))); +}; + +// EXTENSION! This is annoying to write outside this module. +assert.doesNotThrow = function(block, /*optional*/message) { + _throws.apply(this, [false].concat(pSlice.call(arguments))); +}; + +assert.ifError = function(err) { if (err) {throw err;}}; + +var objectKeys = Object.keys || function (obj) { + var keys = []; + for (var key in obj) { + if (hasOwn.call(obj, key)) keys.push(key); + } + return keys; +}; + +},{"util/":28}],10:[function(require,module,exports){ +'use strict'; +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + +},{}],11:[function(require,module,exports){ +var concatMap = require('concat-map'); +var balanced = require('balanced-match'); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function identity(e) { + return e; +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + + +},{"balanced-match":10,"concat-map":13}],12:[function(require,module,exports){ + +},{}],13:[function(require,module,exports){ +module.exports = function (xs, fn) { + var res = []; + for (var i = 0; i < xs.length; i++) { + var x = fn(xs[i], i); + if (isArray(x)) res.push.apply(res, x); + else res.push(x); + } + return res; +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; + +},{}],14:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +function EventEmitter() { + this._events = this._events || {}; + this._maxListeners = this._maxListeners || undefined; +} +module.exports = EventEmitter; + +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; + +EventEmitter.prototype._events = undefined; +EventEmitter.prototype._maxListeners = undefined; + +// By default EventEmitters will print a warning if more than 10 listeners are +// added to it. This is a useful default which helps finding memory leaks. +EventEmitter.defaultMaxListeners = 10; + +// Obviously not all Emitters should be limited to 10. This function allows +// that to be increased. Set to zero for unlimited. +EventEmitter.prototype.setMaxListeners = function(n) { + if (!isNumber(n) || n < 0 || isNaN(n)) + throw TypeError('n must be a positive number'); + this._maxListeners = n; + return this; +}; + +EventEmitter.prototype.emit = function(type) { + var er, handler, len, args, i, listeners; + + if (!this._events) + this._events = {}; + + // If there is no 'error' event listener then throw. + if (type === 'error') { + if (!this._events.error || + (isObject(this._events.error) && !this._events.error.length)) { + er = arguments[1]; + if (er instanceof Error) { + throw er; // Unhandled 'error' event + } + throw TypeError('Uncaught, unspecified "error" event.'); + } + } + + handler = this._events[type]; + + if (isUndefined(handler)) + return false; + + if (isFunction(handler)) { + switch (arguments.length) { + // fast cases + case 1: + handler.call(this); + break; + case 2: + handler.call(this, arguments[1]); + break; + case 3: + handler.call(this, arguments[1], arguments[2]); + break; + // slower + default: + len = arguments.length; + args = new Array(len - 1); + for (i = 1; i < len; i++) + args[i - 1] = arguments[i]; + handler.apply(this, args); + } + } else if (isObject(handler)) { + len = arguments.length; + args = new Array(len - 1); + for (i = 1; i < len; i++) + args[i - 1] = arguments[i]; + + listeners = handler.slice(); + len = listeners.length; + for (i = 0; i < len; i++) + listeners[i].apply(this, args); + } + + return true; +}; + +EventEmitter.prototype.addListener = function(type, listener) { + var m; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events) + this._events = {}; + + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (this._events.newListener) + this.emit('newListener', type, + isFunction(listener.listener) ? + listener.listener : listener); + + if (!this._events[type]) + // Optimize the case of one listener. Don't need the extra array object. + this._events[type] = listener; + else if (isObject(this._events[type])) + // If we've already got an array, just append. + this._events[type].push(listener); + else + // Adding the second element, need to change to array. + this._events[type] = [this._events[type], listener]; + + // Check for listener leak + if (isObject(this._events[type]) && !this._events[type].warned) { + var m; + if (!isUndefined(this._maxListeners)) { + m = this._maxListeners; + } else { + m = EventEmitter.defaultMaxListeners; + } + + if (m && m > 0 && this._events[type].length > m) { + this._events[type].warned = true; + console.error('(node) warning: possible EventEmitter memory ' + + 'leak detected. %d listeners added. ' + + 'Use emitter.setMaxListeners() to increase limit.', + this._events[type].length); + if (typeof console.trace === 'function') { + // not supported in IE 10 + console.trace(); + } + } + } + + return this; +}; + +EventEmitter.prototype.on = EventEmitter.prototype.addListener; + +EventEmitter.prototype.once = function(type, listener) { + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + var fired = false; + + function g() { + this.removeListener(type, g); + + if (!fired) { + fired = true; + listener.apply(this, arguments); + } + } + + g.listener = listener; + this.on(type, g); + + return this; +}; + +// emits a 'removeListener' event iff the listener was removed +EventEmitter.prototype.removeListener = function(type, listener) { + var list, position, length, i; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events || !this._events[type]) + return this; + + list = this._events[type]; + length = list.length; + position = -1; + + if (list === listener || + (isFunction(list.listener) && list.listener === listener)) { + delete this._events[type]; + if (this._events.removeListener) + this.emit('removeListener', type, listener); + + } else if (isObject(list)) { + for (i = length; i-- > 0;) { + if (list[i] === listener || + (list[i].listener && list[i].listener === listener)) { + position = i; + break; + } + } + + if (position < 0) + return this; + + if (list.length === 1) { + list.length = 0; + delete this._events[type]; + } else { + list.splice(position, 1); + } + + if (this._events.removeListener) + this.emit('removeListener', type, listener); + } + + return this; +}; + +EventEmitter.prototype.removeAllListeners = function(type) { + var key, listeners; + + if (!this._events) + return this; + + // not listening for removeListener, no need to emit + if (!this._events.removeListener) { + if (arguments.length === 0) + this._events = {}; + else if (this._events[type]) + delete this._events[type]; + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + for (key in this._events) { + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = {}; + return this; + } + + listeners = this._events[type]; + + if (isFunction(listeners)) { + this.removeListener(type, listeners); + } else { + // LIFO order + while (listeners.length) + this.removeListener(type, listeners[listeners.length - 1]); + } + delete this._events[type]; + + return this; +}; + +EventEmitter.prototype.listeners = function(type) { + var ret; + if (!this._events || !this._events[type]) + ret = []; + else if (isFunction(this._events[type])) + ret = [this._events[type]]; + else + ret = this._events[type].slice(); + return ret; +}; + +EventEmitter.listenerCount = function(emitter, type) { + var ret; + if (!emitter._events || !emitter._events[type]) + ret = 0; + else if (isFunction(emitter._events[type])) + ret = 1; + else + ret = emitter._events[type].length; + return ret; +}; + +function isFunction(arg) { + return typeof arg === 'function'; +} + +function isNumber(arg) { + return typeof arg === 'number'; +} + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} + +function isUndefined(arg) { + return arg === void 0; +} + +},{}],15:[function(require,module,exports){ +(function (process){ +exports.alphasort = alphasort +exports.alphasorti = alphasorti +exports.setopts = setopts +exports.ownProp = ownProp +exports.makeAbs = makeAbs +exports.finish = finish +exports.mark = mark +exports.isIgnored = isIgnored +exports.childrenIgnored = childrenIgnored + +function ownProp (obj, field) { + return Object.prototype.hasOwnProperty.call(obj, field) +} + +var path = require("path") +var minimatch = require("minimatch") +var isAbsolute = require("path-is-absolute") +var Minimatch = minimatch.Minimatch + +function alphasorti (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()) +} + +function alphasort (a, b) { + return a.localeCompare(b) +} + +function setupIgnores (self, options) { + self.ignore = options.ignore || [] + + if (!Array.isArray(self.ignore)) + self.ignore = [self.ignore] + + if (self.ignore.length) { + self.ignore = self.ignore.map(ignoreMap) + } +} + +function ignoreMap (pattern) { + var gmatcher = null + if (pattern.slice(-3) === '/**') { + var gpattern = pattern.replace(/(\/\*\*)+$/, '') + gmatcher = new Minimatch(gpattern) + } + + return { + matcher: new Minimatch(pattern), + gmatcher: gmatcher + } +} + +function setopts (self, pattern, options) { + if (!options) + options = {} + + // base-matching: just use globstar for that. + if (options.matchBase && -1 === pattern.indexOf("/")) { + if (options.noglobstar) { + throw new Error("base matching requires globstar") + } + pattern = "**/" + pattern + } + + self.silent = !!options.silent + self.pattern = pattern + self.strict = options.strict !== false + self.realpath = !!options.realpath + self.realpathCache = options.realpathCache || Object.create(null) + self.follow = !!options.follow + self.dot = !!options.dot + self.mark = !!options.mark + self.nodir = !!options.nodir + if (self.nodir) + self.mark = true + self.sync = !!options.sync + self.nounique = !!options.nounique + self.nonull = !!options.nonull + self.nosort = !!options.nosort + self.nocase = !!options.nocase + self.stat = !!options.stat + self.noprocess = !!options.noprocess + + self.maxLength = options.maxLength || Infinity + self.cache = options.cache || Object.create(null) + self.statCache = options.statCache || Object.create(null) + self.symlinks = options.symlinks || Object.create(null) + + setupIgnores(self, options) + + self.changedCwd = false + var cwd = process.cwd() + if (!ownProp(options, "cwd")) + self.cwd = cwd + else { + self.cwd = options.cwd + self.changedCwd = path.resolve(options.cwd) !== cwd + } + + self.root = options.root || path.resolve(self.cwd, "/") + self.root = path.resolve(self.root) + if (process.platform === "win32") + self.root = self.root.replace(/\\/g, "/") + + self.nomount = !!options.nomount + + // disable comments and negation unless the user explicitly + // passes in false as the option. + options.nonegate = options.nonegate === false ? false : true + options.nocomment = options.nocomment === false ? false : true + deprecationWarning(options) + + self.minimatch = new Minimatch(pattern, options) + self.options = self.minimatch.options +} + +// TODO(isaacs): remove entirely in v6 +// exported to reset in tests +exports.deprecationWarned +function deprecationWarning(options) { + if (!options.nonegate || !options.nocomment) { + if (process.noDeprecation !== true && !exports.deprecationWarned) { + var msg = 'glob WARNING: comments and negation will be disabled in v6' + if (process.throwDeprecation) + throw new Error(msg) + else if (process.traceDeprecation) + console.trace(msg) + else + console.error(msg) + + exports.deprecationWarned = true + } + } +} + +function finish (self) { + var nou = self.nounique + var all = nou ? [] : Object.create(null) + + for (var i = 0, l = self.matches.length; i < l; i ++) { + var matches = self.matches[i] + if (!matches || Object.keys(matches).length === 0) { + if (self.nonull) { + // do like the shell, and spit out the literal glob + var literal = self.minimatch.globSet[i] + if (nou) + all.push(literal) + else + all[literal] = true + } + } else { + // had matches + var m = Object.keys(matches) + if (nou) + all.push.apply(all, m) + else + m.forEach(function (m) { + all[m] = true + }) + } + } + + if (!nou) + all = Object.keys(all) + + if (!self.nosort) + all = all.sort(self.nocase ? alphasorti : alphasort) + + // at *some* point we statted all of these + if (self.mark) { + for (var i = 0; i < all.length; i++) { + all[i] = self._mark(all[i]) + } + if (self.nodir) { + all = all.filter(function (e) { + return !(/\/$/.test(e)) + }) + } + } + + if (self.ignore.length) + all = all.filter(function(m) { + return !isIgnored(self, m) + }) + + self.found = all +} + +function mark (self, p) { + var abs = makeAbs(self, p) + var c = self.cache[abs] + var m = p + if (c) { + var isDir = c === 'DIR' || Array.isArray(c) + var slash = p.slice(-1) === '/' + + if (isDir && !slash) + m += '/' + else if (!isDir && slash) + m = m.slice(0, -1) + + if (m !== p) { + var mabs = makeAbs(self, m) + self.statCache[mabs] = self.statCache[abs] + self.cache[mabs] = self.cache[abs] + } + } + + return m +} + +// lotta situps... +function makeAbs (self, f) { + var abs = f + if (f.charAt(0) === '/') { + abs = path.join(self.root, f) + } else if (isAbsolute(f) || f === '') { + abs = f + } else if (self.changedCwd) { + abs = path.resolve(self.cwd, f) + } else { + abs = path.resolve(f) + } + return abs +} + + +// Return true, if pattern ends with globstar '**', for the accompanying parent directory. +// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents +function isIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +function childrenIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +}).call(this,require('_process')) +},{"_process":24,"minimatch":20,"path":22,"path-is-absolute":23}],16:[function(require,module,exports){ +(function (process){ +// Approach: +// +// 1. Get the minimatch set +// 2. For each pattern in the set, PROCESS(pattern, false) +// 3. Store matches per-set, then uniq them +// +// PROCESS(pattern, inGlobStar) +// Get the first [n] items from pattern that are all strings +// Join these together. This is PREFIX. +// If there is no more remaining, then stat(PREFIX) and +// add to matches if it succeeds. END. +// +// If inGlobStar and PREFIX is symlink and points to dir +// set ENTRIES = [] +// else readdir(PREFIX) as ENTRIES +// If fail, END +// +// with ENTRIES +// If pattern[n] is GLOBSTAR +// // handle the case where the globstar match is empty +// // by pruning it out, and testing the resulting pattern +// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) +// // handle other cases. +// for ENTRY in ENTRIES (not dotfiles) +// // attach globstar + tail onto the entry +// // Mark that this entry is a globstar match +// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) +// +// else // not globstar +// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) +// Test ENTRY against pattern[n] +// If fails, continue +// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) +// +// Caveat: +// Cache all stats and readdirs results to minimize syscall. Since all +// we ever care about is existence and directory-ness, we can just keep +// `true` for files, and [children,...] for directories, or `false` for +// things that don't exist. + +module.exports = glob + +var fs = require('fs') +var minimatch = require('minimatch') +var Minimatch = minimatch.Minimatch +var inherits = require('inherits') +var EE = require('events').EventEmitter +var path = require('path') +var assert = require('assert') +var isAbsolute = require('path-is-absolute') +var globSync = require('./sync.js') +var common = require('./common.js') +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var inflight = require('inflight') +var util = require('util') +var childrenIgnored = common.childrenIgnored +var isIgnored = common.isIgnored + +var once = require('once') + +function glob (pattern, options, cb) { + if (typeof options === 'function') cb = options, options = {} + if (!options) options = {} + + if (options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return globSync(pattern, options) + } + + return new Glob(pattern, options, cb) +} + +glob.sync = globSync +var GlobSync = glob.GlobSync = globSync.GlobSync + +// old api surface +glob.glob = glob + +glob.hasMagic = function (pattern, options_) { + var options = util._extend({}, options_) + options.noprocess = true + + var g = new Glob(pattern, options) + var set = g.minimatch.set + if (set.length > 1) + return true + + for (var j = 0; j < set[0].length; j++) { + if (typeof set[0][j] !== 'string') + return true + } + + return false +} + +glob.Glob = Glob +inherits(Glob, EE) +function Glob (pattern, options, cb) { + if (typeof options === 'function') { + cb = options + options = null + } + + if (options && options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return new GlobSync(pattern, options) + } + + if (!(this instanceof Glob)) + return new Glob(pattern, options, cb) + + setopts(this, pattern, options) + this._didRealPath = false + + // process each pattern in the minimatch set + var n = this.minimatch.set.length + + // The matches are stored as {: true,...} so that + // duplicates are automagically pruned. + // Later, we do an Object.keys() on these. + // Keep them as a list so we can fill in when nonull is set. + this.matches = new Array(n) + + if (typeof cb === 'function') { + cb = once(cb) + this.on('error', cb) + this.on('end', function (matches) { + cb(null, matches) + }) + } + + var self = this + var n = this.minimatch.set.length + this._processing = 0 + this.matches = new Array(n) + + this._emitQueue = [] + this._processQueue = [] + this.paused = false + + if (this.noprocess) + return this + + if (n === 0) + return done() + + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false, done) + } + + function done () { + --self._processing + if (self._processing <= 0) + self._finish() + } +} + +Glob.prototype._finish = function () { + assert(this instanceof Glob) + if (this.aborted) + return + + if (this.realpath && !this._didRealpath) + return this._realpath() + + common.finish(this) + this.emit('end', this.found) +} + +Glob.prototype._realpath = function () { + if (this._didRealpath) + return + + this._didRealpath = true + + var n = this.matches.length + if (n === 0) + return this._finish() + + var self = this + for (var i = 0; i < this.matches.length; i++) + this._realpathSet(i, next) + + function next () { + if (--n === 0) + self._finish() + } +} + +Glob.prototype._realpathSet = function (index, cb) { + var matchset = this.matches[index] + if (!matchset) + return cb() + + var found = Object.keys(matchset) + var self = this + var n = found.length + + if (n === 0) + return cb() + + var set = this.matches[index] = Object.create(null) + found.forEach(function (p, i) { + // If there's a problem with the stat, then it means that + // one or more of the links in the realpath couldn't be + // resolved. just return the abs value in that case. + p = self._makeAbs(p) + fs.realpath(p, self.realpathCache, function (er, real) { + if (!er) + set[real] = true + else if (er.syscall === 'stat') + set[p] = true + else + self.emit('error', er) // srsly wtf right here + + if (--n === 0) { + self.matches[index] = set + cb() + } + }) + }) +} + +Glob.prototype._mark = function (p) { + return common.mark(this, p) +} + +Glob.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} + +Glob.prototype.abort = function () { + this.aborted = true + this.emit('abort') +} + +Glob.prototype.pause = function () { + if (!this.paused) { + this.paused = true + this.emit('pause') + } +} + +Glob.prototype.resume = function () { + if (this.paused) { + this.emit('resume') + this.paused = false + if (this._emitQueue.length) { + var eq = this._emitQueue.slice(0) + this._emitQueue.length = 0 + for (var i = 0; i < eq.length; i ++) { + var e = eq[i] + this._emitMatch(e[0], e[1]) + } + } + if (this._processQueue.length) { + var pq = this._processQueue.slice(0) + this._processQueue.length = 0 + for (var i = 0; i < pq.length; i ++) { + var p = pq[i] + this._processing-- + this._process(p[0], p[1], p[2], p[3]) + } + } + } +} + +Glob.prototype._process = function (pattern, index, inGlobStar, cb) { + assert(this instanceof Glob) + assert(typeof cb === 'function') + + if (this.aborted) + return + + this._processing++ + if (this.paused) { + this._processQueue.push([pattern, index, inGlobStar, cb]) + return + } + + //console.error('PROCESS %d', this._processing, pattern) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // see if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index, cb) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip _processing + if (childrenIgnored(this, read)) + return cb() + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) +} + +Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + +Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return cb() + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return cb() + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this._emitMatch(index, e) + } + // This was the last one, and no stats were needed + return cb() + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + this._process([e].concat(remain), index, inGlobStar, cb) + } + cb() +} + +Glob.prototype._emitMatch = function (index, e) { + if (this.aborted) + return + + if (this.matches[index][e]) + return + + if (isIgnored(this, e)) + return + + if (this.paused) { + this._emitQueue.push([index, e]) + return + } + + var abs = this._makeAbs(e) + + if (this.nodir) { + var c = this.cache[abs] + if (c === 'DIR' || Array.isArray(c)) + return + } + + if (this.mark) + e = this._mark(e) + + this.matches[index][e] = true + + var st = this.statCache[abs] + if (st) + this.emit('stat', e, st) + + this.emit('match', e) +} + +Glob.prototype._readdirInGlobStar = function (abs, cb) { + if (this.aborted) + return + + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false, cb) + + var lstatkey = 'lstat\0' + abs + var self = this + var lstatcb = inflight(lstatkey, lstatcb_) + + if (lstatcb) + fs.lstat(abs, lstatcb) + + function lstatcb_ (er, lstat) { + if (er) + return cb() + + var isSym = lstat.isSymbolicLink() + self.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && !lstat.isDirectory()) { + self.cache[abs] = 'FILE' + cb() + } else + self._readdir(abs, false, cb) + } +} + +Glob.prototype._readdir = function (abs, inGlobStar, cb) { + if (this.aborted) + return + + cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) + if (!cb) + return + + //console.error('RD %j %j', +inGlobStar, abs) + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs, cb) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return cb() + + if (Array.isArray(c)) + return cb(null, c) + } + + var self = this + fs.readdir(abs, readdirCb(this, abs, cb)) +} + +function readdirCb (self, abs, cb) { + return function (er, entries) { + if (er) + self._readdirError(abs, er, cb) + else + self._readdirEntries(abs, entries, cb) + } +} + +Glob.prototype._readdirEntries = function (abs, entries, cb) { + if (this.aborted) + return + + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + return cb(null, entries) +} + +Glob.prototype._readdirError = function (f, er, cb) { + if (this.aborted) + return + + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + this.cache[this._makeAbs(f)] = 'FILE' + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) { + this.emit('error', er) + // If the error is handled, then we abort + // if not, we threw out of here + this.abort() + } + if (!this.silent) + console.error('glob error', er) + break + } + + return cb() +} + +Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + + +Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + //console.error('pgs2', prefix, remain[0], entries) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return cb() + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false, cb) + + var isSym = this.symlinks[abs] + var len = entries.length + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return cb() + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true, cb) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true, cb) + } + + cb() +} + +Glob.prototype._processSimple = function (prefix, index, cb) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var self = this + this._stat(prefix, function (er, exists) { + self._processSimple2(prefix, index, er, exists, cb) + }) +} +Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { + + //console.error('ps2', prefix, exists) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return cb() + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this._emitMatch(index, prefix) + cb() +} + +// Returns either 'DIR', 'FILE', or false +Glob.prototype._stat = function (f, cb) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return cb() + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return cb(null, c) + + if (needDir && c === 'FILE') + return cb() + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (stat !== undefined) { + if (stat === false) + return cb(null, stat) + else { + var type = stat.isDirectory() ? 'DIR' : 'FILE' + if (needDir && type === 'FILE') + return cb() + else + return cb(null, type, stat) + } + } + + var self = this + var statcb = inflight('stat\0' + abs, lstatcb_) + if (statcb) + fs.lstat(abs, statcb) + + function lstatcb_ (er, lstat) { + if (lstat && lstat.isSymbolicLink()) { + // If it's a symlink, then treat it as the target, unless + // the target does not exist, then treat it as a file. + return fs.stat(abs, function (er, stat) { + if (er) + self._stat2(f, abs, null, lstat, cb) + else + self._stat2(f, abs, er, stat, cb) + }) + } else { + self._stat2(f, abs, er, lstat, cb) + } + } +} + +Glob.prototype._stat2 = function (f, abs, er, stat, cb) { + if (er) { + this.statCache[abs] = false + return cb() + } + + var needDir = f.slice(-1) === '/' + this.statCache[abs] = stat + + if (abs.slice(-1) === '/' && !stat.isDirectory()) + return cb(null, false, stat) + + var c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c + + if (needDir && c !== 'DIR') + return cb() + + return cb(null, c, stat) +} + +}).call(this,require('_process')) +},{"./common.js":15,"./sync.js":17,"_process":24,"assert":9,"events":14,"fs":12,"inflight":18,"inherits":19,"minimatch":20,"once":21,"path":22,"path-is-absolute":23,"util":28}],17:[function(require,module,exports){ +(function (process){ +module.exports = globSync +globSync.GlobSync = GlobSync + +var fs = require('fs') +var minimatch = require('minimatch') +var Minimatch = minimatch.Minimatch +var Glob = require('./glob.js').Glob +var util = require('util') +var path = require('path') +var assert = require('assert') +var isAbsolute = require('path-is-absolute') +var common = require('./common.js') +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var childrenIgnored = common.childrenIgnored + +function globSync (pattern, options) { + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + return new GlobSync(pattern, options).found +} + +function GlobSync (pattern, options) { + if (!pattern) + throw new Error('must provide pattern') + + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + if (!(this instanceof GlobSync)) + return new GlobSync(pattern, options) + + setopts(this, pattern, options) + + if (this.noprocess) + return this + + var n = this.minimatch.set.length + this.matches = new Array(n) + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false) + } + this._finish() +} + +GlobSync.prototype._finish = function () { + assert(this instanceof GlobSync) + if (this.realpath) { + var self = this + this.matches.forEach(function (matchset, index) { + var set = self.matches[index] = Object.create(null) + for (var p in matchset) { + try { + p = self._makeAbs(p) + var real = fs.realpathSync(p, self.realpathCache) + set[real] = true + } catch (er) { + if (er.syscall === 'stat') + set[self._makeAbs(p)] = true + else + throw er + } + } + }) + } + common.finish(this) +} + + +GlobSync.prototype._process = function (pattern, index, inGlobStar) { + assert(this instanceof GlobSync) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // See if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip processing + if (childrenIgnored(this, read)) + return + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar) +} + + +GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { + var entries = this._readdir(abs, inGlobStar) + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix.slice(-1) !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this.matches[index][e] = true + } + // This was the last one, and no stats were needed + return + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) + newPattern = [prefix, e] + else + newPattern = [e] + this._process(newPattern.concat(remain), index, inGlobStar) + } +} + + +GlobSync.prototype._emitMatch = function (index, e) { + var abs = this._makeAbs(e) + if (this.mark) + e = this._mark(e) + + if (this.matches[index][e]) + return + + if (this.nodir) { + var c = this.cache[this._makeAbs(e)] + if (c === 'DIR' || Array.isArray(c)) + return + } + + this.matches[index][e] = true + if (this.stat) + this._stat(e) +} + + +GlobSync.prototype._readdirInGlobStar = function (abs) { + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false) + + var entries + var lstat + var stat + try { + lstat = fs.lstatSync(abs) + } catch (er) { + // lstat failed, doesn't exist + return null + } + + var isSym = lstat.isSymbolicLink() + this.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && !lstat.isDirectory()) + this.cache[abs] = 'FILE' + else + entries = this._readdir(abs, false) + + return entries +} + +GlobSync.prototype._readdir = function (abs, inGlobStar) { + var entries + + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return null + + if (Array.isArray(c)) + return c + } + + try { + return this._readdirEntries(abs, fs.readdirSync(abs)) + } catch (er) { + this._readdirError(abs, er) + return null + } +} + +GlobSync.prototype._readdirEntries = function (abs, entries) { + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + + // mark and cache dir-ness + return entries +} + +GlobSync.prototype._readdirError = function (f, er) { + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + this.cache[this._makeAbs(f)] = 'FILE' + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) + throw er + if (!this.silent) + console.error('glob error', er) + break + } +} + +GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { + + var entries = this._readdir(abs, inGlobStar) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false) + + var len = entries.length + var isSym = this.symlinks[abs] + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true) + } +} + +GlobSync.prototype._processSimple = function (prefix, index) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var exists = this._stat(prefix) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this.matches[index][prefix] = true +} + +// Returns either 'DIR', 'FILE', or false +GlobSync.prototype._stat = function (f) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return false + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return c + + if (needDir && c === 'FILE') + return false + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (!stat) { + var lstat + try { + lstat = fs.lstatSync(abs) + } catch (er) { + return false + } + + if (lstat.isSymbolicLink()) { + try { + stat = fs.statSync(abs) + } catch (er) { + stat = lstat + } + } else { + stat = lstat + } + } + + this.statCache[abs] = stat + + var c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c + + if (needDir && c !== 'DIR') + return false + + return c +} + +GlobSync.prototype._mark = function (p) { + return common.mark(this, p) +} + +GlobSync.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} + +}).call(this,require('_process')) +},{"./common.js":15,"./glob.js":16,"_process":24,"assert":9,"fs":12,"minimatch":20,"path":22,"path-is-absolute":23,"util":28}],18:[function(require,module,exports){ +(function (process){ +var wrappy = require('wrappy') +var reqs = Object.create(null) +var once = require('once') + +module.exports = wrappy(inflight) + +function inflight (key, cb) { + if (reqs[key]) { + reqs[key].push(cb) + return null + } else { + reqs[key] = [cb] + return makeres(key) + } +} + +function makeres (key) { + return once(function RES () { + var cbs = reqs[key] + var len = cbs.length + var args = slice(arguments) + + // XXX It's somewhat ambiguous whether a new callback added in this + // pass should be queued for later execution if something in the + // list of callbacks throws, or if it should just be discarded. + // However, it's such an edge case that it hardly matters, and either + // choice is likely as surprising as the other. + // As it happens, we do go ahead and schedule it for later execution. + try { + for (var i = 0; i < len; i++) { + cbs[i].apply(null, args) + } + } finally { + if (cbs.length > len) { + // added more in the interim. + // de-zalgo, just in case, but don't call again. + cbs.splice(0, len) + process.nextTick(function () { + RES.apply(null, args) + }) + } else { + delete reqs[key] + } + } + }) +} + +function slice (args) { + var length = args.length + var array = [] + + for (var i = 0; i < length; i++) array[i] = args[i] + return array +} + +}).call(this,require('_process')) +},{"_process":24,"once":21,"wrappy":29}],19:[function(require,module,exports){ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} + +},{}],20:[function(require,module,exports){ +module.exports = minimatch +minimatch.Minimatch = Minimatch + +var path = { sep: '/' } +try { + path = require('path') +} catch (er) {} + +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = require('brace-expansion') + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +} + +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' + +// * => any number of characters +var star = qmark + '*?' + +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' + +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' + +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/ + +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + a = a || {} + b = b || {} + var t = {} + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + return t +} + +minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return minimatch + + var orig = minimatch + + var m = function minimatch (p, pattern, options) { + return orig.minimatch(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + + return m +} + +Minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return Minimatch + return minimatch.defaults(def).Minimatch +} + +function minimatch (p, pattern, options) { + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {} + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } + + // "" only matches "" + if (pattern.trim() === '') return p === '' + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } + + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {} + pattern = pattern.trim() + + // windows support: need to use /, not \ + if (path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') + } + + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + + // make the set of regexps etc. + this.make() +} + +Minimatch.prototype.debug = function () {} + +Minimatch.prototype.make = make +function make () { + // don't do it more than once. + if (this._made) return + + var pattern = this.pattern + var options = this.options + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + + // step 1: figure out negation, etc. + this.parseNegate() + + // step 2: expand braces + var set = this.globSet = this.braceExpand() + + if (options.debug) this.debug = console.error + + this.debug(this.pattern, set) + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) + + this.debug(this.pattern, set) + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) + + this.debug(this.pattern, set) + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) + + this.debug(this.pattern, set) + + this.set = set +} + +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 + + if (options.nonegate) return + + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +} + +Minimatch.prototype.braceExpand = braceExpand + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options + } else { + options = {} + } + } + + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern + + if (typeof pattern === 'undefined') { + throw new TypeError('undefined pattern') + } + + if (options.nobrace || + !pattern.match(/\{.*\}/)) { + // shortcut. no need to expand. + return [pattern] + } + + return expand(pattern) +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + if (pattern.length > 1024 * 64) { + throw new TypeError('pattern is too long') + } + + var options = this.options + + // shortcuts + if (!options.noglobstar && pattern === '**') return GLOBSTAR + if (pattern === '') return '' + + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } + + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } + + switch (c) { + case '/': + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + + case '\\': + clearStateChar() + escaping = true + continue + + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + + case '(': + if (inClass) { + re += '(' + continue + } + + if (!stateChar) { + re += '\\(' + continue + } + + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue + + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue + } + + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) + } + pl.reEnd = re.length + continue + + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue + } + + clearStateChar() + re += '|' + continue + + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() + + if (inClass) { + re += '\\' + c + continue + } + + inClass = true + classStart = i + reClassStart = re.length + re += c + continue + + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } + + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + if (inClass) { + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue + } + } + + // finish up the class. + hasMagic = true + inClass = false + re += c + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar() + + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } + + re += c + + } // switch + } // for + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) + + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type + + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } + + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '.': + case '[': + case '(': addPatternStart = true + } + + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] + + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) + + nlLast += nlAfter + + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter + + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } + + if (addPatternStart) { + re = patternStart + re + } + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) + } catch (er) { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } + + regExp._glob = pattern + regExp._src = re + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} + +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) { + this.regexp = false + return this.regexp + } + var options = this.options + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + var flags = options.nocase ? 'i' : '' + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|') + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$' + + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$' + + try { + this.regexp = new RegExp(re, flags) + } catch (ex) { + this.regexp = false + } + return this.regexp +} + +minimatch.match = function (list, pattern, options) { + options = options || {} + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (mm.options.nonull && !list.length) { + list.push(pattern) + } + return list +} + +Minimatch.prototype.match = match +function match (f, partial) { + this.debug('match', f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + + if (f === '/' && partial) return true + + var options = this.options + + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/') + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, 'split', f) + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set + this.debug(this.pattern, 'set', set) + + // Find the basename of the path by looking for the last non-empty segment + var filename + var i + for (i = f.length - 1; i >= 0; i--) { + filename = f[i] + if (filename) break + } + + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options + + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) + + this.debug('matchOne', file.length, pattern.length) + + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] + + this.debug(pattern, p, f) + + // should be impossible. + // some invalid regexp stuff in the set. + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] + + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ + } + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + if (options.nocase) { + hit = f.toLowerCase() === p.toLowerCase() + } else { + hit = f === p + } + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') + return emptyFileEnd + } + + // should be unreachable. + throw new Error('wtf?') +} + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} + +},{"brace-expansion":11,"path":22}],21:[function(require,module,exports){ +var wrappy = require('wrappy') +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} + +},{"wrappy":29}],22:[function(require,module,exports){ +(function (process){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// resolves . and .. elements in a path array with directory names there +// must be no slashes, empty elements, or device names (c:\) in the array +// (so also no leading and trailing slashes - it does not distinguish +// relative and absolute paths) +function normalizeArray(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + + return parts; +} + +// Split a filename into [root, dir, basename, ext], unix version +// 'root' is just a slash, or nothing. +var splitPathRe = + /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; +var splitPath = function(filename) { + return splitPathRe.exec(filename).slice(1); +}; + +// path.resolve([from ...], to) +// posix version +exports.resolve = function() { + var resolvedPath = '', + resolvedAbsolute = false; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : process.cwd(); + + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; +}; + +// path.normalize(path) +// posix version +exports.normalize = function(path) { + var isAbsolute = exports.isAbsolute(path), + trailingSlash = substr(path, -1) === '/'; + + // Normalize the path + path = normalizeArray(filter(path.split('/'), function(p) { + return !!p; + }), !isAbsolute).join('/'); + + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + + return (isAbsolute ? '/' : '') + path; +}; + +// posix version +exports.isAbsolute = function(path) { + return path.charAt(0) === '/'; +}; + +// posix version +exports.join = function() { + var paths = Array.prototype.slice.call(arguments, 0); + return exports.normalize(filter(paths, function(p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + return p; + }).join('/')); +}; + + +// path.relative(from, to) +// posix version +exports.relative = function(from, to) { + from = exports.resolve(from).substr(1); + to = exports.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + + return outputParts.join('/'); +}; + +exports.sep = '/'; +exports.delimiter = ':'; + +exports.dirname = function(path) { + var result = splitPath(path), + root = result[0], + dir = result[1]; + + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + + return root + dir; +}; + + +exports.basename = function(path, ext) { + var f = splitPath(path)[2]; + // TODO: make this comparison case-insensitive on windows? + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + return f; +}; + + +exports.extname = function(path) { + return splitPath(path)[3]; +}; + +function filter (xs, f) { + if (xs.filter) return xs.filter(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + if (f(xs[i], i, xs)) res.push(xs[i]); + } + return res; +} + +// String.prototype.substr - negative index don't work in IE8 +var substr = 'ab'.substr(-1) === 'b' + ? function (str, start, len) { return str.substr(start, len) } + : function (str, start, len) { + if (start < 0) start = str.length + start; + return str.substr(start, len); + } +; + +}).call(this,require('_process')) +},{"_process":24}],23:[function(require,module,exports){ +(function (process){ +'use strict'; + +function posix(path) { + return path.charAt(0) === '/'; +} + +function win32(path) { + // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 + var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; + var result = splitDeviceRe.exec(path); + var device = result[1] || ''; + var isUnc = Boolean(device && device.charAt(1) !== ':'); + + // UNC paths are always absolute + return Boolean(result[2] || isUnc); +} + +module.exports = process.platform === 'win32' ? win32 : posix; +module.exports.posix = posix; +module.exports.win32 = win32; + +}).call(this,require('_process')) +},{"_process":24}],24:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],25:[function(require,module,exports){ +// Underscore.js 1.8.3 +// http://underscorejs.org +// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `exports` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; + + // Create quick reference variables for speed access to core prototypes. + var + push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeBind = FuncProto.bind, + nativeCreate = Object.create; + + // Naked function reference for surrogate-prototype-swapping. + var Ctor = function(){}; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; + }; + + // Export the Underscore object for **Node.js**, with + // backwards-compatibility for the old `require()` API. If we're in + // the browser, add `_` as a global object. + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = _; + } + exports._ = _; + } else { + root._ = _; + } + + // Current version. + _.VERSION = '1.8.3'; + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + var optimizeCb = function(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + case 2: return function(value, other) { + return func.call(context, value, other); + }; + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + }; + + // A mostly-internal function to generate callbacks that can be applied + // to each element in a collection, returning the desired result — either + // identity, an arbitrary callback, a property matcher, or a property accessor. + var cb = function(value, context, argCount) { + if (value == null) return _.identity; + if (_.isFunction(value)) return optimizeCb(value, context, argCount); + if (_.isObject(value)) return _.matcher(value); + return _.property(value); + }; + _.iteratee = function(value, context) { + return cb(value, context, Infinity); + }; + + // An internal function for creating assigner functions. + var createAssigner = function(keysFunc, undefinedOnly) { + return function(obj) { + var length = arguments.length; + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + }; + + // An internal function for creating a new object that inherits from another. + var baseCreate = function(prototype) { + if (!_.isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + }; + + var property = function(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + }; + + // Helper for collection methods to determine whether a collection + // should be iterated as an array or as an object + // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + var getLength = property('length'); + var isArrayLike = function(collection) { + var length = getLength(collection); + return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX; + }; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + _.each = _.forEach = function(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var keys = _.keys(obj); + for (i = 0, length = keys.length; i < length; i++) { + iteratee(obj[keys[i]], keys[i], obj); + } + } + return obj; + }; + + // Return the results of applying the iteratee to each element. + _.map = _.collect = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + }; + + // Create a reducing function iterating left or right. + function createReduce(dir) { + // Optimized iterator function as using arguments.length + // in the main function will deoptimize the, see #1991. + function iterator(obj, iteratee, memo, keys, index, length) { + for (; index >= 0 && index < length; index += dir) { + var currentKey = keys ? keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + } + + return function(obj, iteratee, memo, context) { + iteratee = optimizeCb(iteratee, context, 4); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length, + index = dir > 0 ? 0 : length - 1; + // Determine the initial value if none is provided. + if (arguments.length < 3) { + memo = obj[keys ? keys[index] : index]; + index += dir; + } + return iterator(obj, iteratee, memo, keys, index, length); + }; + } + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + _.reduce = _.foldl = _.inject = createReduce(1); + + // The right-associative version of reduce, also known as `foldr`. + _.reduceRight = _.foldr = createReduce(-1); + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, predicate, context) { + var key; + if (isArrayLike(obj)) { + key = _.findIndex(obj, predicate, context); + } else { + key = _.findKey(obj, predicate, context); + } + if (key !== void 0 && key !== -1) return obj[key]; + }; + + // Return all the elements that pass a truth test. + // Aliased as `select`. + _.filter = _.select = function(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + _.each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, predicate, context) { + return _.filter(obj, _.negate(cb(predicate)), context); + }; + + // Determine whether all of the elements match a truth test. + // Aliased as `all`. + _.every = _.all = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + }; + + // Determine if at least one element in the object matches a truth test. + // Aliased as `any`. + _.some = _.any = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + }; + + // Determine if the array or object contains a given item (using `===`). + // Aliased as `includes` and `include`. + _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = _.values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return _.indexOf(obj, item, fromIndex) >= 0; + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + var isFunc = _.isFunction(method); + return _.map(obj, function(value) { + var func = isFunc ? method : value[method]; + return func == null ? func : func.apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, _.property(key)); + }; + + // Convenience version of a common use case of `filter`: selecting only objects + // containing specific `key:value` pairs. + _.where = function(obj, attrs) { + return _.filter(obj, _.matcher(attrs)); + }; + + // Convenience version of a common use case of `find`: getting the first object + // containing specific `key:value` pairs. + _.findWhere = function(obj, attrs) { + return _.find(obj, _.matcher(attrs)); + }; + + // Return the maximum element (or element-based computation). + _.max = function(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null && obj != null) { + obj = isArrayLike(obj) ? obj : _.values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + _.each(obj, function(value, index, list) { + computed = iteratee(value, index, list); + if (computed > lastComputed || computed === -Infinity && result === -Infinity) { + result = value; + lastComputed = computed; + } + }); + } + return result; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null && obj != null) { + obj = isArrayLike(obj) ? obj : _.values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + _.each(obj, function(value, index, list) { + computed = iteratee(value, index, list); + if (computed < lastComputed || computed === Infinity && result === Infinity) { + result = value; + lastComputed = computed; + } + }); + } + return result; + }; + + // Shuffle a collection, using the modern version of the + // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + _.shuffle = function(obj) { + var set = isArrayLike(obj) ? obj : _.values(obj); + var length = set.length; + var shuffled = Array(length); + for (var index = 0, rand; index < length; index++) { + rand = _.random(0, index); + if (rand !== index) shuffled[index] = shuffled[rand]; + shuffled[rand] = set[index]; + } + return shuffled; + }; + + // Sample **n** random values from a collection. + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `map`. + _.sample = function(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = _.values(obj); + return obj[_.random(obj.length - 1)]; + } + return _.shuffle(obj).slice(0, Math.max(0, n)); + }; + + // Sort the object's values by a criterion produced by an iteratee. + _.sortBy = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + return _.pluck(_.map(obj, function(value, index, list) { + return { + value: value, + index: index, + criteria: iteratee(value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + }; + + // An internal function used for aggregate "group by" operations. + var group = function(behavior) { + return function(obj, iteratee, context) { + var result = {}; + iteratee = cb(iteratee, context); + _.each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + }; + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + _.groupBy = group(function(result, value, key) { + if (_.has(result, key)) result[key].push(value); else result[key] = [value]; + }); + + // Indexes the object's values by a criterion, similar to `groupBy`, but for + // when you know that your index values will be unique. + _.indexBy = group(function(result, value, key) { + result[key] = value; + }); + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + _.countBy = group(function(result, value, key) { + if (_.has(result, key)) result[key]++; else result[key] = 1; + }); + + // Safely create a real, live array from anything iterable. + _.toArray = function(obj) { + if (!obj) return []; + if (_.isArray(obj)) return slice.call(obj); + if (isArrayLike(obj)) return _.map(obj, _.identity); + return _.values(obj); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : _.keys(obj).length; + }; + + // Split a collection into two arrays: one whose elements all satisfy the given + // predicate, and one whose elements all do not satisfy the predicate. + _.partition = function(obj, predicate, context) { + predicate = cb(predicate, context); + var pass = [], fail = []; + _.each(obj, function(value, key, obj) { + (predicate(value, key, obj) ? pass : fail).push(value); + }); + return [pass, fail]; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head` and `take`. The **guard** check + // allows it to work with `_.map`. + _.first = _.head = _.take = function(array, n, guard) { + if (array == null) return void 0; + if (n == null || guard) return array[0]; + return _.initial(array, array.length - n); + }; + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + _.initial = function(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + }; + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + _.last = function(array, n, guard) { + if (array == null) return void 0; + if (n == null || guard) return array[array.length - 1]; + return _.rest(array, Math.max(0, array.length - n)); + }; + + // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. + // Especially useful on the arguments object. Passing an **n** will return + // the rest N values in the array. + _.rest = _.tail = _.drop = function(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, _.identity); + }; + + // Internal implementation of a recursive `flatten` function. + var flatten = function(input, shallow, strict, startIndex) { + var output = [], idx = 0; + for (var i = startIndex || 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) { + //flatten current level of array or arguments object + if (!shallow) value = flatten(value, shallow, strict); + var j = 0, len = value.length; + output.length += len; + while (j < len) { + output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + }; + + // Flatten out an array, either recursively (by default), or just one level. + _.flatten = function(array, shallow) { + return flatten(array, shallow, false); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + return _.difference(array, slice.call(arguments, 1)); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted, iteratee, context) { + if (!_.isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!_.contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!_.contains(result, value)) { + result.push(value); + } + } + return result; + }; + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + _.union = function() { + return _.uniq(flatten(arguments, true, true)); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. + _.intersection = function(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (_.contains(result, item)) continue; + for (var j = 1; j < argsLength; j++) { + if (!_.contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + }; + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + _.difference = function(array) { + var rest = flatten(arguments, true, true, 1); + return _.filter(array, function(value){ + return !_.contains(rest, value); + }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + return _.unzip(arguments); + }; + + // Complement of _.zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices + _.unzip = function(array) { + var length = array && _.max(array, getLength).length || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = _.pluck(array, index); + } + return result; + }; + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. + _.object = function(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + }; + + // Generator function to create the findIndex and findLastIndex functions + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + // Returns the first index on an array-like that passes a predicate test + _.findIndex = createPredicateIndexFinder(1); + _.findLastIndex = createPredicateIndexFinder(-1); + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + }; + + // Generator function to create the indexOf and lastIndexOf functions + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), _.isNaN); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex); + _.lastIndexOf = createIndexFinder(-1, _.findLastIndex); + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + step = step || 1; + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Determines whether to execute a function as a constructor + // or a normal function with the provided arguments + var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (_.isObject(result)) return result; + return self; + }; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if + // available. + _.bind = function(func, context) { + if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); + if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function'); + var args = slice.call(arguments, 2); + var bound = function() { + return executeBound(func, bound, context, this, args.concat(slice.call(arguments))); + }; + return bound; + }; + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. _ acts + // as a placeholder, allowing any combination of arguments to be pre-filled. + _.partial = function(func) { + var boundArgs = slice.call(arguments, 1); + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }; + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + _.bindAll = function(obj) { + var i, length = arguments.length, key; + if (length <= 1) throw new Error('bindAll must be passed function names'); + for (i = 1; i < length; i++) { + key = arguments[i]; + obj[key] = _.bind(obj[key], obj); + } + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!_.has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ + return func.apply(null, args); + }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = _.partial(_.delay, _, 1); + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + _.throttle = function(func, wait, options) { + var context, args, result; + var timeout = null; + var previous = 0; + if (!options) options = {}; + var later = function() { + previous = options.leading === false ? 0 : _.now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + return function() { + var now = _.now(); + if (!previous && options.leading === false) previous = now; + var remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }; + + // Returns a function, that, as long as it continues to be invoked, will not + // be triggered. The function will be called after it stops being called for + // N milliseconds. If `immediate` is passed, trigger the function on the + // leading edge, instead of the trailing. + _.debounce = function(func, wait, immediate) { + var timeout, args, context, timestamp, result; + + var later = function() { + var last = _.now() - timestamp; + + if (last < wait && last >= 0) { + timeout = setTimeout(later, wait - last); + } else { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + if (!timeout) context = args = null; + } + } + }; + + return function() { + context = this; + args = arguments; + timestamp = _.now(); + var callNow = immediate && !timeout; + if (!timeout) timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + context = args = null; + } + + return result; + }; + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return _.partial(wrapper, func); + }; + + // Returns a negated version of the passed-in predicate. + _.negate = function(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + }; + + // Returns a function that will only be executed on and after the Nth call. + _.after = function(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + }; + + // Returns a function that will only be executed up to (but not including) the Nth call. + _.before = function(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + }; + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + _.once = _.partial(_.before, 2); + + // Object Functions + // ---------------- + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + function collectNonEnumProps(obj, keys) { + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) { + keys.push(prop); + } + } + } + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = function(obj) { + if (!_.isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (_.has(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + }; + + // Retrieve all the property names of an object. + _.allKeys = function(obj) { + if (!_.isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + var keys = _.keys(obj); + var length = keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[keys[i]]; + } + return values; + }; + + // Returns the results of applying the iteratee to each element of the object + // In contrast to _.map it returns an object + _.mapObject = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var keys = _.keys(obj), + length = keys.length, + results = {}, + currentKey; + for (var index = 0; index < length; index++) { + currentKey = keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + }; + + // Convert an object into a list of `[key, value]` pairs. + _.pairs = function(obj) { + var keys = _.keys(obj); + var length = keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [keys[i], obj[keys[i]]]; + } + return pairs; + }; + + // Invert the keys and values of an object. The values must be serializable. + _.invert = function(obj) { + var result = {}; + var keys = _.keys(obj); + for (var i = 0, length = keys.length; i < length; i++) { + result[obj[keys[i]]] = keys[i]; + } + return result; + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + var names = []; + for (var key in obj) { + if (_.isFunction(obj[key])) names.push(key); + } + return names.sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = createAssigner(_.allKeys); + + // Assigns a given object with all the own properties in the passed-in object(s) + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + _.extendOwn = _.assign = createAssigner(_.keys); + + // Returns the first key on an object that passes a predicate test + _.findKey = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = _.keys(obj), key; + for (var i = 0, length = keys.length; i < length; i++) { + key = keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + }; + + // Return a copy of the object only containing the whitelisted properties. + _.pick = function(object, oiteratee, context) { + var result = {}, obj = object, iteratee, keys; + if (obj == null) return result; + if (_.isFunction(oiteratee)) { + keys = _.allKeys(obj); + iteratee = optimizeCb(oiteratee, context); + } else { + keys = flatten(arguments, false, false, 1); + iteratee = function(value, key, obj) { return key in obj; }; + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }; + + // Return a copy of the object without the blacklisted properties. + _.omit = function(obj, iteratee, context) { + if (_.isFunction(iteratee)) { + iteratee = _.negate(iteratee); + } else { + var keys = _.map(flatten(arguments, false, false, 1), String); + iteratee = function(value, key) { + return !_.contains(keys, key); + }; + } + return _.pick(obj, iteratee, context); + }; + + // Fill in a given object with default properties. + _.defaults = createAssigner(_.allKeys, true); + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + _.create = function(prototype, props) { + var result = baseCreate(prototype); + if (props) _.extendOwn(result, props); + return result; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + if (!_.isObject(obj)) return obj; + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Returns whether an object has a given set of `key:value` pairs. + _.isMatch = function(object, attrs) { + var keys = _.keys(attrs), length = keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + }; + + + // Internal recursive comparison function for `isEqual`. + var eq = function(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // A strict comparison is necessary because `null == undefined`. + if (a == null || b == null) return a === b; + // Unwrap any wrapped objects. + if (a instanceof _) a = a._wrapped; + if (b instanceof _) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + switch (className) { + // Strings, numbers, regular expressions, dates, and booleans are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + } + + var areArrays = className === '[object Array]'; + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && + _.isFunction(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var keys = _.keys(a), key; + length = keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (_.keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = keys[length]; + if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + }; + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + return eq(a, b); + }; + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + _.isEmpty = function(obj) { + if (obj == null) return true; + if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0; + return _.keys(obj).length === 0; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType === 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return toString.call(obj) === '[object Array]'; + }; + + // Is a given variable an object? + _.isObject = function(obj) { + var type = typeof obj; + return type === 'function' || type === 'object' && !!obj; + }; + + // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. + _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { + _['is' + name] = function(obj) { + return toString.call(obj) === '[object ' + name + ']'; + }; + }); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + if (!_.isArguments(arguments)) { + _.isArguments = function(obj) { + return _.has(obj, 'callee'); + }; + } + + // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8, + // IE 11 (#1621), and in Safari 8 (#1929). + if (typeof /./ != 'function' && typeof Int8Array != 'object') { + _.isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + // Is a given object a finite number? + _.isFinite = function(obj) { + return isFinite(obj) && !isNaN(parseFloat(obj)); + }; + + // Is the given value `NaN`? (NaN is the only number which does not equal itself). + _.isNaN = function(obj) { + return _.isNumber(obj) && obj !== +obj; + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return obj === void 0; + }; + + // Shortcut function for checking if an object has a given property directly + // on itself (in other words, not on a prototype). + _.has = function(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iteratees. + _.identity = function(value) { + return value; + }; + + // Predicate-generating functions. Often useful outside of Underscore. + _.constant = function(value) { + return function() { + return value; + }; + }; + + _.noop = function(){}; + + _.property = property; + + // Generates a function for a given object that returns a given property. + _.propertyOf = function(obj) { + return obj == null ? function(){} : function(key) { + return obj[key]; + }; + }; + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + _.matcher = _.matches = function(attrs) { + attrs = _.extendOwn({}, attrs); + return function(obj) { + return _.isMatch(obj, attrs); + }; + }; + + // Run a function **n** times. + _.times = function(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + }; + + // Return a random integer between min and max (inclusive). + _.random = function(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + }; + + // A (possibly faster) way to get the current timestamp as an integer. + _.now = Date.now || function() { + return new Date().getTime(); + }; + + // List of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var unescapeMap = _.invert(escapeMap); + + // Functions for escaping and unescaping strings to/from HTML interpolation. + var createEscaper = function(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped + var source = '(?:' + _.keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + }; + _.escape = createEscaper(escapeMap); + _.unescape = createEscaper(unescapeMap); + + // If the value of the named `property` is a function then invoke it with the + // `object` as context; otherwise, return it. + _.result = function(object, property, fallback) { + var value = object == null ? void 0 : object[property]; + if (value === void 0) { + value = fallback; + } + return _.isFunction(value) ? value.call(object) : value; + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g, + escape : /<%-([\s\S]+?)%>/g + }; + + // When customizing `templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escaper = /\\|'|\r|\n|\u2028|\u2029/g; + + var escapeChar = function(match) { + return '\\' + escapes[match]; + }; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + _.template = function(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = _.defaults({}, settings, _.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escaper, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offest. + return match; + }); + source += "';\n"; + + // If a variable is not specified, place data values in local scope. + if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + try { + var render = new Function(settings.variable || 'obj', '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _); + }; + + // Provide the compiled source as a convenience for precompilation. + var argument = settings.variable || 'obj'; + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + }; + + // Add a "chain" function. Start chaining a wrapped Underscore object. + _.chain = function(obj) { + var instance = _(obj); + instance._chain = true; + return instance; + }; + + // OOP + // --------------- + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + + // Helper function to continue chaining intermediate results. + var result = function(instance, obj) { + return instance._chain ? _(obj).chain() : obj; + }; + + // Add your own custom functions to the Underscore object. + _.mixin = function(obj) { + _.each(_.functions(obj), function(name) { + var func = _[name] = obj[name]; + _.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return result(this, func.apply(_, args)); + }; + }); + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0]; + return result(this, obj); + }; + }); + + // Add all accessor Array functions to the wrapper. + _.each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + return result(this, method.apply(this._wrapped, arguments)); + }; + }); + + // Extracts the result from a wrapped and chained object. + _.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxy for some methods used in engine operations + // such as arithmetic and JSON stringification. + _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + + _.prototype.toString = function() { + return '' + this._wrapped; + }; + + // AMD registration happens at the end for compatibility with AMD loaders + // that may not enforce next-turn semantics on modules. Even though general + // practice for AMD registration is to be anonymous, underscore registers + // as a named module because, like jQuery, it is a base library that is + // popular enough to be bundled in a third party lib, but not be part of + // an AMD load request. Those cases could generate an error when an + // anonymous define() is called outside of a loader request. + if (typeof define === 'function' && define.amd) { + define('underscore', [], function() { + return _; + }); + } +}.call(this)); + +},{}],26:[function(require,module,exports){ +arguments[4][19][0].apply(exports,arguments) +},{"dup":19}],27:[function(require,module,exports){ +module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; +} +},{}],28:[function(require,module,exports){ +(function (process,global){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var formatRegExp = /%[sdj%]/g; +exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; +}; + + +// Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. +exports.deprecate = function(fn, msg) { + // Allow for deprecating things in the process of starting up. + if (isUndefined(global.process)) { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + if (process.noDeprecation === true) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +}; + + +var debugs = {}; +var debugEnviron; +exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; +}; + + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ +/* legacy: obj, showHidden, depth, colors*/ +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} +exports.inspect = inspect; + + +// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] +}; + +// Don't use 'blue' not visible on cmd.exe +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + + +function stylizeNoColor(str, styleType) { + return str; +} + + +function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; +} + + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = require('./support/isBuffer'); + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + +// 26 Feb 16:19:34 +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} + + +// log is just a thin wrapper to console.log that prepends a timestamp +exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ +exports.inherits = require('inherits'); + +exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./support/isBuffer":27,"_process":24,"inherits":26}],29:[function(require,module,exports){ +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} + +},{}]},{},[7])(7) +}); \ No newline at end of file diff --git a/assets/javascripts/workers/search.1e90e0fb.min.js b/assets/javascripts/workers/search.1e90e0fb.min.js new file mode 100644 index 00000000..ff43aedd --- /dev/null +++ b/assets/javascripts/workers/search.1e90e0fb.min.js @@ -0,0 +1,2 @@ +"use strict";(()=>{var xe=Object.create;var G=Object.defineProperty,ve=Object.defineProperties,Se=Object.getOwnPropertyDescriptor,Te=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertyNames,Y=Object.getOwnPropertySymbols,Ee=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable;var Z=Math.pow,J=(t,e,r)=>e in t?G(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_=(t,e)=>{for(var r in e||(e={}))X.call(e,r)&&J(t,r,e[r]);if(Y)for(var r of Y(e))be.call(e,r)&&J(t,r,e[r]);return t},B=(t,e)=>ve(t,Te(e));var Le=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var we=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Qe(e))!X.call(t,i)&&i!==r&&G(t,i,{get:()=>e[i],enumerable:!(n=Se(e,i))||n.enumerable});return t};var Pe=(t,e,r)=>(r=t!=null?xe(Ee(t)):{},we(e||!t||!t.__esModule?G(r,"default",{value:t,enumerable:!0}):r,t));var W=(t,e,r)=>new Promise((n,i)=>{var s=u=>{try{a(r.next(u))}catch(c){i(c)}},o=u=>{try{a(r.throw(u))}catch(c){i(c)}},a=u=>u.done?n(u.value):Promise.resolve(u.value).then(s,o);a((r=r.apply(t,e)).next())});var te=Le((K,ee)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var f=t.utils.clone(r)||{};f.position=[a,c],f.index=s.length,s.push(new t.Token(n.slice(a,o),f))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?f+=2:a==u&&(r+=n[c+1]*i[f+1],c+=2,f+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var f=s.str.charAt(0),g=s.str.charAt(1),l;g in s.node.edges?l=s.node.edges[g]:(l=new t.TokenSet,s.node.edges[g]=l),s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:f+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof K=="object"?ee.exports=r():e.lunr=r()}(this,function(){return t})})()});var de=Pe(te());function re(t,e=document){let r=ke(t,e);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${t}" to be present`);return r}function ke(t,e=document){return e.querySelector(t)||void 0}Object.entries||(Object.entries=function(t){let e=[];for(let r of Object.keys(t))e.push([r,t[r]]);return e});Object.values||(Object.values=function(t){let e=[];for(let r of Object.keys(t))e.push(t[r]);return e});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(t,e){typeof t=="object"?(this.scrollLeft=t.left,this.scrollTop=t.top):(this.scrollLeft=t,this.scrollTop=e)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...t){let e=this.parentNode;if(e){t.length===0&&e.removeChild(this);for(let r=t.length-1;r>=0;r--){let n=t[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?e.insertBefore(this.previousSibling,n):e.replaceChild(n,this)}}}));function ne(t){let e=new Map;for(let r of t){let[n]=r.location.split("#"),i=e.get(n);typeof i=="undefined"?e.set(n,r):(e.set(r.location,r),r.parent=i)}return e}function H(t,e,r){var s;e=new RegExp(e,"g");let n,i=0;do{n=e.exec(t);let o=(s=n==null?void 0:n.index)!=null?s:t.length;if(in?e(r,1,n,n=i):t.charAt(i)===">"&&(t.charAt(n+1)==="/"?--s===0&&e(r++,2,n,i+1):t.charAt(i-1)!=="/"&&s++===0&&e(r,0,n,i+1),n=i+1);i>n&&e(r,1,n,i)}function se(t,e,r,n=!1){return q([t],e,r,n).pop()}function q(t,e,r,n=!1){let i=[0];for(let s=1;s>>2&1023,c=a[0]>>>12;i.push(+(u>c)+i[i.length-1])}return t.map((s,o)=>{let a=0,u=new Map;for(let f of r.sort((g,l)=>g-l)){let g=f&1048575,l=f>>>20;if(i[l]!==o)continue;let m=u.get(l);typeof m=="undefined"&&u.set(l,m=[]),m.push(g)}if(u.size===0)return s;let c=[];for(let[f,g]of u){let l=e[f],m=l[0]>>>12,x=l[l.length-1]>>>12,v=l[l.length-1]>>>2&1023;n&&m>a&&c.push(s.slice(a,m));let d=s.slice(m,x+v);for(let y of g.sort((b,E)=>E-b)){let b=(l[y]>>>12)-m,E=(l[y]>>>2&1023)+b;d=[d.slice(0,b),"",d.slice(b,E),"",d.slice(E)].join("")}if(a=x+v,c.push(d)===2)break}return n&&a{var f;switch(i[f=o+=s]||(i[f]=[]),a){case 0:case 2:i[o].push(u<<12|c-u<<2|a);break;case 1:let g=r[n].slice(u,c);H(g,lunr.tokenizer.separator,(l,m)=>{if(typeof lunr.segmenter!="undefined"){let x=g.slice(l,m);if(/^[MHIK]$/.test(lunr.segmenter.ctype_(x))){let v=lunr.segmenter.segment(x);for(let d=0,y=0;dr){return t.trim().split(/"([^"]+)"/g).map((r,n)=>n&1?r.replace(/^\b|^(?![^\x00-\x7F]|$)|\s+/g," +"):r).join("").replace(/"|(?:^|\s+)[*+\-:^~]+(?=\s+|$)/g,"").split(/\s+/g).reduce((r,n)=>{let i=e(n);return[...r,...Array.isArray(i)?i:[i]]},[]).map(r=>/([~^]$)/.test(r)?`${r}1`:r).map(r=>/(^[+-]|[~^]\d+$)/.test(r)?r:`${r}*`).join(" ")}function ue(t){return ae(t,e=>{let r=[],n=new lunr.QueryLexer(e);n.run();for(let{type:i,str:s,start:o,end:a}of n.lexemes)switch(i){case"FIELD":["title","text","tags"].includes(s)||(e=[e.slice(0,a)," ",e.slice(a+1)].join(""));break;case"TERM":H(s,lunr.tokenizer.separator,(...u)=>{r.push([e.slice(0,o),s.slice(...u),e.slice(a)].join(""))})}return r})}function ce(t){let e=new lunr.Query(["title","text","tags"]);new lunr.QueryParser(t,e).parse();for(let n of e.clauses)n.usePipeline=!0,n.term.startsWith("*")&&(n.wildcard=lunr.Query.wildcard.LEADING,n.term=n.term.slice(1)),n.term.endsWith("*")&&(n.wildcard=lunr.Query.wildcard.TRAILING,n.term=n.term.slice(0,-1));return e.clauses}function le(t,e){var i;let r=new Set(t),n={};for(let s=0;s0;){let o=i[--s];for(let u=1;un[o]-u&&(r.add(t.slice(o,o+u)),i[s++]=o+u);let a=o+n[o];n[a]&&ar=>{if(typeof r[e]=="undefined")return;let n=[r.location,e].join(":");return t.set(n,lunr.tokenizer.table=[]),r[e]}}function Re(t,e){let[r,n]=[new Set(t),new Set(e)];return[...new Set([...r].filter(i=>!n.has(i)))]}var U=class{constructor({config:e,docs:r,options:n}){let i=Oe(this.table=new Map);this.map=ne(r),this.options=n,this.index=lunr(function(){this.metadataWhitelist=["position"],this.b(0),e.lang.length===1&&e.lang[0]!=="en"?this.use(lunr[e.lang[0]]):e.lang.length>1&&this.use(lunr.multiLanguage(...e.lang)),this.tokenizer=oe,lunr.tokenizer.separator=new RegExp(e.separator),lunr.segmenter="TinySegmenter"in lunr?new lunr.TinySegmenter:void 0;let s=Re(["trimmer","stopWordFilter","stemmer"],e.pipeline);for(let o of e.lang.map(a=>a==="en"?lunr:lunr[a]))for(let a of s)this.pipeline.remove(o[a]),this.searchPipeline.remove(o[a]);this.ref("location");for(let[o,a]of Object.entries(e.fields))this.field(o,B(_({},a),{extractor:i(o)}));for(let o of r)this.add(o,{boost:o.boost})})}search(e){if(e=e.replace(new RegExp("\\p{sc=Han}+","gu"),s=>[...he(s,this.index.invertedIndex)].join("* ")),e=ue(e),!e)return{items:[]};let r=ce(e).filter(s=>s.presence!==lunr.Query.presence.PROHIBITED),n=this.index.search(e).reduce((s,{ref:o,score:a,matchData:u})=>{let c=this.map.get(o);if(typeof c!="undefined"){c=_({},c),c.tags&&(c.tags=[...c.tags]);let f=le(r,Object.keys(u.metadata));for(let l of this.index.fields){if(typeof c[l]=="undefined")continue;let m=[];for(let d of Object.values(u.metadata))typeof d[l]!="undefined"&&m.push(...d[l].position);if(!m.length)continue;let x=this.table.get([c.location,l].join(":")),v=Array.isArray(c[l])?q:se;c[l]=v(c[l],x,m,l!=="text")}let g=+!c.parent+Object.values(f).filter(l=>l).length/Object.keys(f).length;s.push(B(_({},c),{score:a*(1+Z(g,2)),terms:f}))}return s},[]).sort((s,o)=>o.score-s.score).reduce((s,o)=>{let a=this.map.get(o.location);if(typeof a!="undefined"){let u=a.parent?a.parent.location:a.location;s.set(u,[...s.get(u)||[],o])}return s},new Map);for(let[s,o]of n)if(!o.find(a=>a.location===s)){let a=this.map.get(s);o.push(B(_({},a),{score:0,terms:{}}))}let i;if(this.options.suggest){let s=this.index.query(o=>{for(let a of r)o.term(a.term,{fields:["title"],presence:lunr.Query.presence.REQUIRED,wildcard:lunr.Query.wildcard.TRAILING})});i=s.length?Object.keys(s[0].matchData.metadata):[]}return _({items:[...n.values()]},typeof i!="undefined"&&{suggest:i})}};var fe;function Ie(t){return W(this,null,function*(){let e="../lunr";if(typeof parent!="undefined"&&"IFrameWorker"in parent){let n=re("script[src]"),[i]=n.src.split("/worker");e=e.replace("..",i)}let r=[];for(let n of t.lang){switch(n){case"ja":r.push(`${e}/tinyseg.js`);break;case"hi":case"th":r.push(`${e}/wordcut.js`);break}n!=="en"&&r.push(`${e}/min/lunr.${n}.min.js`)}t.lang.length>1&&r.push(`${e}/min/lunr.multi.min.js`),r.length&&(yield importScripts(`${e}/min/lunr.stemmer.support.min.js`,...r))})}function Fe(t){return W(this,null,function*(){switch(t.type){case 0:return yield Ie(t.data.config),fe=new U(t.data),{type:1};case 2:let e=t.data;try{return{type:3,data:fe.search(e)}}catch(r){return console.warn(`Invalid query: ${e} \u2013 see https://bit.ly/2s3ChXG`),console.warn(r),{type:3,data:{items:[]}}}default:throw new TypeError("Invalid message type")}})}self.lunr=de.default;addEventListener("message",t=>W(void 0,null,function*(){postMessage(yield Fe(t.data))}));})(); diff --git a/assets/stylesheets/main.dad623df.min.css b/assets/stylesheets/main.dad623df.min.css new file mode 100644 index 00000000..02b3c720 --- /dev/null +++ b/assets/stylesheets/main.dad623df.min.css @@ -0,0 +1 @@ +@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset a code{color:var(--md-typeset-a-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{cursor:help;text-decoration:none}.md-typeset [data-preview],.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light)}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}:root{--md-code-select-icon:url('data:image/svg+xml;charset=utf-8,');--md-code-copy-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-code__content{display:grid}.md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.1rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}:hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}:hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.md-code__button.focus-visible,.md-code__button:hover{color:var(--md-accent-fg-color)}.md-code__button--active{color:var(--md-default-fg-color)!important}.md-code__button:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed,.md-nav__link--passed code{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}.md-nav__link .md-ellipsis code{word-break:normal}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link .md-typeset{font-size:.7rem;line-height:1.3}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;position:relative}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link[for]:focus code,.md-nav__link[for]:hover code,.md-nav__link[href]:focus code,.md-nav__link[href]:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:1fr;opacity:1;visibility:visible}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}:root{--md-path-icon:url('data:image/svg+xml;charset=utf-8,')}.md-path{font-size:.7rem;margin:0 .8rem;overflow:auto;padding-top:1.2rem}.md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.md-path{margin:0 1.2rem}}.md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.md-path__item:not(:first-child){display:inline-flex;gap:.2rem;white-space:nowrap}.md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline;height:.8rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.8rem}.md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex}.md-path__link:focus,.md-path__link:hover{color:var(--md-accent-fg-color)}:root{--md-post-pin-icon:url('data:image/svg+xml;charset=utf-8,')}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-pin{background:var(--md-default-fg-color--lightest);border-radius:1rem;margin-top:-.05rem;padding:.2rem}.md-pin:after{background-color:currentcolor;content:"";display:block;height:.6rem;margin:0 auto;-webkit-mask-image:var(--md-post-pin-icon);mask-image:var(--md-post-pin-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.6rem}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,');--md-status--new:url('data:image/svg+xml;charset=utf-8,');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-shadow{opacity:.5}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,')}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:xxx;list-style:none}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(xxx);counter-increment:xxx;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}[role=dialog]>.md-tooltip2__inner:after,[role=dialog]>.md-tooltip2__inner:before{content:"";display:block;height:.8rem;position:sticky;width:100%;z-index:10}[role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}[role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}[role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .linenodiv span[class]{padding-right:.5882352941em}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.md-typeset [role=dialog] .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset [role=dialog] .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset [role=dialog] .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset [role=dialog] .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset [role=dialog] .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset [role=dialog] .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset [role=dialog] .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset [role=dialog] .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset [role=dialog] .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset [role=dialog] .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset [role=dialog] .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset [role=dialog] .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset [role=dialog] .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset [role=dialog] .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset [role=dialog] .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset [role=dialog] .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset [role=dialog] .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset [role=dialog] .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset [role=dialog] .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset [role=dialog] .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),[role=dialog] .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,[role=dialog] .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),[role=dialog] .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),[role=dialog] .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),[role=dialog] .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),[role=dialog] .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),[role=dialog] .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),[role=dialog] .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),[role=dialog] .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),[role=dialog] .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),[role=dialog] .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),[role=dialog] .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),[role=dialog] .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),[role=dialog] .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),[role=dialog] .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),[role=dialog] .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),[role=dialog] .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),[role=dialog] .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),[role=dialog] .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),[role=dialog] .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/assets/stylesheets/palette.ab4e12ef.min.css b/assets/stylesheets/palette.ab4e12ef.min.css new file mode 100644 index 00000000..75aaf842 --- /dev/null +++ b/assets/stylesheets/palette.ab4e12ef.min.css @@ -0,0 +1 @@ +@media screen{[data-md-color-scheme=slate]{--md-default-fg-color:hsla(var(--md-hue),15%,90%,0.82);--md-default-fg-color--light:hsla(var(--md-hue),15%,90%,0.56);--md-default-fg-color--lighter:hsla(var(--md-hue),15%,90%,0.32);--md-default-fg-color--lightest:hsla(var(--md-hue),15%,90%,0.12);--md-default-bg-color:hsla(var(--md-hue),15%,14%,1);--md-default-bg-color--light:hsla(var(--md-hue),15%,14%,0.54);--md-default-bg-color--lighter:hsla(var(--md-hue),15%,14%,0.26);--md-default-bg-color--lightest:hsla(var(--md-hue),15%,14%,0.07);--md-code-fg-color:hsla(var(--md-hue),18%,86%,0.82);--md-code-bg-color:hsla(var(--md-hue),15%,18%,1);--md-code-bg-color--light:hsla(var(--md-hue),15%,18%,0.9);--md-code-bg-color--lighter:hsla(var(--md-hue),15%,18%,0.54);--md-code-hl-color:#2977ff;--md-code-hl-color--light:#2977ff1a;--md-code-hl-number-color:#e6695b;--md-code-hl-special-color:#f06090;--md-code-hl-function-color:#c973d9;--md-code-hl-constant-color:#9383e2;--md-code-hl-keyword-color:#6791e0;--md-code-hl-string-color:#2fb170;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-kbd-color:hsla(var(--md-hue),15%,90%,0.12);--md-typeset-kbd-accent-color:hsla(var(--md-hue),15%,90%,0.2);--md-typeset-kbd-border-color:hsla(var(--md-hue),15%,14%,1);--md-typeset-mark-color:#4287ff4d;--md-typeset-table-color:hsla(var(--md-hue),15%,95%,0.12);--md-typeset-table-color--light:hsla(var(--md-hue),15%,95%,0.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-footer-bg-color:hsla(var(--md-hue),15%,10%,0.87);--md-footer-bg-color--dark:hsla(var(--md-hue),15%,8%,1);--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #00000040,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0006,0 0 0.05rem #00000059;color-scheme:dark}[data-md-color-scheme=slate] img[src$="#gh-light-mode-only"],[data-md-color-scheme=slate] img[src$="#only-light"]{display:none}[data-md-color-scheme=slate][data-md-color-primary=pink]{--md-typeset-a-color:#ed5487}[data-md-color-scheme=slate][data-md-color-primary=purple]{--md-typeset-a-color:#c46fd3}[data-md-color-scheme=slate][data-md-color-primary=deep-purple]{--md-typeset-a-color:#a47bea}[data-md-color-scheme=slate][data-md-color-primary=indigo]{--md-typeset-a-color:#5488e8}[data-md-color-scheme=slate][data-md-color-primary=teal]{--md-typeset-a-color:#00ccb8}[data-md-color-scheme=slate][data-md-color-primary=green]{--md-typeset-a-color:#71c174}[data-md-color-scheme=slate][data-md-color-primary=deep-orange]{--md-typeset-a-color:#ff764d}[data-md-color-scheme=slate][data-md-color-primary=brown]{--md-typeset-a-color:#c1775c}[data-md-color-scheme=slate][data-md-color-primary=black],[data-md-color-scheme=slate][data-md-color-primary=blue-grey],[data-md-color-scheme=slate][data-md-color-primary=grey],[data-md-color-scheme=slate][data-md-color-primary=white]{--md-typeset-a-color:#5e8bde}[data-md-color-switching] *,[data-md-color-switching] :after,[data-md-color-switching] :before{transition-duration:0ms!important}}[data-md-color-accent=red]{--md-accent-fg-color:#ff1947;--md-accent-fg-color--transparent:#ff19471a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=pink]{--md-accent-fg-color:#f50056;--md-accent-fg-color--transparent:#f500561a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=purple]{--md-accent-fg-color:#df41fb;--md-accent-fg-color--transparent:#df41fb1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=deep-purple]{--md-accent-fg-color:#7c4dff;--md-accent-fg-color--transparent:#7c4dff1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=indigo]{--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=blue]{--md-accent-fg-color:#4287ff;--md-accent-fg-color--transparent:#4287ff1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=light-blue]{--md-accent-fg-color:#0091eb;--md-accent-fg-color--transparent:#0091eb1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=cyan]{--md-accent-fg-color:#00bad6;--md-accent-fg-color--transparent:#00bad61a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=teal]{--md-accent-fg-color:#00bda4;--md-accent-fg-color--transparent:#00bda41a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=green]{--md-accent-fg-color:#00c753;--md-accent-fg-color--transparent:#00c7531a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=light-green]{--md-accent-fg-color:#63de17;--md-accent-fg-color--transparent:#63de171a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=lime]{--md-accent-fg-color:#b0eb00;--md-accent-fg-color--transparent:#b0eb001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=yellow]{--md-accent-fg-color:#ffd500;--md-accent-fg-color--transparent:#ffd5001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=amber]{--md-accent-fg-color:#fa0;--md-accent-fg-color--transparent:#ffaa001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=orange]{--md-accent-fg-color:#ff9100;--md-accent-fg-color--transparent:#ff91001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=deep-orange]{--md-accent-fg-color:#ff6e42;--md-accent-fg-color--transparent:#ff6e421a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-primary=red]{--md-primary-fg-color:#ef5552;--md-primary-fg-color--light:#e57171;--md-primary-fg-color--dark:#e53734;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=pink]{--md-primary-fg-color:#e92063;--md-primary-fg-color--light:#ec417a;--md-primary-fg-color--dark:#c3185d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=purple]{--md-primary-fg-color:#ab47bd;--md-primary-fg-color--light:#bb69c9;--md-primary-fg-color--dark:#8c24a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=deep-purple]{--md-primary-fg-color:#7e56c2;--md-primary-fg-color--light:#9574cd;--md-primary-fg-color--dark:#673ab6;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=indigo]{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=blue]{--md-primary-fg-color:#2094f3;--md-primary-fg-color--light:#42a5f5;--md-primary-fg-color--dark:#1975d2;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=light-blue]{--md-primary-fg-color:#02a6f2;--md-primary-fg-color--light:#28b5f6;--md-primary-fg-color--dark:#0287cf;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=cyan]{--md-primary-fg-color:#00bdd6;--md-primary-fg-color--light:#25c5da;--md-primary-fg-color--dark:#0097a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=teal]{--md-primary-fg-color:#009485;--md-primary-fg-color--light:#26a699;--md-primary-fg-color--dark:#007a6c;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=green]{--md-primary-fg-color:#4cae4f;--md-primary-fg-color--light:#68bb6c;--md-primary-fg-color--dark:#398e3d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=light-green]{--md-primary-fg-color:#8bc34b;--md-primary-fg-color--light:#9ccc66;--md-primary-fg-color--dark:#689f38;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=lime]{--md-primary-fg-color:#cbdc38;--md-primary-fg-color--light:#d3e156;--md-primary-fg-color--dark:#b0b52c;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=yellow]{--md-primary-fg-color:#ffec3d;--md-primary-fg-color--light:#ffee57;--md-primary-fg-color--dark:#fbc02d;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=amber]{--md-primary-fg-color:#ffc105;--md-primary-fg-color--light:#ffc929;--md-primary-fg-color--dark:#ffa200;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=orange]{--md-primary-fg-color:#ffa724;--md-primary-fg-color--light:#ffa724;--md-primary-fg-color--dark:#fa8900;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=deep-orange]{--md-primary-fg-color:#ff6e42;--md-primary-fg-color--light:#ff8a66;--md-primary-fg-color--dark:#f4511f;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=brown]{--md-primary-fg-color:#795649;--md-primary-fg-color--light:#8d6e62;--md-primary-fg-color--dark:#5d4037;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=grey]{--md-primary-fg-color:#757575;--md-primary-fg-color--light:#9e9e9e;--md-primary-fg-color--dark:#616161;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-typeset-a-color:#4051b5}[data-md-color-primary=blue-grey]{--md-primary-fg-color:#546d78;--md-primary-fg-color--light:#607c8a;--md-primary-fg-color--dark:#455a63;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-typeset-a-color:#4051b5}[data-md-color-primary=light-green]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#72ad2e}[data-md-color-primary=lime]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#8b990a}[data-md-color-primary=yellow]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#b8a500}[data-md-color-primary=amber]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#d19d00}[data-md-color-primary=orange]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#e68a00}[data-md-color-primary=white]{--md-primary-fg-color:hsla(var(--md-hue),0%,100%,1);--md-primary-fg-color--light:hsla(var(--md-hue),0%,100%,0.7);--md-primary-fg-color--dark:hsla(var(--md-hue),0%,0%,0.07);--md-primary-bg-color:hsla(var(--md-hue),0%,0%,0.87);--md-primary-bg-color--light:hsla(var(--md-hue),0%,0%,0.54);--md-typeset-a-color:#4051b5}[data-md-color-primary=white] .md-button{color:var(--md-typeset-a-color)}[data-md-color-primary=white] .md-button--primary{background-color:var(--md-typeset-a-color);border-color:var(--md-typeset-a-color);color:hsla(var(--md-hue),0%,100%,1)}@media screen and (min-width:60em){[data-md-color-primary=white] .md-search__form{background-color:hsla(var(--md-hue),0%,0%,.07)}[data-md-color-primary=white] .md-search__form:hover{background-color:hsla(var(--md-hue),0%,0%,.32)}[data-md-color-primary=white] .md-search__input+.md-search__icon{color:hsla(var(--md-hue),0%,0%,.87)}}@media screen and (min-width:76.25em){[data-md-color-primary=white] .md-tabs{border-bottom:.05rem solid #00000012}}[data-md-color-primary=black]{--md-primary-fg-color:hsla(var(--md-hue),15%,9%,1);--md-primary-fg-color--light:hsla(var(--md-hue),15%,9%,0.54);--md-primary-fg-color--dark:hsla(var(--md-hue),15%,9%,1);--md-primary-bg-color:hsla(var(--md-hue),15%,100%,1);--md-primary-bg-color--light:hsla(var(--md-hue),15%,100%,0.7);--md-typeset-a-color:#4051b5}[data-md-color-primary=black] .md-button{color:var(--md-typeset-a-color)}[data-md-color-primary=black] .md-button--primary{background-color:var(--md-typeset-a-color);border-color:var(--md-typeset-a-color);color:hsla(var(--md-hue),0%,100%,1)}[data-md-color-primary=black] .md-header{background-color:hsla(var(--md-hue),15%,9%,1)}@media screen and (max-width:59.984375em){[data-md-color-primary=black] .md-nav__source{background-color:hsla(var(--md-hue),15%,11%,.87)}}@media screen and (max-width:76.234375em){html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer]{background-color:hsla(var(--md-hue),15%,9%,1)}}@media screen and (min-width:76.25em){[data-md-color-primary=black] .md-tabs{background-color:hsla(var(--md-hue),15%,9%,1)}} \ No newline at end of file diff --git a/blog/2023/02/11/changing-tart-license/index.html b/blog/2023/02/11/changing-tart-license/index.html new file mode 100644 index 00000000..d2cf5c5b --- /dev/null +++ b/blog/2023/02/11/changing-tart-license/index.html @@ -0,0 +1,1746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Changing Tart License - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + +

Changing Tart License

+

TLDR: We are transitioning Tart's licensing from AGPL-3.0 to Fair Source 100. This change will +permit unlimited installations on personal computers, but organizations that exceed a certain number of server +installations utilizing 100 CPU cores will be required to obtain a paid license.

+

Background

+

Exactly a year ago on February 11th 2022 we started working on Tart – a tiny CLI to run macOS virtual machines on Apple Silicon. +Three months later we successfully started using Tart in our own production system and decided to share Tart with everyone.

+

+

The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust tool +for various scenarios. Unfortunately, we were not successful in attracting a significant number of contributors. +It's important to note that we did have seven individuals who contributed to the development of Tart to the best of +their abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contribution +is vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically, +a contributor needs to have knowledge of the Swift programming language, as well as a background in operating systems +and network stack. This is the reason why 98.8% of the code and all the major features were contributed by Cirrus Labs engineers.

+ + +

Tart is experiencing significant success among users and has seen widespread adoption for various applications. +The latest macOS Ventura virtual machine image has been downloaded over 27,000 times! We are continually receiving +feedback from an increasing number of users who are utilizing Tart in ways we had not initially anticipated. However, +with a growing user base comes a rise in requests for new features and enhancements. It can be challenging to justify +dedicating our engineering resources to meeting these demands when they do not align with the needs of our company, Cirrus Labs. +As a small, self-funded organization, our priority is to provide for our employees and their families along with developing great products.

+

In addition, the decision to use AGPL-3.0 as the license for Tart was not thoroughly considered at the time of its release. +The choice was made because many companies that were commercializing their products had recently switched to the AGPL license. +However, AGPL has a reputation for being viral, open to interpretation, and not in line with current standards. Additionally, +many organizations have policies against using any AGPL-licensed software in their stacks, which has limited Tart's potential +for wider adoption. See Google's AGPL policy, for example.

+

In order to ensure Tart's long-term viability and to allow us to allocate engineering resources towards further improving Tart, +we plan to transition to a licensing model that includes a nominal fee for companies that reach a substantial level of usage.

+

What is changing

+

In the near future, we are set to launch the first version of Orchard for Tart, a tool that facilitates the coordination +of Tart virtual machines on a cluster of Apple Silicon servers. Concurrently, we will also release version 1.0.0 of Tart, +which will establish a stable API and offer long-term support under a new Fair Source 100 license.

+

The Fair Source 100 license for Tart means that once a certain threshold of server installations utilizing 100 CPU cores +is exceeded, a paid license will be required. A "server installation" refers to the installation of Tart on a physical +device without a physical display connected. For example, a Mac Mini with a HDMI Dummy Plug is considered a server, +but a Mac Mini on a desk with a connected physical display is considered a personal computer. Usage on personal computers +and before reaching the 100 CPU cores limit is royalty-free and does not have the viral properties of AGPL.

+

When an organization surpasses the 100 CPU cores limit, they will be required to obtain a Gold Tier License, +which costs $1000 per month. Upon reaching a limit of 500 CPU cores, a Platinum Tier License +($3000 per month) will be required, and for organizations that exceed 3000 CPU cores, a custom Diamond Tier License +($1 per core per month) will be necessary. All paid license tiers will include priority feature development and SLAs on support with urgent issues.

+

Have we considered alternatives?

+

We have evaluated other options. Initially, we reached out to some of our largest users and asked them to consider +sponsoring the development of features that they were interested in. However, we received no response or were eventually +ignored. Another option we considered was using the open core model and developing enterprise-specific features. However, +this approach is not addressing concerns related to the viral nature of AGPL for non-enterprise users. Ultimately, +we concluded that transitioning to a source-available model with a mandatory paid licensing is fair, as the licensing fees +are relatively insignificant for companies that reach a significant level of usage.

+

If you have any questions or concerns, please feel free to reach out to licensing@cirruslabs.org. +If the new licensing model is not suitable for your organization, you are welcome to continue using the AGPL version of Tart, +but please ensure it is not used in a non-AGPL environment.

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/index.html b/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/index.html new file mode 100644 index 00000000..25303578 --- /dev/null +++ b/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/index.html @@ -0,0 +1,1766 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Announcing Orchard orchestration for managing macOS virtual machines at scale - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + + + + + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + +

Announcing Orchard orchestration for managing macOS virtual machines at scale

+

Today we are happy to announce general availability of Orchard – our new orchestrator to manage Tart virtual machines at scale. +In this post we’ll cover the motivation behind creating yet another orchestrator and why we didn’t go with Kubernetes or Nomad integration.

+

What problem are we trying to solve?

+

After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster of +Apple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time. +By the end of 2022 the requests reached a tipping point, and we started planning.

+ + +

First, we established some constraints about the end users and potential workload our solution should handle. +Running macOS or Linux virtual machines on Apple Silicon is a very niche use case. These VMs are either used in +automation solutions like CI/CD or for managing remote desktop environments. In this case we are aiming to manage +only thousands of virtual machines and not millions.

+

Second, operators of such solutions won’t have experience of operating Kubernetes or Nomad. Operators will most likely +come with experience of using such systems but not managing them. And again, having built-in things like RBAC and +ability to scale to millions were appealing but it seemed like it would be a solution for a few rather than a solution +for everybody to use. Additionally Orchard should provide first class support for accessing virtual machines over SSH/VNC +and support script execution.

+

By that time, the idea of building a simple opinionated orchestrator got more and more appealing. Plus we kind of already did it +for Cirrus CI’s persistent workers feature.

+

Technical constraints

+

With the UX constraints and expectations in place we started thinking about architecture for the orchestrator that we +started calling Orchard.

+ +

+

Since Orchard will manage a maximum of a couple thousands virtual machines and not millions we decided to not think much +about horizontal scalability. Just a single instance of Orchard controller should be enough if it can restart quickly and +persist state between restarts.

+

Orchard should be secure by default. All the communication between a controller and workers should be secure. +All external API requests to Orchard controller should be authorized.

+

During development it’s crucial to have a quick feedback cycle. It should be extremely easy to run Orchard in development. +Configuring a production cluster should be also easy for novice operators.

+

High-level implementation details

+

Cirrus Labs started as a predominantly Kotlin shop with a little Go. But over the years we gradually moved a lot of things to Go. +We love the expressibility of Kotlin as a language but the ecosystem for writing system utilities and services is superb in Go.

+

Orchard is a single Go project that implements both controller server interface and worker client logic in a single repository. +This simplifies code sharing and testability of the both components and allows to change them in a single pull request.

+

Another benefit is that Orchard can be distributed as a single binary. We intend to run Orchard controller on a single host. +Data model for the orchestration didn’t look complex as well. These observations lead us to exploring the use of an embedded database. +Just imagine! Orchard can be distributed as a single binary with no external dependencies on any database or runtime!

+

And we did exactly that! Orchard is distributed as a single binary that can be run in “controller” mode on a Linux/macOS host and +in “worker” mode on macOS hosts. Orchard controller is using extremely fast BadgerDB key-value storage to persist data.

+

Conclusion

+

Please give Orchard a try! To run it locally in development mode on any Apple Silicon device +please run the following command:

+
brew install cirruslabs/cli/orchard
+orchard dev
+
+

This will launch a development cluster with a single worker on your machine. Refer to Orchard documentation +on how to create your first virtual machine and access it.

+

In a separate blog post +we’ll cover how Orchard implements seamless SSH access over a gRPC connection. Stay tuned and please don’t hesitate to +reach out!

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/index.html b/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/index.html new file mode 100644 index 00000000..93dfec3f --- /dev/null +++ b/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/index.html @@ -0,0 +1,1801 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SSH over gRPC or how Orchard simplifies accessing VMs in private networks - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + + + + + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + +

SSH over gRPC or how Orchard simplifies accessing VMs in private networks

+

We started developing Orchard, an orchestrator for Tart, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.

+

At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they’d access network services on their local Tart VMs.

+

While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can’t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?

+ + +

Implementing port forwarding: gRPC to the rescue

+

We need to keep a full-duplex connection with the controller for the port-forwarding to work, and the two obvious protocol options are:

+
    +
  • WebSocket API through a new controller’s REST API endpoint
  • +
  • gRPC using Content-Type differentiation
  • +
+

We’ve chosen the gRPC for controller ↔︎ worker connection, simply because it requires less code on our side and it will only be used internally, which means we don’t need to document it as extensively as our REST API. In essence, port forwarding is streaming of bytes of a connection in both ways, so gRPC streams looked like a natural solution. The resulting protocol is dead simple:

+
service Controller {
+  rpc Watch(google.protobuf.Empty) returns (stream WatchInstruction);
+
+  rpc PortForward(stream PortForwardData) returns (stream PortForwardData);
+}
+
+message WatchInstruction {
+  message PortForward {
+    string session = 1;
+    string vm_uid = 2;
+    uint32 vm_port = 3;
+  }
+
+  oneof action {
+    PortForward port_forward_action = 1;
+  }
+}
+
+message PortForwardData {
+  bytes data = 1;
+}
+
+

On bootstrap, each Orchard worker establishes a Watch() RPC stream and waits for the PortForward instruction from the controller indefinitely. This long-running session might be used not just for port-forwarding, but for notifying the workers about changed resources, which results in workers picking up your VM for execution instantly.

+

Once PortForward instruction is received, the worker connects to the specified VM and port locally and opens a new PortForward() RPC stream with the controller, carrying the unique session identifier in the gRPC metadata to help distinguish several port forwarding requests.

+

We’re using a pretty ingenious Golang package that turns any gRPC stream into a net.Conn. This allows us to abstract from the gRPC details and simply proxy two net.Conns, thus providing the port forwarding functionality.

+

We’ve also initially considered using Yamux to only keep a single connection with each worker, however, that involves the burden of dealing with flow control and potential implementation bugs associated with it, so we’ve decided to simply open an additional connection for each port forwarding session and let the OS deal with it.

+

Building on top of the port-forwarding

+

First of all, we’ve made the new port-forwarding functionality available for integrations via the Orchard’s REST API:

+

OpenAPI documentation for Orchard's port-forwarding endpoint

+

All you need is to use a WebSocket client when accessing this endpoint to make it work.

+

Secondly, we’ve exposed three commands in the Orchard CLI that all use this endpoint:

+

orchard port-forward

+

Opens a TCP port locally and forwards everything sent to it to the specified VM (and vice versa).

+

For example, orchard port-forward vm sonoma-builder 2222:22 will forward traffic from the local TCP port 2222 to the ventura-builder VM’s TCP port 22.

+

orchard ssh

+

Connects to the specified VM on the default SSH port 22, optionally only launching a command (if specified), similarly to what the official OpenSSH client does.

+

For example, orchard ssh vm sonoma-builder will open an interactive session with the ventura-builder VM.

+

You can also send local scripts for execution by utilizing redirection:

+
orchard ssh vm sonoma-builder 'sh -s' < script.sh
+
+

orchard vnc

+

Establishes a port forwarding to the specified VM’s default VNC port 5900 and opens the default macOS Screen Sharing app.

+

For example, orchard vnc vm sonoma-builder will establish a port-forwarding to the ventura-builder VM's port 5900 under the hood and launch macOS Screen Sharing app.

+

Note that the SSH and VNC commands expect the VM resource to specify credentials in it’s definition (can be done via orchard create vm), and will otherwise fall back to the credentials specified by --username and --password, or if none specified — to de-facto standard of admin:admin credentials.

+

Conclusion

+

Overall, the technology described in this article somewhat resembles what we previously did for Cirrus Terminal. The only difference is that in Cirrus Terminal we carry terminal-specific characters, and in Orchard — we carry bytes for an arbitrary TCP connection.

+

We really hope this feature will be useful for many, just as the Cirrus Terminal, and that it will remove the pain of scaling Tart beyond a single machine.

+

You can give Orchard a try by running it locally in development mode on any Apple Silicon device:

+
brew install cirruslabs/cli/orchard
+orchard dev
+
+

This will launch a development cluster with a single worker on your machine. Refer to Orchard documentation +on how to create your first virtual machine and access it.

+

Stay tuned and don’t hesitate to send us your feedback either on GitHub or Twitter!

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/2023/09/20/tart-200-and-community-updates/index.html b/blog/2023/09/20/tart-200-and-community-updates/index.html new file mode 100644 index 00000000..5fb1f9a7 --- /dev/null +++ b/blog/2023/09/20/tart-200-and-community-updates/index.html @@ -0,0 +1,1777 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tart 2.0.0 and community updates - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + +
+ +
+ + + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + +

Tart 2.0.0 and community updates

+

Today we'd like to share some news and updates around the Tart ecosystem since the Tart 1.0.0 release back in February.

+ + +

Community Growth

+

In the last 7 months Tart community almost tripled and growth is continuing to accelerate. Tart just crossed 25,000 installations, +dozens of companies that we know of are using Tart in their daily workflows. If your company is not in the list please consider +joining!

+
+
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
+
+

We are also very pleased by how the community responded to the license change. +We now have a number of companies running Tart at scale under the new license. Revenue from the licensing allowed us to +allocate time to continue improving Tart which brings us to the section below.

+

Recent updates and what's changing in Tart 2.0.0

+

In the last 7 months we've had 12 feature releases that brought a lot of features requested by the community. Here are just +a few of them to highlight:

+

-Custom GitLab Runner Executor. +-Cluster Management via Orchard. +-Numerous compatibility improvements for all kinds of OCI-registries. +-Sonoma Support (see details below).

+

But one of the most requested features/complaints was around pulling huge Tart images from remote OCI-compatible registries. +With an ideal network conditions tart pull worked pretty good but in case of any network issues it was required to +restart the pull from scratch. Additionally, some registries are notably slow streaming a single blob but can stream +multiple blobs in parallel. Finally, the initial format of storing Tart VMs was very naive: disk image is compressed +via a single stream which is chunked up into blobs that are serially uploaded to a registry. A single compression stream +means that Tart can also only decompress blobs serially.

+

Given these three observations above we came up with an improved format of storing Tart VM disk images. In Tart 2.0.0 +disk images are chunked up first and compressed independently into blobs, when pushed, each blob has attached annotations +of expected uncompressed size and a checksum. This way when Tart 2.0.0 is pulling an image pushed by Tart 2.0.0 each blob can +be pulled, uncompressed and written at the right offset independently. Having checksums along expected uncompressed blob size +also allowed to support resumable pulls. Upon a failure Tart 2.0.0 will compare checksums of chunks and will continue pulling +only missing blobs.

+

Overall in our experiments we saw a 10% improvement in compressed size of the images and 4 times faster pulls.

+

In order to try the new image format please upgrade Tart and try to pull any of the Sonoma images:

+
brew upgrade cirruslabs/cli/tart
+tart pull ghcr.io/cirruslabs/macos-sonoma-base:latest
+
+

macOS Sonoma Updates

+

Tart VMs now can be run in a "suspendable" mode which will enable VM snapshotting instead of the standard shutdown. +VMs with an existing snapshot will run from the same state as they got snapshotted. Please check demo down below:

+
+ + +
+ +

There are two caveats to the "suspendable" mode support:

+
    +
  1. Both host and guest should be running macOS Sonoma.
  2. +
  3. Snapshots are locally encrypted and can't be shared between physical hosts. Therefore tart push won't push the corresponding snapshotted state of the VM.
  4. +
+

Try the "suspendable" mode for yourself by passing --suspendable flag to a tart run command:

+
tart clone ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base
+tart run --suspendable sonoma-base
+
+

Conclusion

+

We are very excited about this major release of Tart. Please give it a try and let us know how it went!

+

Stay tuned for new updates and announcements! There are a few coming up very shortly...

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/index.html b/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/index.html new file mode 100644 index 00000000..b0d7d437 --- /dev/null +++ b/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/index.html @@ -0,0 +1,1738 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tart is now available on AWS Marketplace - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + +

Tart is now available on AWS Marketplace

+

Announcing official AMIs for EC2 Mac Instances +with preconfigured Tart installation that is optimized to work within AWS infrastructure.

+

EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini with +a plugged in Nitro device that can push the physical power button!

+

EC2 M2 Pro

+

This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.

+

In this blog post we’ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.

+ + +

Let’s start from the basics, what EC2 Mac Instances allow to do compared to physical Mac Minis seating in offices of +many companies around the world?

+

First and foremost, EC2 Mac Instances sit inside AWS data centers and can leverage all the goodies of VPC networking +within your company's existing infrastructure. No need to connect your Macs in the office through a VPN and deal +with networking and security.

+

Additionally, EC2 Mac Instances are booting from EBS volumes which means it is possible to always have reproducible instances +and apply all the best practices of Infrastructure-as-Code. Managing a fleet of physical Macs is a pain and it's very hard +to make them configured in a reproducible and stable way. With booting from identical EBS volumes your team is always sure +about the identical initial state of the fleet.

+

Compromises of EC2 Mac Instances

+

The flexibility of EBS volumes for macOS comes with some compromises that virtualization solutions like Tart can help with. +The initial boot from an EBS volume takes some time and not instant. macOS itself is pretty heavy and a Nitro device needs +to download tens of gigabytes that macOS requires in order to boot. This means that resetting a EC2 Mac Instance to a clean state +is not instant and usually takes a couple of minutes when you can’t utilize the precious resources for your workloads.

+

It is much easier to tailor such EBS volumes with tools like Packer but there is still a friction to test newly created EBS volumes +since one needs to start and run a EC2 Mac Instance and it’s not possible to test things locally. Similarly it is even harder +to test beta versions of macOS that require manual interaction with a running instance.

+

Solution

+

Tart can help with all the compromises! Tart virtual machines (VMs) have nearly native performance thanks to utilizing +native Virtualization.Framework that was developed along the first Apple Silicon chip. Tart VMs can be copied/disposed +instantly and booting a fresh Tart VM takes only several seconds. It is also possible to run two different Tart VMs in parallel +that can have completely different versions of macOS and packages. For example, it is possible to have the latest stable macOS +with the release version of Xcode along with the next version of macOS with the latest beta of Xcode.

+

Creation of Tart VMs can be automated with a Packer plugin the same way as +creation of EC2 AMIs with one caveat that Tart Packer Plugin works locally so you can test the same virtual machine locally +as you would run it in the cloud.

+

Lightweight nature of Tart VMs with a focus on an easy-to-integrate Tart CLI compliments any macOS automation and helps to reduce +the feedback cycle and improves reproducibility of macOS environments even further.

+

Conclusion

+

We are excited to bring official AMIs that include Tart installation optimized to work within AWS. +In the coming weeks when macOS Sonoma will become available on AWS we’ll release another update specifically targeting EC2 Mac Instances. +This update will simplify access to local SSDs of Mac Instances that are slightly faster than EBS volumes. Stay tuned and don’t hesitate +to ask any questions.

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/index.html b/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/index.html new file mode 100644 index 00000000..3ade7bf1 --- /dev/null +++ b/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/index.html @@ -0,0 +1,1710 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New dashboard with insights into performance of Cirrus Runners - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + +

New dashboard with insights into performance of Cirrus Runners

+

This month we are celebrating one year since launching Cirrus Runners — managed Apple Silicon infrastructure for your +GitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insights +into price performance of them for our customers.

+

One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscription +that costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflows +for an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon as +there is a free runner. This is different from how GitHub-managed GitHub Actions are billed for — you pay for each minute of execution time.

+

The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is that +you need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.

+ + +

But first, let's see theoretically the lowest price per minute of a Cirrus Runners. If you run 24 hours a day 7 days a week +then you will get 43,200 minutes of execution time per month. This means that the price per minute is $0.0035 if your runners +utilization is 100%. But even if your engineering teams is located in a single time zone and works 8 hours a day 5 days a week +then you will get 9,600 minutes of execution time per month which comes down to $0.015 per-minute. This is still more than 10 times cheaper +than recently announced Apple Silicon GitHub-manged runners that cost $0.16 per minute.

+

Now lets take a look at the new Cirrus Runners dashboard of a real customers that run their workflows on Cirrus Runners +and practically pushing the price performance pretty close to the theoretical minimum.

+

Cirrus Runners Dashboard

+

As you can see above Cirrus Runners Dashboard focuses on 4 core metrics:

+
    +
  1. Minutes Used — overall amount of minutes that Cirrus Runners were executing jobs.
  2. +
  3. Workflow Runs — absolute number of workflow runs that were executed on Cirrus Runners.
  4. +
  5. Queue Size — number of jobs that were queued and waiting for a free Cirrus Runner.
  6. +
  7. Queue Time — average time that jobs were waiting in the queue.
  8. +
+

In this particular example price performance of Cirrus Runners is $0.006 per minute which is 2 times more than the theoretical minimum +and 26 times better than GitHub-managed Apple Silicon runners. But this is a extreme example, looking at queue time and queue size +we can see that the downside of such great price performance is that jobs are waiting in the queue on average around 5 minutes.

+

Here is another example of Cirrus Runners Dashboard for a different customer that has a slightly higher price performance of $0.017 per minute +but at the same time doesn't experience queue time at all. Note that $0.017 is still 10 times cheaper than GitHub-managed Apple Silicon runners.

+

Cirrus Runners Dashboard

+

Conclusion

+

Having a fixed price for Cirrus Runners is a great way to save money on your CI/CD infrastructure and just in general have predictable budged. +But it requires keeping the balance between price per minute and queue time. Cirrus Runners Dashboard helps you to keep an eye on this balance +and make sure that you are getting the most out of your Cirrus Runners.

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/index.html b/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/index.html new file mode 100644 index 00000000..e65af584 --- /dev/null +++ b/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/index.html @@ -0,0 +1,1712 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Jumping through the hoops: SSH jump host functionality in Orchard - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+
+ + +
+
+
+
+ + + + + + + + + + +

Jumping through the hoops: SSH jump host functionality in Orchard

+

Almost a year ago, when we started building Orchard, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.

+

This effort resulted in commands like orchard port-forward and orchard ssh, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.

+

Today, we’re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the ssh command like ssh -J <service account name>@orchard-controller.example.com <VM name>!

+ + +

Implementation

+

In a typical cluster there’s one controller, to which workers connect by calling various REST API endpoints to synchronize the worker & VMs state. Each worker also maintains a persistent bi-directional gRPC connection with the controller, with the goal of improving the overall reactivity and making the port-forwarding work.

+

The gRPC service definition that the controller offers is pretty minimalistic:

+
service Controller {
+  rpc Watch(google.protobuf.Empty) returns (stream WatchInstruction);
+  rpc PortForward(stream PortForwardData) returns (stream PortForwardData);
+}
+
+

Each watch instruction corresponds a single action to be done by the worker, which can either be a request for establishing a port-forwarding stream or a request for VMs re-syncing:

+
oneof action {
+  PortForward port_forward_action = 1;
+  SyncVMs sync_vms_action = 2;
+}
+
+

Now, when the user invokes orchard port-forward or orchard ssh, controller effectively becomes a rendezvous point by accepting the WebSocket connection from the user, and then asking the worker associated with the requested VM to establish a port-forwarding stream, and finally proxying the two streams together.

+

An illustration showing the Orchard controller and worker proxying the SSH connection

+

SSH protocol works the same way, multiplexing multiple channels in a single transport connection, where each channel can be upgraded either to an interactive session (that’s what you get when you ssh to the server) or X11 channel (for X11 forwarding using -X), direct or forward TCP/IP channels (these are used for local and remote port-forwarding when using -L and -R options correspondingly) and so on.

+

In fact, ssh -J jump host functionality also uses the direct TCP/IP channel, which is just a single port-forwarding request that needs to be implemented. We’ve used Golang's SSH library as the most mature choice for this task, and it’s been pleasant to work with so far.

+

The support for ssh -J has landed in Orchard version 0.19.0. To configure the SSH jump host, simply add the --listen-ssh command-line argument to your orchard controller run invocation.

+

Once running, you can connect to any VM in the cluster using the ssh -J <service account name>@orchard-controller.example.com <VM name>. The password for the jump host is the corresponding service account’s token.

+

Future plans

+

First of all, we’d like to thank our paid clients, without which this feature wouldn’t be possible. Become one now and get the benefit of higher Tart VMs and Orchard workers allowances and making sure that the roadmap for Tart and Orchard is aligned with your company's needs.

+

In the near future we plan to implement a mechanism similar to authorized_keys file that will allow attaching public SSH keys to the Orchard controller’s service accounts, and thus avoid the need to type the passwords.

+

Stay tuned and don’t hesitate to send us your feedback on GitHub and Twitter!

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/archive/2023/index.html b/blog/archive/2023/index.html new file mode 100644 index 00000000..3f6adfb7 --- /dev/null +++ b/blog/archive/2023/index.html @@ -0,0 +1,1890 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2023 - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+

2023

+
+ +
+
+ + + + +
+
+

New dashboard with insights into performance of Cirrus Runners

+

This month we are celebrating one year since launching Cirrus Runners — managed Apple Silicon infrastructure for your +GitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insights +into price performance of them for our customers.

+

One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscription +that costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflows +for an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon as +there is a free runner. This is different from how GitHub-managed GitHub Actions are billed for — you pay for each minute of execution time.

+

The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is that +you need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.

+ + + + + +
+
+ +
+
+ + + + +
+
+

Tart is now available on AWS Marketplace

+

Announcing official AMIs for EC2 Mac Instances +with preconfigured Tart installation that is optimized to work within AWS infrastructure.

+

EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini with +a plugged in Nitro device that can push the physical power button!

+

EC2 M2 Pro

+

This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.

+

In this blog post we’ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.

+ + + + + +
+
+ + + +
+
+ + + + +
+
+

SSH over gRPC or how Orchard simplifies accessing VMs in private networks

+

We started developing Orchard, an orchestrator for Tart, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.

+

At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they’d access network services on their local Tart VMs.

+

While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can’t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?

+ + + + + +
+
+ +
+
+ + + + +
+
+

Announcing Orchard orchestration for managing macOS virtual machines at scale

+

Today we are happy to announce general availability of Orchard – our new orchestrator to manage Tart virtual machines at scale. +In this post we’ll cover the motivation behind creating yet another orchestrator and why we didn’t go with Kubernetes or Nomad integration.

+

What problem are we trying to solve?

+

After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster of +Apple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time. +By the end of 2022 the requests reached a tipping point, and we started planning.

+ + + + + +
+
+ +
+
+ + + + +
+
+

Changing Tart License

+

TLDR: We are transitioning Tart's licensing from AGPL-3.0 to Fair Source 100. This change will +permit unlimited installations on personal computers, but organizations that exceed a certain number of server +installations utilizing 100 CPU cores will be required to obtain a paid license.

+

Background

+

Exactly a year ago on February 11th 2022 we started working on Tart – a tiny CLI to run macOS virtual machines on Apple Silicon. +Three months later we successfully started using Tart in our own production system and decided to share Tart with everyone.

+

+

The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust tool +for various scenarios. Unfortunately, we were not successful in attracting a significant number of contributors. +It's important to note that we did have seven individuals who contributed to the development of Tart to the best of +their abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contribution +is vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically, +a contributor needs to have knowledge of the Swift programming language, as well as a background in operating systems +and network stack. This is the reason why 98.8% of the code and all the major features were contributed by Cirrus Labs engineers.

+ + + + + +
+
+ + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/archive/2024/index.html b/blog/archive/2024/index.html new file mode 100644 index 00000000..e3ee902d --- /dev/null +++ b/blog/archive/2024/index.html @@ -0,0 +1,1614 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2024 - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+

2024

+
+ +
+
+ + + + +
+
+

Jumping through the hoops: SSH jump host functionality in Orchard

+

Almost a year ago, when we started building Orchard, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.

+

This effort resulted in commands like orchard port-forward and orchard ssh, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.

+

Today, we’re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the ssh command like ssh -J <service account name>@orchard-controller.example.com <VM name>!

+ + + + + +
+
+ + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/category/announcement/index.html b/blog/category/announcement/index.html new file mode 100644 index 00000000..11ed1a29 --- /dev/null +++ b/blog/category/announcement/index.html @@ -0,0 +1,1841 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + announcement - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+

announcement

+
+ +
+
+ + + + +
+
+

New dashboard with insights into performance of Cirrus Runners

+

This month we are celebrating one year since launching Cirrus Runners — managed Apple Silicon infrastructure for your +GitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insights +into price performance of them for our customers.

+

One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscription +that costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflows +for an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon as +there is a free runner. This is different from how GitHub-managed GitHub Actions are billed for — you pay for each minute of execution time.

+

The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is that +you need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.

+ + + + + +
+
+ +
+
+ + + + +
+
+

Tart is now available on AWS Marketplace

+

Announcing official AMIs for EC2 Mac Instances +with preconfigured Tart installation that is optimized to work within AWS infrastructure.

+

EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini with +a plugged in Nitro device that can push the physical power button!

+

EC2 M2 Pro

+

This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.

+

In this blog post we’ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.

+ + + + + +
+
+ + + +
+
+ + + + +
+
+

Announcing Orchard orchestration for managing macOS virtual machines at scale

+

Today we are happy to announce general availability of Orchard – our new orchestrator to manage Tart virtual machines at scale. +In this post we’ll cover the motivation behind creating yet another orchestrator and why we didn’t go with Kubernetes or Nomad integration.

+

What problem are we trying to solve?

+

After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster of +Apple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time. +By the end of 2022 the requests reached a tipping point, and we started planning.

+ + + + + +
+
+ +
+
+ + + + +
+
+

Changing Tart License

+

TLDR: We are transitioning Tart's licensing from AGPL-3.0 to Fair Source 100. This change will +permit unlimited installations on personal computers, but organizations that exceed a certain number of server +installations utilizing 100 CPU cores will be required to obtain a paid license.

+

Background

+

Exactly a year ago on February 11th 2022 we started working on Tart – a tiny CLI to run macOS virtual machines on Apple Silicon. +Three months later we successfully started using Tart in our own production system and decided to share Tart with everyone.

+

+

The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust tool +for various scenarios. Unfortunately, we were not successful in attracting a significant number of contributors. +It's important to note that we did have seven individuals who contributed to the development of Tart to the best of +their abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contribution +is vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically, +a contributor needs to have knowledge of the Swift programming language, as well as a background in operating systems +and network stack. This is the reason why 98.8% of the code and all the major features were contributed by Cirrus Labs engineers.

+ + + + + +
+
+ + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/category/orchard/index.html b/blog/category/orchard/index.html new file mode 100644 index 00000000..8c12c53e --- /dev/null +++ b/blog/category/orchard/index.html @@ -0,0 +1,1720 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + orchard - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+

orchard

+
+ +
+
+ + + + +
+
+

Jumping through the hoops: SSH jump host functionality in Orchard

+

Almost a year ago, when we started building Orchard, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.

+

This effort resulted in commands like orchard port-forward and orchard ssh, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.

+

Today, we’re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the ssh command like ssh -J <service account name>@orchard-controller.example.com <VM name>!

+ + + + + +
+
+ +
+
+ + + + +
+
+

SSH over gRPC or how Orchard simplifies accessing VMs in private networks

+

We started developing Orchard, an orchestrator for Tart, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.

+

At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they’d access network services on their local Tart VMs.

+

While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can’t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?

+ + + + + +
+
+ +
+
+ + + + +
+
+

Announcing Orchard orchestration for managing macOS virtual machines at scale

+

Today we are happy to announce general availability of Orchard – our new orchestrator to manage Tart virtual machines at scale. +In this post we’ll cover the motivation behind creating yet another orchestrator and why we didn’t go with Kubernetes or Nomad integration.

+

What problem are we trying to solve?

+

After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster of +Apple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time. +By the end of 2022 the requests reached a tipping point, and we started planning.

+ + + + + +
+
+ + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blog/images/ec2-mac2-m2pro.png b/blog/images/ec2-mac2-m2pro.png new file mode 100644 index 00000000..cdb871c5 Binary files /dev/null and b/blog/images/ec2-mac2-m2pro.png differ diff --git a/blog/images/jumping-through-the-hoops.png b/blog/images/jumping-through-the-hoops.png new file mode 100644 index 00000000..8d73197e Binary files /dev/null and b/blog/images/jumping-through-the-hoops.png differ diff --git a/blog/images/runners-price-performance-2.png b/blog/images/runners-price-performance-2.png new file mode 100644 index 00000000..21a6f9d0 Binary files /dev/null and b/blog/images/runners-price-performance-2.png differ diff --git a/blog/images/runners-price-performance-3.png b/blog/images/runners-price-performance-3.png new file mode 100644 index 00000000..6ed1c791 Binary files /dev/null and b/blog/images/runners-price-performance-3.png differ diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 00000000..b9d0d9ed --- /dev/null +++ b/blog/index.html @@ -0,0 +1,1941 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+

Blog

+
+ +
+
+ + + + +
+
+

Jumping through the hoops: SSH jump host functionality in Orchard

+

Almost a year ago, when we started building Orchard, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.

+

This effort resulted in commands like orchard port-forward and orchard ssh, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.

+

Today, we’re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the ssh command like ssh -J <service account name>@orchard-controller.example.com <VM name>!

+ + + + + +
+
+ +
+
+ + + + +
+
+

New dashboard with insights into performance of Cirrus Runners

+

This month we are celebrating one year since launching Cirrus Runners — managed Apple Silicon infrastructure for your +GitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insights +into price performance of them for our customers.

+

One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscription +that costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflows +for an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon as +there is a free runner. This is different from how GitHub-managed GitHub Actions are billed for — you pay for each minute of execution time.

+

The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is that +you need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.

+ + + + + +
+
+ +
+
+ + + + +
+
+

Tart is now available on AWS Marketplace

+

Announcing official AMIs for EC2 Mac Instances +with preconfigured Tart installation that is optimized to work within AWS infrastructure.

+

EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini with +a plugged in Nitro device that can push the physical power button!

+

EC2 M2 Pro

+

This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.

+

In this blog post we’ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.

+ + + + + +
+
+ + + +
+
+ + + + +
+
+

SSH over gRPC or how Orchard simplifies accessing VMs in private networks

+

We started developing Orchard, an orchestrator for Tart, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.

+

At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they’d access network services on their local Tart VMs.

+

While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can’t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?

+ + + + + +
+
+ +
+
+ + + + +
+
+

Announcing Orchard orchestration for managing macOS virtual machines at scale

+

Today we are happy to announce general availability of Orchard – our new orchestrator to manage Tart virtual machines at scale. +In this post we’ll cover the motivation behind creating yet another orchestrator and why we didn’t go with Kubernetes or Nomad integration.

+

What problem are we trying to solve?

+

After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster of +Apple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time. +By the end of 2022 the requests reached a tipping point, and we started planning.

+ + + + + +
+
+ +
+
+ + + + +
+
+

Changing Tart License

+

TLDR: We are transitioning Tart's licensing from AGPL-3.0 to Fair Source 100. This change will +permit unlimited installations on personal computers, but organizations that exceed a certain number of server +installations utilizing 100 CPU cores will be required to obtain a paid license.

+

Background

+

Exactly a year ago on February 11th 2022 we started working on Tart – a tiny CLI to run macOS virtual machines on Apple Silicon. +Three months later we successfully started using Tart in our own production system and decided to share Tart with everyone.

+

+

The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust tool +for various scenarios. Unfortunately, we were not successful in attracting a significant number of contributors. +It's important to note that we did have seven individuals who contributed to the development of Tart to the best of +their abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contribution +is vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically, +a contributor needs to have knowledge of the Swift programming language, as well as a background in operating systems +and network stack. This is the reason why 98.8% of the code and all the major features were contributed by Cirrus Labs engineers.

+ + + + + +
+
+ + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/faq/index.html b/faq/index.html new file mode 100644 index 00000000..261c9f11 --- /dev/null +++ b/faq/index.html @@ -0,0 +1,1847 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Frequently Asked Questions - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + +

FAQ

+ +

VM location on disk

+

Tart stores all its files in ~/.tart/ directory. Local images that you can run are stored in ~/.tart/vms/. +Remote images are pulled into ~/.tart/cache/OCIs/.

+

Nested virtualization support?

+

Tart is limited by functionality of Apple's Virtualization.Framework. At the moment Virtualization.Framework +doesn't support nested virtualization.

+

Connecting to a service running on host

+

To connect from within a virtual machine to a service running on the host machine +please first make sure that the service is binded to 0.0.0.0.

+

Then from within a virtual machine you can access the service using the router's IP address that you can get either from Preferences -> Network +or by running the following command in the Terminal:

+
netstat -nr | grep default | head -n 1 | awk '{print $2}'
+
+

Note: that accessing host is only possible with the default NAT network. If you are running your virtual machines with +Softnet (via tart run --net-softnet <VM NAME>), then the network isolation +is stricter and it's not only possible to access the host.

+

Changing the default NAT subnet

+

To change the default network to 192.168.77.1:

+
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist Shared_Net_Address -string 192.168.77.1
+
+

Note that even through a network would normally be specified as 192.168.77.0, the vmnet framework seems to treat this as a starting address too and refuses to pick up such network-like values.

+

The default subnet mask 255.255.255.0 should suffice for most use-cases, however, you can also change it to 255.255.0.0, for example:

+
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist Shared_Net_Mask -string 255.255.0.0
+
+

Changing the default DHCP lease time

+

By default, the built-in macOS DHCP server allocates IP-addresses to the VMs for the duration of 86,400 seconds (one day), which may easily cause DHCP exhaustion if you run more than ~253 VMs per day, or in other words, more than one VM every ~6 minutes.

+

This issue is worked around automatically when using Softnet, however, if you don't use or can't use it, the following command will reduce the lease time from the default 86,400 seconds (one day) to 600 seconds (10 minutes):

+
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.InternetSharing.default.plist bootpd -dict DHCPLeaseTimeSecs -int 600
+
+

Note that this tweak persists across reboots, so normally you'll only need to do it once per new host.

+

Running login/clone/pull/push commands over SSH

+

When invoking the Tart in an SSH session, you might get error like this:

+
+

Keychain returned unsuccessful status -25308

+
+

...or this:

+
+

Keychain failed to update item: User interaction is not allowed.

+
+

This is because Tart uses Keychain to store and retrieve OCI registry credentials by default, but Keychain is only automatically/semi-automatically unlocked in GUI sessions.

+

To unlock the Keychain in an SSH session, run the following command, which will ask for your user's password:

+
security unlock-keychain
+
+

This command also supports the -p command-line argument that allows you to supply the password and unlock non-interactively, which is great for scripts.

+

If that doesn't work for you for some reason, you can pass the credentials via the environment variables, see Registry Authorization for more details on how to do that.

+

How Tart is different from Anka?

+

Under the hood Tart is using the same technology as Anka 3.0 so there should be no real difference in performance +or features supported. If there is some feature missing please don't hesitate to create a feature request.

+

Instead of Anka Registry, Tart can work with any OCI-compatible container registry. This provides a much more consistent +and scalable experience for distributing virtual machines.

+

Tart doesn't yet have an analogue of Anka Controller for managing long living VMs but soon will be.

+

Automatic pruning

+

tart pull and tart clone commands check the remaining space available on the volume associated with TART_HOME directory (defaults to ~/.tart) before pulling or cloning anything.

+

In case there's not enough space to fit the newly pulled or cloned VM image, Tart will remove the least recently accessed VMs from OCI cache and .ipsw files from IPSW cache until enough free space is available.

+

To disable this functionality, set the TART_NO_AUTO_PRUNE environment variable either globally:

+
export TART_NO_AUTO_PRUNE=
+
+

...or per tart pull and tart clone invocation as follows:

+
TART_NO_AUTO_PRUNE= tart pull ...
+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/feed_json_created.json b/feed_json_created.json new file mode 100644 index 00000000..9b645a9c --- /dev/null +++ b/feed_json_created.json @@ -0,0 +1 @@ +{"version": "https://jsonfeed.org/version/1", "title": "Tart Virtualization", "home_page_url": "https://tart.run/", "feed_url": "https://tart.run/feed_json_created.json", "description": "Tart is a virtualization toolset to build, run and manage macOS and Linux virtual machines (VMs) on Apple Silicon.\n", "icon": null, "authors": [{"name": "Cirrus Labs"}], "language": "en", "items": [{"id": "https://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/", "url": "https://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/", "title": "Jumping through the hoops: SSH jump host functionality in Orchard", "content_html": "

Jumping through the hoops: SSH jump host functionality in Orchard

\n

Almost a year ago, when we started building Orchard, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.

\n

This effort resulted in commands like orchard port-forward and orchard ssh, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.

\n

Today, we\u2019re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the ssh command like ssh -J <service account name>@orchard-controller.example.com <VM name>!

", "image": "https://tart.run/assets/images/social/blog/posts/2024-06-20-jumping-through-the-hoops.png", "date_published": "2024-06-20T00:00:00+00:00", "authors": [{"name": "edigaryev"}], "tags": null}, {"id": "https://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/", "url": "https://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/", "title": "New dashboard with insights into performance of Cirrus Runners", "content_html": "

New dashboard with insights into performance of Cirrus Runners

\n

This month we are celebrating one year since launching Cirrus Runners \u2014 managed Apple Silicon infrastructure for your\nGitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insights\ninto price performance of them for our customers.

\n

One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscription\nthat costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflows\nfor an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon as\nthere is a free runner. This is different from how GitHub-managed GitHub Actions are billed for \u2014 you pay for each minute of execution time.

\n

The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is that\nyou need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-11-03-cirrus-runners-dashboard.png", "date_published": "2023-11-03T00:00:00+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/", "url": "https://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/", "title": "Tart is now available on AWS Marketplace", "content_html": "

Tart is now available on AWS Marketplace

\n

Announcing official AMIs for EC2 Mac Instances\nwith preconfigured Tart installation that is optimized to work within AWS infrastructure.

\n

EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini with\na plugged in Nitro device that can push the physical power button!

\n

\"EC2

\n

This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.

\n

In this blog post we\u2019ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-10-06-tart-on-aws.png", "date_published": "2023-10-06T00:00:00+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/09/20/tart-200-and-community-updates/", "url": "https://tart.run/blog/2023/09/20/tart-200-and-community-updates/", "title": "Tart 2.0.0 and community updates", "content_html": "

Tart 2.0.0 and community updates

\n

Today we'd like to share some news and updates around the Tart ecosystem since the Tart 1.0.0 release back in February.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-09-20-tart-2.0.0.png", "date_published": "2023-09-20T00:00:00+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/", "url": "https://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/", "title": "SSH over gRPC or how Orchard simplifies accessing VMs in private networks", "content_html": "

SSH over gRPC or how Orchard simplifies accessing VMs in private networks

\n

We started developing Orchard, an orchestrator for Tart, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.

\n

At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they\u2019d access network services on their local Tart VMs.

\n

While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can\u2019t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?

", "image": "https://tart.run/assets/images/social/blog/posts/2023-04-28-orchard-ssh-over-grpc.png", "date_published": "2023-04-28T00:00:00+00:00", "authors": [{"name": "edigaryev"}], "tags": null}, {"id": "https://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/", "url": "https://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/", "title": "Announcing Orchard orchestration for managing macOS virtual machines at scale", "content_html": "

Announcing Orchard orchestration for managing macOS virtual machines at scale

\n

Today we are happy to announce general availability of Orchard \u2013 our new orchestrator to manage Tart virtual machines at scale.\nIn this post we\u2019ll cover the motivation behind creating yet another orchestrator and why we didn\u2019t go with Kubernetes or Nomad integration.

\n

What problem are we trying to solve?

\n

After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster of\nApple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time.\nBy the end of 2022 the requests reached a tipping point, and we started planning.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-04-25-orchard-ga.png", "date_published": "2023-04-25T00:00:00+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/02/11/changing-tart-license/", "url": "https://tart.run/blog/2023/02/11/changing-tart-license/", "title": "Changing Tart License", "content_html": "

Changing Tart License

\n

TLDR: We are transitioning Tart's licensing from AGPL-3.0 to Fair Source 100. This change will\npermit unlimited installations on personal computers, but organizations that exceed a certain number of server\ninstallations utilizing 100 CPU cores will be required to obtain a paid license.

\n

Background

\n

Exactly a year ago on February 11th 2022 we started working on Tart \u2013 a tiny CLI to run macOS virtual machines on Apple Silicon.\nThree months later we successfully started using Tart in our own production system and decided to share Tart with everyone.

\n

\n

The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust tool\nfor various scenarios. Unfortunately, we were not successful in attracting a significant number of contributors.\nIt's important to note that we did have seven individuals who contributed to the development of Tart to the best of\ntheir abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contribution\nis vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically,\na contributor needs to have knowledge of the Swift programming language, as well as a background in operating systems\nand network stack. This is the reason why 98.8% of the code and all the major features were contributed by Cirrus Labs engineers.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-02-11-changing-tart-license.png", "date_published": "2023-02-11T00:00:00+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}]} \ No newline at end of file diff --git a/feed_json_updated.json b/feed_json_updated.json new file mode 100644 index 00000000..9a8e7353 --- /dev/null +++ b/feed_json_updated.json @@ -0,0 +1 @@ +{"version": "https://jsonfeed.org/version/1", "title": "Tart Virtualization", "home_page_url": "https://tart.run/", "feed_url": "https://tart.run/feed_json_updated.json", "description": "Tart is a virtualization toolset to build, run and manage macOS and Linux virtual machines (VMs) on Apple Silicon.\n", "icon": null, "authors": [{"name": "Cirrus Labs"}], "language": "en", "items": [{"id": "https://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/", "url": "https://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/", "title": "Jumping through the hoops: SSH jump host functionality in Orchard", "content_html": "

Jumping through the hoops: SSH jump host functionality in Orchard

\n

Almost a year ago, when we started building Orchard, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.

\n

This effort resulted in commands like orchard port-forward and orchard ssh, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.

\n

Today, we\u2019re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the ssh command like ssh -J <service account name>@orchard-controller.example.com <VM name>!

", "image": "https://tart.run/assets/images/social/blog/posts/2024-06-20-jumping-through-the-hoops.png", "date_modified": "2024-06-20T22:39:41+00:00", "authors": [{"name": "edigaryev"}], "tags": null}, {"id": "https://tart.run/blog/2023/02/11/changing-tart-license/", "url": "https://tart.run/blog/2023/02/11/changing-tart-license/", "title": "Changing Tart License", "content_html": "

Changing Tart License

\n

TLDR: We are transitioning Tart's licensing from AGPL-3.0 to Fair Source 100. This change will\npermit unlimited installations on personal computers, but organizations that exceed a certain number of server\ninstallations utilizing 100 CPU cores will be required to obtain a paid license.

\n

Background

\n

Exactly a year ago on February 11th 2022 we started working on Tart \u2013 a tiny CLI to run macOS virtual machines on Apple Silicon.\nThree months later we successfully started using Tart in our own production system and decided to share Tart with everyone.

\n

\n

The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust tool\nfor various scenarios. Unfortunately, we were not successful in attracting a significant number of contributors.\nIt's important to note that we did have seven individuals who contributed to the development of Tart to the best of\ntheir abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contribution\nis vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically,\na contributor needs to have knowledge of the Swift programming language, as well as a background in operating systems\nand network stack. This is the reason why 98.8% of the code and all the major features were contributed by Cirrus Labs engineers.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-02-11-changing-tart-license.png", "date_modified": "2024-02-23T15:27:30+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/", "url": "https://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/", "title": "New dashboard with insights into performance of Cirrus Runners", "content_html": "

New dashboard with insights into performance of Cirrus Runners

\n

This month we are celebrating one year since launching Cirrus Runners \u2014 managed Apple Silicon infrastructure for your\nGitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insights\ninto price performance of them for our customers.

\n

One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscription\nthat costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflows\nfor an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon as\nthere is a free runner. This is different from how GitHub-managed GitHub Actions are billed for \u2014 you pay for each minute of execution time.

\n

The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is that\nyou need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-11-03-cirrus-runners-dashboard.png", "date_modified": "2023-11-03T08:17:40+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/", "url": "https://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/", "title": "Tart is now available on AWS Marketplace", "content_html": "

Tart is now available on AWS Marketplace

\n

Announcing official AMIs for EC2 Mac Instances\nwith preconfigured Tart installation that is optimized to work within AWS infrastructure.

\n

EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini with\na plugged in Nitro device that can push the physical power button!

\n

\"EC2

\n

This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.

\n

In this blog post we\u2019ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-10-06-tart-on-aws.png", "date_modified": "2023-10-07T08:06:06+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/", "url": "https://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/", "title": "SSH over gRPC or how Orchard simplifies accessing VMs in private networks", "content_html": "

SSH over gRPC or how Orchard simplifies accessing VMs in private networks

\n

We started developing Orchard, an orchestrator for Tart, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.

\n

At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they\u2019d access network services on their local Tart VMs.

\n

While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can\u2019t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?

", "image": "https://tart.run/assets/images/social/blog/posts/2023-04-28-orchard-ssh-over-grpc.png", "date_modified": "2023-09-29T07:35:17+00:00", "authors": [{"name": "edigaryev"}], "tags": null}, {"id": "https://tart.run/blog/2023/09/20/tart-200-and-community-updates/", "url": "https://tart.run/blog/2023/09/20/tart-200-and-community-updates/", "title": "Tart 2.0.0 and community updates", "content_html": "

Tart 2.0.0 and community updates

\n

Today we'd like to share some news and updates around the Tart ecosystem since the Tart 1.0.0 release back in February.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-09-20-tart-2.0.0.png", "date_modified": "2023-09-29T07:35:17+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}, {"id": "https://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/", "url": "https://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/", "title": "Announcing Orchard orchestration for managing macOS virtual machines at scale", "content_html": "

Announcing Orchard orchestration for managing macOS virtual machines at scale

\n

Today we are happy to announce general availability of Orchard \u2013 our new orchestrator to manage Tart virtual machines at scale.\nIn this post we\u2019ll cover the motivation behind creating yet another orchestrator and why we didn\u2019t go with Kubernetes or Nomad integration.

\n

What problem are we trying to solve?

\n

After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster of\nApple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time.\nBy the end of 2022 the requests reached a tipping point, and we started planning.

", "image": "https://tart.run/assets/images/social/blog/posts/2023-04-25-orchard-ga.png", "date_modified": "2023-04-28T15:52:02+00:00", "authors": [{"name": "fkorotkov"}], "tags": null}]} \ No newline at end of file diff --git a/feed_rss_created.xml b/feed_rss_created.xml new file mode 100644 index 00000000..7f09f8fe --- /dev/null +++ b/feed_rss_created.xml @@ -0,0 +1 @@ + Tart VirtualizationTart is a virtualization toolset to build, run and manage macOS and Linux virtual machines (VMs) on Apple Silicon.https://tart.run/Cirrus Labshttps://github.com/cirruslabs/tart/en Wed, 23 Oct 2024 19:53:33 -0000 Wed, 23 Oct 2024 19:53:33 -0000 1440 MkDocs RSS plugin - v1.15.0 Jumping through the hoops: SSH jump host functionality in Orchard edigaryev <h1>Jumping through the hoops: SSH jump host functionality in Orchard</h1><p>Almost a year ago, when we started building <a href="https://github.com/cirruslabs/orchard">Orchard</a>, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.</p><p>This effort resulted in commands like <code>orchard port-forward</code> and <code>orchard ssh</code>, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.</p><p>Today, we’re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the <code>ssh</code> command like <code>ssh -J &lt;service account name&gt;@orchard-controller.example.com &lt;VM name&gt;</code>!</p>https://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/ Thu, 20 Jun 2024 00:00:00 +0000Tart Virtualizationhttps://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/ New dashboard with insights into performance of Cirrus Runners fkorotkov <h1>New dashboard with insights into performance of Cirrus Runners</h1><p>This month we are celebrating one year since launching Cirrus Runners — managed Apple Silicon infrastructure for yourGitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insightsinto price performance of them for our customers.</p><p>One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscriptionthat costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflowsfor an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon asthere is a free runner. This is different from how GitHub-managed GitHub Actions are billed for — you pay for each minute of execution time.</p><p>The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is thatyou need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.</p>https://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/ Fri, 03 Nov 2023 00:00:00 +0000Tart Virtualizationhttps://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/ Tart is now available on AWS Marketplace fkorotkov <h1>Tart is now available on AWS Marketplace</h1><p>Announcing <a href="https://aws.amazon.com/marketplace/pp/prodview-qczco34wlkdws">official AMIs for EC2 Mac Instances</a>with preconfigured Tart installation that is optimized to work within AWS infrastructure.</p><p>EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini witha plugged in Nitro device that can push the physical power button!</p><p><img alt="EC2 M2 Pro" src="/blog/images/ec2-mac2-m2pro.png"></p><p>This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.</p><p>In this blog post we’ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.</p>https://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/ Fri, 06 Oct 2023 00:00:00 +0000Tart Virtualizationhttps://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/ Tart 2.0.0 and community updates fkorotkov <h1>Tart 2.0.0 and community updates</h1><p>Today we'd like to share some news and updates around the Tart ecosystem since the Tart 1.0.0 release back in February.</p>https://tart.run/blog/2023/09/20/tart-200-and-community-updates/ Wed, 20 Sep 2023 00:00:00 +0000Tart Virtualizationhttps://tart.run/blog/2023/09/20/tart-200-and-community-updates/ SSH over gRPC or how Orchard simplifies accessing VMs in private networks edigaryev <h1>SSH over gRPC or how Orchard simplifies accessing VMs in private networks</h1><p>We started developing <a href="https://github.com/cirruslabs/orchard">Orchard</a>, an orchestrator for <a href="https://tart.run/">Tart</a>, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.</p><p>At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they’d access network services on their local Tart VMs.</p><p>While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can’t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?</p>https://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/ Fri, 28 Apr 2023 00:00:00 +0000Tart Virtualizationhttps://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/ Announcing Orchard orchestration for managing macOS virtual machines at scale fkorotkov <h1>Announcing Orchard orchestration for managing macOS virtual machines at scale</h1><p>Today we are happy to announce general availability of Orchard – our new orchestrator to manage Tart virtual machines at scale.In this post we’ll cover the motivation behind creating yet another orchestrator and why we didn’t go with Kubernetes or Nomad integration.</p><h2>What problem are we trying to solve?</h2><p>After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster ofApple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time.By the end of 2022 the requests reached a tipping point, and we started planning.</p>https://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/ Tue, 25 Apr 2023 00:00:00 +0000Tart Virtualizationhttps://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/ Changing Tart License fkorotkov <h1>Changing Tart License</h1><p><strong>TLDR:</strong> We are transitioning Tart's licensing from AGPL-3.0 to <a href="https://fair.io/">Fair Source 100</a>. This change willpermit unlimited installations on personal computers, but organizations that exceed a certain number of serverinstallations utilizing 100 CPU cores will be required to obtain a paid license.</p><h2>Background</h2><p>Exactly a year ago on February 11th 2022 we started working on Tart – a tiny CLI to run macOS virtual machines on Apple Silicon.Three months later we successfully started using Tart in our own production system and decided to share Tart with everyone.</p><p><img src="https://github.com/cirruslabs/tart/raw/main/Resources/TartSocial.png"/></p><p>The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust toolfor various scenarios. <strong>Unfortunately, we were not successful in attracting a significant number of contributors.</strong>It's important to note that we did have seven individuals who contributed to the development of Tart to the best oftheir abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contributionis vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically,a contributor needs to have knowledge of the Swift programming language, as well as a background in operating systemsand network stack. This is the reason why <strong>98.8% of the code and all the major features were contributed by Cirrus Labs engineers.</strong></p>https://tart.run/blog/2023/02/11/changing-tart-license/ Sat, 11 Feb 2023 00:00:00 +0000Tart Virtualizationhttps://tart.run/blog/2023/02/11/changing-tart-license/ \ No newline at end of file diff --git a/feed_rss_updated.xml b/feed_rss_updated.xml new file mode 100644 index 00000000..7ca4a6de --- /dev/null +++ b/feed_rss_updated.xml @@ -0,0 +1 @@ + Tart VirtualizationTart is a virtualization toolset to build, run and manage macOS and Linux virtual machines (VMs) on Apple Silicon.https://tart.run/Cirrus Labshttps://github.com/cirruslabs/tart/en Wed, 23 Oct 2024 19:53:33 -0000 Wed, 23 Oct 2024 19:53:33 -0000 1440 MkDocs RSS plugin - v1.15.0 Jumping through the hoops: SSH jump host functionality in Orchard edigaryev <h1>Jumping through the hoops: SSH jump host functionality in Orchard</h1><p>Almost a year ago, when we started building <a href="https://github.com/cirruslabs/orchard">Orchard</a>, an orchestration system for Tart, we quickly realized that most worker machines will be in a private network, and that VMs will be only reachable from the worker machines themselves. Thus, one of our goals became to simplify accessing the compute resources in a cluster through a centralized controller host.</p><p>This effort resulted in commands like <code>orchard port-forward</code> and <code>orchard ssh</code>, which were later improved to support connecting not just to the VMs, but to the worker machines themselves.</p><p>Today, we’re making an even further step in this effort: with a trivial configuration, an Orchard controller can act as an SSH jump host to allow connecting to the VMs using just the <code>ssh</code> command like <code>ssh -J &lt;service account name&gt;@orchard-controller.example.com &lt;VM name&gt;</code>!</p>https://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/ Thu, 20 Jun 2024 22:39:41 +0000Tart Virtualizationhttps://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/ Changing Tart License fkorotkov <h1>Changing Tart License</h1><p><strong>TLDR:</strong> We are transitioning Tart's licensing from AGPL-3.0 to <a href="https://fair.io/">Fair Source 100</a>. This change willpermit unlimited installations on personal computers, but organizations that exceed a certain number of serverinstallations utilizing 100 CPU cores will be required to obtain a paid license.</p><h2>Background</h2><p>Exactly a year ago on February 11th 2022 we started working on Tart – a tiny CLI to run macOS virtual machines on Apple Silicon.Three months later we successfully started using Tart in our own production system and decided to share Tart with everyone.</p><p><img src="https://github.com/cirruslabs/tart/raw/main/Resources/TartSocial.png"/></p><p>The goal was to establish a community of users and contributors to transform Tart from a small CLI to a robust toolfor various scenarios. <strong>Unfortunately, we were not successful in attracting a significant number of contributors.</strong>It's important to note that we did have seven individuals who contributed to the development of Tart to the best oftheir abilities. However, one of the challenges of contributing to Tart is that the skill set required for a contributionis vastly different from the skill set typically possessed by regular Tart users in their daily work. Specifically,a contributor needs to have knowledge of the Swift programming language, as well as a background in operating systemsand network stack. This is the reason why <strong>98.8% of the code and all the major features were contributed by Cirrus Labs engineers.</strong></p>https://tart.run/blog/2023/02/11/changing-tart-license/ Fri, 23 Feb 2024 15:27:30 +0000Tart Virtualizationhttps://tart.run/blog/2023/02/11/changing-tart-license/ New dashboard with insights into performance of Cirrus Runners fkorotkov <h1>New dashboard with insights into performance of Cirrus Runners</h1><p>This month we are celebrating one year since launching Cirrus Runners — managed Apple Silicon infrastructure for yourGitHub Actions. During the last 12 months we ran millions of workflows for our customers and now ready to share some insightsinto price performance of them for our customers.</p><p>One of the key difference with Cirrus Runners is how they are getting billed for. Customers purchase Cirrus Runners via monthly subscriptionthat costs $150 per each Cirrus Runner. Each runner can be used 24 hours a day 7 days a week to run GitHub Actions workflowsfor an organization. If there are more outstanding jobs than available runners then they are queued and executed as soon asthere is a free runner. This is different from how GitHub-managed GitHub Actions are billed for — you pay for each minute of execution time.</p><p>The benefit of a fixed price is that you can run as many jobs as you want without worrying about the cost. The downside is thatyou need to make sure that you are using your runners efficiently. This is where the new dashboard comes in handy.</p>https://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/ Fri, 03 Nov 2023 08:17:40 +0000Tart Virtualizationhttps://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/ Tart is now available on AWS Marketplace fkorotkov <h1>Tart is now available on AWS Marketplace</h1><p>Announcing <a href="https://aws.amazon.com/marketplace/pp/prodview-qczco34wlkdws">official AMIs for EC2 Mac Instances</a>with preconfigured Tart installation that is optimized to work within AWS infrastructure.</p><p>EC2 Mac Instances is a gem of engineering powered by AWS Nitro devices. Just imagine there is a physical Mac Mini witha plugged in Nitro device that can push the physical power button!</p><p><img alt="EC2 M2 Pro" src="/blog/images/ec2-mac2-m2pro.png"></p><p>This clever synergy between Apple Hardware and Nitro System allows seamless integration with VPC networking and booting macOS from an EBS volume.</p><p>In this blog post we’ll see how a virtualization solution like Tart can compliment and elevate experience with EC2 Mac Instances.</p>https://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/ Sat, 07 Oct 2023 08:06:06 +0000Tart Virtualizationhttps://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/ SSH over gRPC or how Orchard simplifies accessing VMs in private networks edigaryev <h1>SSH over gRPC or how Orchard simplifies accessing VMs in private networks</h1><p>We started developing <a href="https://github.com/cirruslabs/orchard">Orchard</a>, an orchestrator for <a href="https://tart.run/">Tart</a>, with the requirement that it should allow users to access virtual machines running on worker nodes in private networks that users might not have access to.</p><p>At the same time, we wanted to enable users to access VMs on these remote workers just as easily as they’d access network services on their local Tart VMs.</p><p>While these features sound great on paper, they pose a technical problem: how do we connect to the remote workers, let alone VMs running on these workers, if we can’t assume that these workers will be easily reachable? And how do we establish an SSH connection with a VM running on a remote worker through all these hoops?</p>https://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/ Fri, 29 Sep 2023 07:35:17 +0000Tart Virtualizationhttps://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/ Tart 2.0.0 and community updates fkorotkov <h1>Tart 2.0.0 and community updates</h1><p>Today we'd like to share some news and updates around the Tart ecosystem since the Tart 1.0.0 release back in February.</p>https://tart.run/blog/2023/09/20/tart-200-and-community-updates/ Fri, 29 Sep 2023 07:35:17 +0000Tart Virtualizationhttps://tart.run/blog/2023/09/20/tart-200-and-community-updates/ Announcing Orchard orchestration for managing macOS virtual machines at scale fkorotkov <h1>Announcing Orchard orchestration for managing macOS virtual machines at scale</h1><p>Today we are happy to announce general availability of Orchard – our new orchestrator to manage Tart virtual machines at scale.In this post we’ll cover the motivation behind creating yet another orchestrator and why we didn’t go with Kubernetes or Nomad integration.</p><h2>What problem are we trying to solve?</h2><p>After releasing Tart we pretty quickly started getting requests about managing macOS virtual machines on a cluster ofApple Silicon machines rather than just a single host which only allows a maximum of two virtual machines at a time.By the end of 2022 the requests reached a tipping point, and we started planning.</p>https://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/ Fri, 28 Apr 2023 15:52:02 +0000Tart Virtualizationhttps://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/ \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..b523816f --- /dev/null +++ b/index.html @@ -0,0 +1,1876 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Toolset to build, run and manage macOS and Linux VMs - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + +
+
+
+ +
+ +
+ + +
+

+ Tart is a virtualization toolset to build, run and + manage macOS and Linux virtual machines on + Apple Silicon. +

+ + Learn More + +
+
+
+
+ + +
+
+
+
+

+ Virtualization and beyond + + ¶ + +

+
+
+
+ Apple’s native Virtualization.Framework +
+

Native performance

+

+ Tart is using Apple’s native + Virtualization.Framework that was developed along with + architecting the first M1 chip. This seamless integration + between hardware and software ensures smooth performance without + any drawbacks. +

+
+
+
+ OCI-compatible container registries +
+

Remote storage for Virtual Machines

+

+ For storing virtual machine images Tart integrates with + OCI-compatible container registries. Work with virtual machines as + you used to with Docker containers. +

+
+
+
+ GitHub Actions Runners +
+

Seamless integration with your existing automations

+

+ Tart integrates with many continuous integration systems, including a dedicated + service of on-demand GitHub Actions Runners. With a single line change, you can cut your + CI/CD costs by up to 30 times by using Cirrus + Runners + to run your workflows. +

+
+
+
+
+ +
+
+

Run at scale with Orchard

+

+ Tart toolset includes Orchard Orchestration — tool to run and manage Tart virtual + machines at scale on a cluster of Apple Silicon hosts. An Orchard Cluster exposes a simple REST API to + manage thousands virtual machines. Orchard CLI allows accessing remote virtual machines like they run + locally. +

+
+
+
+
+
+
+ +
+
+
+
+

+ Automation Powerhouse + + ¶ + +

+
+ +

+ With more than 25,000 installations to date, Tart has been + adopted for various scenarios. + Its applications range from powering CI/CD pipelines and reproducible local development environments, + to helping in the testing of device management systems without actual physical devices. +

+
+
+
+ + +
+
+
+
+

+ What our users say + + ¶ + +

+
+
+
+ Mikhail Tokarev +
+

+ Mikhail Tokarev, CTO at Codemagic +

+
+ + Thanks to the minimal overhead of using the Apple Virtualization + API, we’ve seen some performance improvements in booting new + virtual machines compared with Anka. + +
+
+
+ Expo +
+

+ Infrastructure Team at Expo +

+
+ + Tart was the practical way for us to use the Virtualization framework. Cirrus Labs’ + continued maintenance and support gives us confidence, and it is also important for us + to be able to read the source code when we need to understand an abstraction layer below. + +
+
+
+ Snowflake +
+

+ Red Team at Snowflake +

+
+ + The Snowflake Red Team had a need for macOS CI/CD and a segmented macOS development + environment. We solved this problem and shared our implementation with macOS EC2 and Tart. + We also automated this process with Terraform/Packer to simplify the deployment of our + infrastructure and machine images. + +
+
+
+
+
+
+ +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + +

Home

+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/integrations/buildkite/index.html b/integrations/buildkite/index.html new file mode 100644 index 00000000..7e93c4f0 --- /dev/null +++ b/integrations/buildkite/index.html @@ -0,0 +1,1647 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Buildkite Integration - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + +

Buildkite

+

It is possible to run Buildkite pipeline steps in isolated ephemeral Tart Virtual Machines with the help of Tart Buildkite Plugin:

+

+

Configuration

+

The most basic configuration looks like this:

+
steps:
+- command: uname -a
+  plugins:
+  - cirruslabs/tart#main:
+    image: ghcr.io/cirruslabs/macos-sonoma-base:latest
+
+

This will run uname -r in a macOS Tart VM cloned from ghcr.io/cirruslabs/macos-sonoma-base:latest.

+

See plugin's Configuration section for the full list of available options.

+ + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/integrations/cirrus-cli/index.html b/integrations/cirrus-cli/index.html new file mode 100644 index 00000000..ab1316ac --- /dev/null +++ b/integrations/cirrus-cli/index.html @@ -0,0 +1,1677 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cirrus CLI - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + +

Cirrus CLI

+

Tart itself is only responsible for managing virtual machines, but we've built Tart support into a tool called Cirrus CLI +also developed by Cirrus Labs. Cirrus CLI is a command line tool with +one configuration format to execute common CI steps (run a script, cache a folder, etc.) locally or in any CI system. +We built Cirrus CLI to solve "But it works on my machine!" problem.

+

Here is an example of a .cirrus.yml configuration file which will start a Tart VM, will copy over working directory and +will run scripts and other instructions inside the virtual machine:

+
task:
+  name: hello
+  macos_instance:
+    # can be a remote or a local virtual machine
+    image: ghcr.io/cirruslabs/macos-sonoma-base:latest
+  hello_script:
+    - echo "Hello from within a Tart VM!"
+    - echo "Here is my CPU info:"
+    - sysctl -n machdep.cpu.brand_string
+    - sleep 15
+
+

Put the above .cirrus.yml file in the root of your repository and run it with the following command:

+
brew install cirruslabs/cli/cirrus
+cirrus run
+
+

+

Cirrus CI already leverages Tart to power its macOS cloud infrastructure. The .cirrus.yml +config from above will just work in Cirrus CI and your tasks will be executed inside Tart VMs in our cloud.

+

Note: Cirrus CI only allows images managed and regularly updated by us.

+

Retrieving artifacts from within Tart VMs

+

In many cases there is a need to retrieve particular files or a folder from within a Tart virtual machine. +For example, the below .cirrus.yml configuration defines a single task that builds a tart binary and +exposes it via artifacts instruction:

+
task:
+  name: Build
+  macos_instance:
+    image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
+  build_script: swift build --product tart
+  binary_artifacts:
+    path: .build/debug/tart
+
+

Running Cirrus CLI with --artifacts-dir will write defined artifacts to the provided local directory on the host:

+
cirrus run --artifacts-dir artifacts
+
+

Note that all retrieved artifacts will be prefixed with the associated task name and artifacts instruction name. +For the example above, tart binary will be saved to $PWD/artifacts/Build/binary/.build/debug/tart.

+ + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/integrations/gitlab-runner/index.html b/integrations/gitlab-runner/index.html new file mode 100644 index 00000000..c2a93a58 --- /dev/null +++ b/integrations/gitlab-runner/index.html @@ -0,0 +1,1605 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GitLab Runner Executor - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + +

GitLab Runner Executor

+

It is possible to run GitLab jobs in isolated ephemeral Tart Virtual Machines via Tart Executor. +Tart Executor utilizes custom executor feature of GitLab Runner.

+

Basic Configuration

+

Configuring Tart Executor for GitLab Runner is as simple as installing gitlab-tart-executor binary from Homebrew:

+
brew install cirruslabs/cli/gitlab-tart-executor
+
+

And updating configuration of your self-hosted GitLab Runner to use gitlab-tart-executor binary:

+
concurrent = 2
+
+[[runners]]
+  # ...
+  executor = "custom"
+  builds_dir = "/Users/admin/builds" # directory inside the VM
+  cache_dir = "/Users/admin/cache"
+  [runners.feature_flags]
+    FF_RESOLVE_FULL_TLS_CHAIN = false
+  [runners.custom]
+    prepare_exec = "gitlab-tart-executor"
+    prepare_args = ["prepare"]
+    run_exec = "gitlab-tart-executor"
+    run_args = ["run"]
+    cleanup_exec = "gitlab-tart-executor"
+    cleanup_args = ["cleanup"]
+
+

Now you can use Tart Images in your .gitlab-ci.yml:

+
# You can use any remote Tart Image.
+# Tart Executor will pull it from the registry and use it for creating ephemeral VMs.
+image: ghcr.io/cirruslabs/macos-sonoma-base:latest
+
+test:
+  tags:
+    - tart-installed # in case you tagged runners with Tart Executor installed
+  script:
+    - uname -a
+
+

For more advanced configuration please refer to GitLab Tart Executor repository.

+ + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/integrations/vm-management/index.html b/integrations/vm-management/index.html new file mode 100644 index 00000000..17136016 --- /dev/null +++ b/integrations/vm-management/index.html @@ -0,0 +1,1930 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Managing Virtual Machine - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + + + +

Managing Virtual Machine

+

Creating from scratch

+

Tart supports macOS and Linux virtual machines. All commands like run and pull work the same way regarding of the underlying OS a particular VM image has. +The only difference is how such VM images are created. Please check sections below for macOS and Linux instructions.

+

Creating a macOS VM image from scratch

+

Tart can create VMs from *.ipsw files. You can download a specific *.ipsw file here or you can +use latest instead of a path to *.ipsw to download the latest available version:

+
tart create --from-ipsw=latest sonoma-vanilla
+tart run sonoma-vanilla
+
+

After the initial booting of the VM, you'll need to manually go through the macOS installation process. As a convention we recommend creating an admin user with an admin password. After the regular installation please do some additional modifications in the VM:

+
    +
  1. Enable Auto-Login. Users & Groups -> Login Options -> Automatic login -> admin.
  2. +
  3. Allow SSH. Sharing -> Remote Login
  4. +
  5. Disable Lock Screen. Preferences -> Lock Screen -> disable "Require Password" after 5.
  6. +
  7. Disable Screen Saver.
  8. +
  9. Run sudo visudo in Terminal, find %admin ALL=(ALL) ALL add admin ALL=(ALL) NOPASSWD: ALL to allow sudo without a password.
  10. +
+

Creating a Linux VM image from scratch

+

Linux VMs are supported on hosts running macOS 13.0 (Ventura) or newer.

+
# Create a bare VM
+tart create --linux ubuntu
+
+# Install Ubuntu
+tart run --disk focal-desktop-arm64.iso ubuntu
+
+# Run VM
+tart run ubuntu
+
+

After the initial setup please make sure your VM can be SSH-ed into by running the following commands inside your VM:

+
sudo apt update
+sudo apt install -y openssh-server
+sudo ufw allow ssh
+
+

Configuring a VM

+

By default, a Tart VM uses 2 CPUs and 4 GB of memory with a 1024x768 display. This can be changed after VM creation with tart set command. +Please refer to tart set --help for additional details.

+

Building with Packer

+

Please refer to Tart Packer Plugin repository for setup instructions. +Here is an example of a template to build a local image based of a remote image:

+
packer {
+  required_plugins {
+    tart = {
+      version = ">= 0.5.3"
+      source  = "github.com/cirruslabs/tart"
+    }
+  }
+}
+
+source "tart-cli" "tart" {
+  vm_base_name = "ghcr.io/cirruslabs/macos-sonoma-base:latest"
+  vm_name      = "my-custom-sonoma"
+  cpu_count    = 4
+  memory_gb    = 8
+  disk_size_gb = 70
+  ssh_password = "admin"
+  ssh_timeout  = "120s"
+  ssh_username = "admin"
+}
+
+build {
+  sources = ["source.tart-cli.tart"]
+
+  provisioner "shell" {
+    inline = ["echo 'Disabling spotlight indexing...'", "sudo mdutil -a -i off"]
+  }
+
+  # more provisioners
+}
+
+

Here is a repository with Packer templates used to build all the images managed by us.

+

Working with a Remote OCI Container Registry

+

Tart supports interacting with Open Container Initiative (OCI) registries, but only runs images created and pushed by Tart. This means images created for container engines, like Docker, can't be pulled. Instead, create a custom image as documented above.

+

For example, let's say you want to push/pull images to an OCI registry hosted at https://acme.io/.

+

Registry Authorization

+

First, you need to login to acme.io with the tart login command:

+
tart login acme.io
+
+

If you login to your registry with OAuth, you may need to create an access token to use as the password. +Credentials are securely stored in Keychain.

+

In addition, Tart supports Docker credential helpers +if defined in ~/.docker/config.json.

+

Finally, TART_REGISTRY_USERNAME and TART_REGISTRY_PASSWORD environment variables allow to override authorization +for all registries which might useful for integrating with your CI's secret management.

+

Pushing a Local Image

+

Once credentials are saved for acme.io, run the following command to push a local images remotely with two tags:

+
tart push my-local-vm-name acme.io/remoteorg/name:latest acme.io/remoteorg/name:v1.0.0
+
+

Pulling a Remote Image

+

You can either pull an image:

+
tart pull acme.io/remoteorg/name:latest
+
+

or create a VM from a remote image:

+
tart clone acme.io/remoteorg/name:latest my-local-vm-name
+
+

If the specified image is not already present, this invocation calls the tart pull implicitly before cloning.

+ + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/layouts/custom.yml b/layouts/custom.yml new file mode 100644 index 00000000..62b316e7 --- /dev/null +++ b/layouts/custom.yml @@ -0,0 +1,260 @@ +# Copyright (c) 2016-2024 Martin Donath + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +# ----------------------------------------------------------------------------- +# Configuration +# ----------------------------------------------------------------------------- + +# Definitions +definitions: + + # Background image + - &background_image >- + {{ layout.background_image | x }} + + # Background color (default: indigo) + - &background_color >- + {%- if layout.background_color -%} + {{ layout.background_color }} + {%- else -%} + {%- set palette = config.theme.palette or {} -%} + {%- if not palette is mapping -%} + {%- set list = palette | selectattr("accent") | list + palette -%} + {%- set palette = list | first -%} + {%- endif -%} + {%- set accent = palette.get("accent", "indigo") -%} + {%- set accent = accent.replace(" ", "-") -%} + {{ { + "red": "#ff1a47", + "pink": "#f50056", + "purple": "#df41fb", + "deep-purple": "#7c4dff", + "indigo": "#526cfe", + "blue": "#4287ff", + "light-blue": "#0091eb", + "cyan": "#00bad6", + "teal": "#00bda4", + "green": "#00c753", + "light-green": "#63de17", + "lime": "#b0eb00", + "yellow": "#ffd500", + "amber": "#ffaa00", + "orange": "#ff9100", + "deep-orange": "#ff6e42" + }[accent] or "#4051b5" }} + {%- endif -%} + + # Text color (default: white) + - &color >- + {%- if layout.color -%} + {{ layout.color }} + {%- else -%} + {%- set palette = config.theme.palette or {} -%} + {%- if not palette is mapping -%} + {%- set list = palette | selectattr("accent") | list + palette -%} + {%- set palette = list | first -%} + {%- endif -%} + {%- set accent = palette.get("accent", "indigo") -%} + {%- set accent = accent.replace(" ", "-") -%} + {{ { + "red": "#ffffff", + "pink": "#ffffff", + "purple": "#ffffff", + "deep-purple": "#ffffff", + "indigo": "#ffffff", + "blue": "#ffffff", + "light-blue": "#ffffff", + "cyan": "#ffffff", + "teal": "#ffffff", + "green": "#ffffff", + "light-green": "#ffffff", + "lime": "#000000", + "yellow": "#000000", + "amber": "#000000", + "orange": "#000000", + "deep-orange": "#ffffff" + }[accent] or "#ffffff" }} + {%- endif -%} + + # Font family (default: Roboto) + - &font_family >- + {%- if layout.font_family -%} + {{ layout.font_family }} + {%- elif config.theme.font != false -%} + {{ config.theme.font.get("text", "Roboto") }} + {%- else -%} + Roboto + {%- endif -%} + + # Font variant + - &font_variant >- + {%- if layout.font_variant -%} + {{ layout.font_variant }} + {%- endif -%} + + # Site name + - &site_name >- + {{ config.site_name }} + + # Page title + - &page_title >- + {%- if page.meta.no_title_in_card -%} + {# do not show anything #} + {%- elif layout.title -%} + {{ layout.title }} + {%- else -%} + {{ page.meta.get("title", page.title) }} + {%- endif -%} + + # Page title with site name + - &page_title_with_site_name >- + {%- if not page.is_homepage -%} + {{ page.meta.get("title", page.title) }} - {{ config.site_name }} + {%- else -%} + {{ page.meta.get("title", page.title) }} + {%- endif -%} + + # Page description + - &page_description >- + {%- if layout.description -%} + {{ layout.description }} + {%- else -%} + {{ page.meta.get("description", config.site_description) | x }} + {%- endif -%} + + # Page description for social card + - &page_description_social_card >- + {%- if layout.description -%} + {{ layout.description }} + {%- else -%} + {{ page.meta.get("description", config.site_description_social_card) | x }} + {%- endif -%} + + # Logo + - &logo >- + {%- if layout.logo -%} + {{ layout.logo }} + {%- elif config.theme.logo -%} + {{ config.docs_dir }}/{{ config.theme.logo }} + {%- endif -%} + + # Logo (icon) + - &logo_icon >- + {%- if not layout.logo -%} + {{ config.theme.icon.logo | x }} + {%- endif -%} + +# Meta tags +tags: + + # Open Graph + og:type: website + og:title: *page_title_with_site_name + og:description: *page_description + og:image: "{{ image.url }}" + og:image:type: "{{ image.type }}" + og:image:width: "{{ image.width }}" + og:image:height: "{{ image.height }}" + og:url: "{{ page.canonical_url }}" + + # Twitter + twitter:card: summary_large_image + twitter:title: *page_title_with_site_name + twitter:description: *page_description + twitter:image: "{{ image.url }}" + +# ----------------------------------------------------------------------------- +# Specification +# ----------------------------------------------------------------------------- + +# Card size and layers +size: { width: 1200, height: 630 } +layers: + + # Background + - background: + image: *background_image + color: *background_color + + # Logo + - size: { width: 170, height: 192 } + offset: { x: 966, y: 64 } + background: + image: *logo + icon: + value: *logo_icon + color: *color + + # Site name + - size: { width: 832, height: 42 } + offset: { x: 64, y: 64 } + typography: + content: *site_name + align: start center + color: *color + font: + family: *font_family + variant: *font_variant + style: Bold + + # Motto + - size: { width: 832, height: 150 } + offset: { x: 64, y: 106 } + typography: + content: "{{ config.motto }}" + align: start center + color: *color + line: + amount: 2.5 + height: 1.25 + font: + family: *font_family + variant: *font_variant + style: Bold + + # Page title + - size: { width: 1072, height: 256 } + offset: { x: 64, y: 256 } + typography: + content: *page_title + align: start center + color: *color + line: + amount: 3 + height: 1.25 + font: + family: *font_family + variant: *font_variant + style: Bold + + # Page description + - size: { width: 832, height: 64 } + offset: { x: 64, y: 512 } + typography: + content: *page_description_social_card + align: start center + color: *color + line: + amount: 2 + height: 1.5 + font: + family: *font_family + variant: *font_variant + style: Regular \ No newline at end of file diff --git a/legal/privacy/index.html b/legal/privacy/index.html new file mode 100644 index 00000000..89ab7dfb --- /dev/null +++ b/legal/privacy/index.html @@ -0,0 +1,1915 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Privacy - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + + + + + +

Privacy Policy

+

In addition to this Privacy Policy, Cirrus Labs also has a Terms of Service.

+

The Gist

+

Cirrus Labs Inc will collect certain non-personally identify information about you as you use our sites. We may use +this data to better understand our users. We can also publish this data, but the data will be about a large group of users, +not individuals.

+

We will also ask you to provide personal information, but you'll always be able to opt out. If you give us personal +information, we won't do anything evil with it.

+

We can also use cookies, but you can choose not to store these.

+

That's the basic idea, but you must read through the entire Privacy Policy below and agree with all the details +before you use any of our sites.

+

Reuse

+

This document is based upon the Automattic Privacy Policy and is licensed under +Creative Commons Attribution Share-Alike License 2.5. Basically, +this means you can use it verbatim or edited, but you must release new versions under the same license and +you have to credit Automattic somewhere (like this!). Automattic is not connected with and does not sponsor or endorse +Cirrus Labs Inc or its use of the work.

+

Cirrus Labs Inc ("Cirrus Labs") makes available services include our web sites (https://tart.run/), our blog, our API, +and any other software, sites, and services offered by Cirrus Labs Inc in connection to any of those (taken together, the "Service"). +It is Cirrus Labs Inc's policy to respect your privacy regarding any information we may collect while operating our websites.

+

Questions

+

If you have question about this Privacy Policy, please contact us at hello@cirruslabs.org

+

Visitors

+

Like most website operators, Cirrus Labs Inc collects non-personally-identifying information of the sort that web browsers and +servers typically make available, such as the browser type, language preference, referring site, and the date and time of each visitor request. +Cirrus Labs Inc's purpose in collecting non-personally identifying information is to better understand how Cirrus Labs Inc's +visitors use its website. From time to time, Cirrus Labs Inc may release non-personally-identifying information in the aggregate, +e.g., by publishing a report on trends in the usage of its website.

+

Cirrus Labs Inc also collects potentially personally-identifying information like Internet Protocol (IP) addresses. +Cirrus Labs Inc does not use such information to identify its visitors, however, and does not disclose such information, +other than under the same circumstances that it uses and discloses personally-identifying information, as described below. +We may also collect and use IP addresses to block users who violated our Terms of Service.

+

Gathering of Personally-Identifying Information

+

Certain visitors to Cirrus Labs Inc's websites choose to interact with Cirrus Labs Inc in ways that require +Cirrus Labs Inc to gather personally-identifying information. The amount and type of information that Cirrus Labs Inc gathers +depends on the nature of the interaction. Cirrus Labs Inc collects such information only insofar as is necessary or +appropriate to fulfill the purpose of the visitor's interaction with Cirrus Labs Inc. Cirrus Labs Inc does not disclose +personally-identifying information other than as described below. And visitors can always refuse to supply personally-identifying information, +with the caveat that it may prevent them from engaging in certain Service-related activities.

+

Additionally, some interactions, such as posting a comment, may ask for optional personal information. For instance, +when posting a comment, may provide a website that will be displayed along with a user's name when the comment is displayed. +Supplying such personal information is completely optional and is only displayed for the benefit and the convenience of the user.

+

Aggregated Statistics

+

Cirrus Labs Inc may collect statistics about the behavior of visitors to the Service. For instance, Cirrus Labs Inc +may monitor the most popular parts of the https://tart.run/. Cirrus Labs Inc may display this information publicly or +provide it to others. However, Cirrus Labs Inc does not disclose personally-identifying information other than as described below.

+

Protection of Certain Personally-Identifying Information

+

Cirrus Labs Inc discloses potentially personally-identifying and personally-identifying information only to those of its employees, +contractors and affiliated organizations that (i) need to know that information in order to process it on Cirrus Labs Inc's behalf +or to provide services available at Cirrus Labs Inc's websites, and (ii) that have agreed not to disclose it to others. +Some of those employees, contractors and affiliated organizations may be located outside of your home country; by using the Service, +you consent to the transfer of such information to them. Cirrus Labs Inc will not rent or sell potentially personally-identifying and +personally-identifying information to anyone. Other than to its employees, contractors and affiliated organizations, as described above, +Cirrus Labs Inc discloses potentially personally-identifying and personally-identifying information only when required to do so by law, +or when Cirrus Labs Inc believes in good faith that disclosure is reasonably necessary to protect the property or rights of Cirrus Labs Inc, +third parties or the public at large. If you are a registered user of the Service and have supplied your email address, Cirrus Labs Inc may +occasionally send you an email to tell you about new features, solicit your feedback, or just keep you up to date with what's going on with +Cirrus Labs Inc and our products. We primarily use our website and blog to communicate this type of information, so we expect to keep +this type of email to a minimum. If you send us a request (for example via a support email or via one of our feedback mechanisms), +we reserve the right to publish it in order to help us clarify or respond to your request or to help us support other users. +Cirrus Labs Inc takes all measures reasonably necessary to protect against the unauthorized access, use, alteration or +destruction of potentially personally-identifying and personally-identifying information.

+

Browser Cookies

+

A cookie is a string of information that a website stores on a visitor's computer, and that the visitor's browser provides +to the Service each time the visitor returns. Cirrus Labs Inc uses cookies to help Cirrus Labs Inc identify and track visitors, +their usage of Cirrus Labs Inc Service, and their Service access preferences. Cirrus Labs Inc visitors who do not wish to have +cookies placed on their computers should set their browsers to refuse cookies before using Cirrus Labs Inc's websites, with +the drawback that certain features of Cirrus Labs Inc's websites may not function properly without the aid of cookies.

+

Data Storage

+

Cirrus Labs Inc uses third party vendors and hosting partners to provide the necessary hardware, software, networking, +storage, and related technology required to run the Service. You understand that although you retain full rights to your data, +it may be stored on third party storage and transmitted through third party networks.

+

Privacy Policy Changes

+

Although most changes are likely to be minor, Cirrus Labs Inc may change its Privacy Policy from time to time, +and in Cirrus Labs Inc's sole discretion. Cirrus Labs Inc encourages visitors to frequently check this page for any changes +to its Privacy Policy. Your continued use of this site after any change in this Privacy Policy will constitute your +acceptance of such change.

+

This page was last updated on 02/20/2023.

+ + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/legal/terms/index.html b/legal/terms/index.html new file mode 100644 index 00000000..119c7989 --- /dev/null +++ b/legal/terms/index.html @@ -0,0 +1,2209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Terms of Service - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + + + + + +

Terms of Service

+

This page covers Terms of Service only for Cirrus Runners and Tart Documentation website in addition to the Privacy Policy.

+

The Gist

+

Cirrus Labs Inc ("Cirrus Labs") operates the Cirrus Runners service which we hope you use. +If you use it, please use it responsibly. If you don't, we'll have to terminate your subscription.

+

For paid plans, you'll be charged on a monthly basis. You can cancel anytime, but there are no refunds.

+

The Terms of Service and our prices can change at any time unless specified in your agreement. We'll warn you 30 days in advance of any price changes. +We'll try to warn you about major changes to the Terms of Service, but we make no guarantees.

+

That's the basic idea, but you must read through the entire Terms of Service below and agree with all the details before +you use any of our websites or services (whether or not you have signed up).

+

Reuse

+

This document is an adaptation of the Code Climate Terms of Service, which is an adaptation of the Heroku Terms of Service, +which is turn an adaptation of the Google App Engine Terms of Service. The original work has been modified +with permission under the Creative Commons Attribution 3.0 License. +Neither Code Climate, Inc, nor Heroku, Inc. nor Google, Inc. is connected with and they do not sponsor or endorse +Cirrus Labs or its use of the work.

+

You're welcome to adapt and use this document for your own needs. If you make an improvement, we'd appreciate it if +you would let us know, so we can consider improving our own document.

+

Your Agreement with Cirrus Labs Inc

+

Your use of the Cirrus Runners Service is governed by this agreement (the "Terms"). The "Service" means the services Cirrus Labs +makes available include our websites (https://tart.run/, https://cirrus-runners.app/), our blog, and any other software, sites, +and services offered by Cirrus Labs in connection to any of those.

+

"Customer Source Code" means any source code you directly or indirectly submit to Cirrus Runners for the purpose of using the Service. +"Content" means all content generated by Cirrus Runners on your behalf (including metric data) and does not include Customer Source Code.

+

In order to use the Service, You (the "Customer", "You", or "Your") must first agree to the Terms. You understand and agree +that Cirrus Labs will treat Your use of the Service as acceptance of the Terms from that point onwards.

+

Cirrus Labs may make changes to the Terms from time to time. You may reject the changes by terminating Your subscription. +You understand and agree that if You use the Service after the date on which the Terms have changed, Cirrus Labs will treat +Your use as acceptance of the updated Terms.

+

If you have any question about the Terms, please contact us.

+

Use of the Service

+
    +
  • You must provide accurate and complete registration information any time You register to use the Service.
  • +
  • You are responsible for the security of Your passwords and for any use of Your user.
  • +
  • Your use of the Service must comply with all applicable laws, regulations and ordinances.
  • +
  • You agree to not engage in any activity that interferes with or disrupts the Service.
  • +
  • Cirrus Labs reserves the right to enforce quotas and usage limits (to any resources, including the API) at its sole discretion, +with or without notice, which may result in Cirrus Labs disabling or throttling your usage of the Service for any amount of time.
  • +
+

Service Policies and Privacy

+

The Service shall be subject to the privacy policy for the Service available at Privacy Policy, hereby +expressly into the Terms of Service by reference. You agree to the use of Your data in accordance with Cirrus Labs' privacy policies.

+

Fees for Use of the Service

+
    +
  • The Service may be provided to You without charge up with certain limits or for a certain "trial" period of time.
  • +
  • All payments for use of the Service will go through Stripe unless specified in the agreement.
  • +
  • Cirrus Labs may change its fees and payment policies for the Service by notifying You at least thirty (30) days before the beginning of the billing cycle in which such change will take effect.
  • +
+

Cancellation and Termination

+
    +
  • You must cancel your subscription via Stripe or my emailing sales@cirruslabs.org.
  • +
  • You agree that Cirrus Labs, in its sole discretion and for any or no reason, may terminate or suspend Your subscription. You agree that any termination of Your access to the Service may be without prior notice, and You agree that Cirrus Labs will not be liable to You or any third party for such termination.
  • +
+

Customer Source Code

+
    +
  • Cirrus Labs claims no ownership or control over any Customer Source Code. You retain copyright and any other rights You +already hold in the Customer Source Code and You are responsible for protecting those rights, as appropriate.
  • +
  • You agree to assume full responsibility for configuring the Service to allow appropriate access to any Customer Source Code provided to the Service.
  • +
  • You retain sole responsibility for any collaborators or third-party services that you allow to view Customer Source Code and entrust them at your own risk.
  • +
  • Cirrus Labs is not responsible if you fail to configure, or misconfigure, your project and inadvertently allow unauthorized parties to view any Customer Source Code.
  • +
+

Ideas and Feedback

+

You may choose to or we may invite You to submit comments or ideas about the Service, including but not limited to ideas +about improving the Service or our products ("Ideas"). By submitting any Idea, You agree that Your disclosure is unsolicited +and without restriction and will not place Cirrus Labs under any fiduciary or other obligation, and that we are free to +use the Idea without any additional compensation to You, and/or to disclose the Idea on a non-confidential basis or otherwise to anyone.

+

Modification of the Service

+
    +
  • You acknowledge and agree that the Service may change from time to time without prior notice to You.
  • +
  • Changes include, without limitation, changes to fee and payment policies, security patches, added or removed functionality, and other enhancements or restrictions.
  • +
  • Cirrus Labs shall not be liable to you or to any third party for any modification, price change, suspension or discontinuance of the Service.
  • +
+

External Resources

+

The Service may include hyperlinks to other websites or content or resources or email content. You acknowledge and +agree that Cirrus Labs is not responsible for the availability of any such external sites or resources, and does not +endorse any advertising, products or other materials on or available from such web sites or resources.

+

License from Cirrus Runners and Restrictions

+

Subject to and conditioned upon your compliance with these Terms of Service, we grant to you a personal, worldwide, +royalty-free, non-assignable and non-exclusive license to use the software provided to You by Cirrus Labs as part of +the Service as provided to You by Cirrus Labs. This license is for the sole purpose of enabling You to use and enjoy +the benefit of the Service as provided by Cirrus Labs, in the manner permitted by the Terms.

+

You may not (and You may not permit anyone else to): (a) copy, modify, create a derivative work of, reverse engineer, +decompile or otherwise attempt to extract the source code of the Service or any part thereof, unless this is expressly +permitted or required by law, or unless You have been specifically told that You may do so by Cirrus Labs, in writing +(e.g., through an open source software license); or (b) attempt to disable or circumvent any security mechanisms used by the Service.

+

Open source software licenses for components of the Service released under an open source license constitute separate written agreements. +To the limited extent that the open source software licenses expressly supersede these Terms of Service, the open source licenses +govern Your agreement with Cirrus Labs for the use of the components of the Service released under an open source license.

+

You may not use the Service in any manner that could damage, disable, overburden or impair our servers or networks, or +interfere with any other users' use or enjoyment of the Service.

+

You may not attempt to gain unauthorized access to any of the Service, member accounts, or computer systems or networks, +through hacking, password mining or any other means.

+

Without limiting anything else contained herein, you agree that you shall not (and you agree not to allow any third party to):

+
    +
  • remove any notices of copyright, trademark or other proprietary rights contained in/on or accessible through the Service +or in any content or other material obtained via the Service;
  • +
  • use any robot, spider, website search/retrieval application, or other automated device, process or means to access, +retrieve or index any portion of the Service;
  • +
  • reformat or frame any portion of the web pages that are part of the Service;
  • +
  • use the Service for commercial purposes not permitted under these Terms;
  • +
  • create users by automated means or under false or fraudulent pretenses;
  • +
  • attempt to defeat any security or verification measure relating to the Service;
  • +
  • provide or use tracking or monitoring functionality in connection with the Service, including, without limitation, +to identify other users’ actions or activities;
  • +
  • impersonate or attempt to impersonate Cirrus Labs or any employee, contractor or associate of Cirrus Labs, or any other +person or entity; or collect or store personal data about other users in connection with the prohibited activities described in this paragraph.
  • +
+ +

Cirrus Labs respects the intellectual property of others and requires that our users do the same. It is our policy to +terminate the membership of repeat infringers. If you believe that material or content residing on or accessible through +the Service infringes a copyright, please send a notice of copyright infringement containing the following information +to the Designated Copyright Agent listed below:

+
    +
  • identification of the copyrighted work claimed to have been infringed, or, if multiple copyrighted works are covered +by a single notification, a representative list of such works;
  • +
  • information reasonably sufficient to permit us to contact you, such as an address, telephone number, and an email address;
  • +
  • a statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law;
  • +
  • a statement by you, made under penalty of perjury, that the above information in your notification is accurate and that +you are the copyright owner or are authorized to act on the copyright owner's behalf; and
  • +
  • your physical or electronic signature.
  • +
+

Our Designated Copyright Agent for notification of claimed infringement can be reached by email at: hello@cirruslabs.org.

+

The Service may contain advertisements and/or links to other websites (“Third Party Sites”). Cirrus Labs does not endorse, +sanction or verify the accuracy or ownership of the information contained in/on any Third Party Site or any products or +services advertised on Third Party Sites. If you decide to leave the Site and navigate to Third Party Sites, or install +any software or download content from any such Third Party Sites, you do so at your own risk. Once you access a Third Party Site +through a link on our Site, you may no longer be protected by these Terms of Service and you may be subject to the terms +and conditions of such Third Party Site. You should review the applicable policies, including privacy and data gathering practices, +of any Third Party Site to which you navigate from the Site, or relating to any software you use or install from a Third Party Site. +Concerns regarding a Third Party Site should be directed to the Third Party Site itself. Cirrus Labs bears no responsibility for +any action associated with any Third Party Site.

+

Disclaimer of Warranties

+

IF YOU ACCESS THE SERVICE, YOU DO SO AT YOUR OWN RISK. WE PROVIDE THE SERVICE “AS IS”, “WITH ALL FAULTS” AND “AS AVAILABLE.” +WE MAKE NO EXPRESS OR IMPLIED WARRANTIES OR GUARANTEES ABOUT THE SERVICE. TO THE MAXIMUM EXTENT PERMITTED BY LAW, WE HEREBY +DISCLAIM ALL SUCH WARRANTIES, INCLUDING ALL STATUTORY WARRANTIES, WITH RESPECT TO THE SERVICE, INCLUDING WITHOUT LIMITATION +ANY WARRANTIES THAT THE SERVICE IS MERCHANTABLE, OF SATISFACTORY QUALITY, ACCURATE, FIT FOR A PARTICULAR PURPOSE OR NEED, +OR NON-INFRINGING. WE DO NOT GUARANTEE THAT THE RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE SERVICE WILL BE EFFECTIVE, +RELIABLE OR ACCURATE OR WILL MEET YOUR REQUIREMENTS. WE DO NOT GUARANTEE THAT YOU WILL BE ABLE TO ACCESS OR USE THE SERVICE +(EITHER DIRECTLY OR THROUGH THIRD-PARTY NETWORKS) AT TIMES OR LOCATIONS OF YOUR CHOOSING. WE ARE NOT RESPONSIBLE FOR THE ACCURACY, +RELIABILITY, TIMELINESS OR COMPLETENESS OF INFORMATION PROVIDED BY ANY OTHER USERS OF THE SERVICE OR ANY OTHER DATA OR +INFORMATION PROVIDED OR RECEIVED THROUGH THE SERVICE. EXCEPT AS EXPRESSLY SET FORTH HEREIN, CIRRUS LABS MAKES NO WARRANTIES +ABOUT THE INFORMATION SYSTEMS, SOFTWARE AND FUNCTIONS MADE ACCESSIBLE BY OR THROUGH THE SERVICE OR ANY SECURITY ASSOCIATED +WITH THE TRANSMISSION OF SENSITIVE INFORMATION. CIRRUS LABS DOES NOT WARRANT THAT THE SERVICE WILL OPERATE ERROR-FREE, +THAT ERRORS IN THE SERVICE WILL BE FIXED, THAT LOSS OF DATA WILL NOT OCCUR, OR THAT THE SERVICE OR SOFTWARE ARE FREE OF +COMPUTER VIRUSES, CONTAMINANTS OR OTHER HARMFUL ITEMS. UNDER NO CIRCUMSTANCES WILL CIRRUS LABS, ANY OF OUR AFFILIATES, +DISTRIBUTORS, PARTNERS, LICENSORS, AND/OR ANY OF OUR OR THEIR DIRECTORS, OFFICERS, EMPLOYEES, CONSULTANTS, AGENTS, OR +OTHER REPRESENTATIVES BE LIABLE FOR ANY LOSS OR DAMAGE CAUSED BY YOUR RELIANCE ON INFORMATION OBTAINED THROUGH THE SERVICE.

+

Limitations on Liability

+

YOUR SOLE AND EXCLUSIVE REMEDY FOR ANY DISPUTE WITH US IS THE CANCELLATION OF YOUR REGISTRATION. IN NO EVENT SHALL OUR +TOTAL CUMULATIVE LIABILITY TO YOU FOR ANY AND ALL CLAIMS RELATING TO OR ARISING OUT OF YOUR USE OF THE SERVICE, +REGARDLESS OF THE FORM OF ACTION, EXCEED THE GREATER OF: (A) THE TOTAL AMOUNT OF FEES, IF ANY, THAT YOU PAID TO UTILIZE +THE SERVICE OR (B) ONE HUNDRED DOLLARS ($100). IN NO EVENT SHALL WE BE LIABLE TO YOU (OR TO ANY THIRD PARTY CLAIMING +UNDER OR THROUGH YOU) FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES OR +ANY BODILY INJURY, EMOTIONAL DISTRESS, DEATH OR ANY OTHER DAMAGES ARISING FROM YOUR USE OF OR INABILITY TO USE THE SERVICE, +WHETHER ON-LINE OR OFF-LINE, OR OTHERWISE IN CONNECTION WITH THE SERVICE. THESE EXCLUSIONS APPLY TO ANY CLAIMS FOR LOST PROFITS, +LOST DATA, LOSS OF GOODWILL OR BUSINESS REPUTATION, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, WORK STOPPAGE, +COMPUTER FAILURE OR MALFUNCTION, ANY OTHER COMMERCIAL DAMAGES OR LOSSES, OR ANY PERSONAL INJURY OR PROPERTY DAMAGES, +EVEN IF WE KNEW OR SHOULD HAVE KNOWN OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES OR JURISDICTIONS DO NOT ALLOW +THE EXCLUSION OR THE LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, IN SUCH STATES OR JURISDICTIONS, +OUR LIABILITY SHALL BE LIMITED TO THE EXTENT PERMITTED BY LAW. IF YOU ARE A CALIFORNIA RESIDENT, YOU WAIVE YOUR RIGHTS +WITH RESPECT TO CALIFORNIA CIVIL CODE SECTION 1542, WHICH SAYS "A GENERAL RELEASE DOES NOT EXTEND TO CLAIMS WHICH THE +CREDITOR DOES NOT KNOW OR SUSPECT TO EXIST IN HIS FAVOR AT THE TIME OF EXECUTING THE RELEASE, WHICH, IF KNOWN BY HIM +MUST HAVE MATERIALLY AFFECTED HIS SETTLEMENT WITH THE DEBTOR.”

+

Indemnification

+

You agree to hold harmless and indemnify Cirrus Labs, and its subsidiaries, affiliates, officers, agents, employees, +advertisers, licensors, suppliers or partners (collectively "Cirrus Labs and Partners") from and against any +third party claim arising from or in any way related to (a) Your breach of the Terms, (b) Your use of the Service, +© Your violation of applicable laws, rules or regulations in connection with the Service, or (d) Your Customer Source Code, +including any liability or expense arising from all claims, losses, damages (actual and consequential), suits, judgments, +litigation costs and attorneys' fees, of every kind and nature. In such a case, Cirrus Labs will provide You with +written notice of such claim, suit or action.

+

Choice of Law and Dispute Resolution

+

The Terms of Service shall be deemed to have been entered into and shall be construed and enforced in accordance with +the laws of the State of New York as applied to contracts made and performed entirely within New York, without giving +effect to any conflicts of law statutes. Any controversy, dispute or claim arising out of or related to the +Terms of Service or the Service shall be settled by final and binding arbitration to be conducted by an arbitration +tribunal in the State of New York and the County of New York, pursuant to the rules of the American Arbitration Association. +Any and all disputes that you may have with Cirrus Labs shall be resolved individually, without resort to any form of class action.

+ +

The Terms constitute the whole legal agreement between You and Cirrus Labs and govern Your use of the Service and +completely replace any prior agreements between You and Cirrus Labs in relation to the Service.

+

If any part of the Terms of Service is held invalid or unenforceable, that portion shall be construed in a manner +consistent with applicable law to reflect, as nearly as possible, the original intentions of the parties, and +the remaining portions shall remain in full force and effect.

+

The failure of Cirrus Labs to exercise or enforce any right or provision of the Terms of Service shall not constitute +a waiver of such right or provision. The failure of either party to exercise in any respect any right provided for herein +shall not be deemed a waiver of any further rights hereunder.

+

You agree that if Cirrus Labs does not exercise or enforce any legal right or remedy which is contained in the Terms +(or which Cirrus Labs has the benefit of under any applicable law), this will not be taken to be a formal waiver of +Cirrus Labs' rights and that those rights or remedies will still be available to Cirrus Labs.

+

Cirrus Labs shall not be liable for failing or delaying performance of its obligations resulting from any condition +beyond its reasonable control, including but not limited to, governmental action, acts of terrorism, earthquake, fire, +flood or other acts of God, labor conditions, power failures, and Internet disturbances.

+

We may assign this contract at any time to any parent, subsidiary, or any affiliated company, or as part of the sale to, +merger with, or other transfer of our company to another entity.

+

This page was last updated on 02/03/2019.

+ + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/licensing/index.html b/licensing/index.html new file mode 100644 index 00000000..3fc878b4 --- /dev/null +++ b/licensing/index.html @@ -0,0 +1,1891 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Licensing and Support - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + + + +

Support & Licensing

+ +

Both Tart Virtualization and Orchard Orchestration +are licensed under Fair Source License. Usage on personal computers including personal workstations is royalty-free, +but organizations that exceed a certain number of server installations (100 CPU cores for Tart and/or 4 hosts for Orchard) +will be required to obtain a paid license.

+
+Host CPU Core usage +

The virtual CPU cores of Tart VMs are not tied to specific physical cores of the host CPU. Instead, for optimal performance +Tart VMs will automatically try to balance compute between all available cores of the host CPU. As a result, +all performance and energy-efficient cores of the host CPU are always counted towards the license usage.

+
+

License Tiers

+

By default, when no license is purchased, it is assumed that an organization is using a Free Tier license. +You can find the Free Tier license text in Tart and Orchard repositories.

+

Free Tier license has a 100 CPU core limit for Tart and 4 Orchard Workers limit for Orchard.

+
+Usage Scenarios Examples +

Here are a few examples that fit into the free tier:

+
    +
  • Using Tart on 12 Mac Minis with 8 CPUs each running up to 24 VMs in parallel.
  • +
  • Creating an Orchard cluster of 4 Mac Studio workers with 24 CPUs each.
  • +
+

Here are a few examples that do not fit into the free tier:

+
    +
  • Using Tart on 13 Mac Minis with 8 CPUs each.
  • +
  • Creating an Orchard cluster of 5 Mac Minis workers with 8 CPUs each.
  • +
+
+

Gold Tier

+

If an organization wishes to exceed the limits of the Free Tier license, a purchase of the Gold Tier License is required, which costs $1000 per month.

+

Gold Tier license has a 500 CPU core limit for Tart and 20 Orchard Workers limit for Orchard.

+

Platinum Tier

+

If an organization wishes to exceed the limits of the Gold Tier license, a purchase of the Platinum Tier License is required, which costs $3000 per month.

+

Platinum Tier license has a 3,000 CPU core limit for Tart and 200 Orchard Workers limit for Orchard.

+

Diamond Tier

+

For organizations that wish to exceed the limits of the Platinum Tier license, a purchase of a custom Diamond Tier License is required, which costs $1 per CPU core per month and gives the ability to run unlimited Orchard Workers.

+

Get the license

+

If your organization is interested in purchasing one of the license tiers, please email licensing@cirruslabs.org.

+

You can see a template of a license subscription agreement here.

+
+

Running on AWS?

+

There are official AMIs for EC2 Mac Instances +with preconfigured Tart installation that is optimized to work within AWS infrastructure.

+

Additionally, there is a ECR Pulic Gallery mirror of all the +Tart VM images managed by us.

+
+

General Support

+

The best way to ask general questions about particular use cases is to email our support team at support@cirruslabs.org. +Our support team is trying our best to respond ASAP, but there is no guarantee on a response time unless your organization +has a paid license subscription which includes Priority Support.

+

If you have a feature request or noticed lack of some documentation please feel free to create a GitHub issue. +Our support team will answer it by replying to the issue or by updating the documentation.

+

Priority Support

+

In addition to the general support we provide a Priority Support with guaranteed response times included in all the paid license tiers.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SeveritySupport ImpactFirst Response Time SLAHoursHow to Submit
1Emergency (service is unavailable or completely unusable).30 minutes24x7Please use urgent email address.
2Highly Degraded (Important features unavailable or extremely slow; No acceptable workaround).4 hours24x5Please use priority email address.
3Medium Impact.8 hours24x5Please use priority email address.
4Low Impact.24 hours24x5Please use regular support email address. Make sure to send the email from your corporate email.
+

24x5 means period of time from 9AM on Monday till 5PM on Friday in EST timezone.

+ +
+Support Impact Definitions +
    +
  • Severity 1 - Your installation of Orchard is unavailable or completely unusable. An urgent issue can be filed and + our On-Call Support Engineer will respond within 30 minutes. Example: Orchard Controller is showing 502 errors for all users.
  • +
  • Severity 2 - Orchard installation is Highly Degraded. Significant Business Impact. Important features are unavailable + or extremely slowed, with no acceptable workaround.
  • +
  • Severity 3 - Something is preventing normal service operation. Some Business Impact. Important features of Tart or Orchard + are unavailable or somewhat slowed, but a workaround is available.
  • +
  • Severity 4 - Questions or Clarifications around features or documentation. Minimal or no Business Impact. + Information, an enhancement, or documentation clarification is requested, but there is no impact on the operation of Tart and/or Orchard.
  • +
+
+
+

How to submit a priority or an urgent issue

+

Once your organization obtains a license, members of your organization +will get access to separate support emails specified in your subscription contract.

+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/orchard/architecture-and-security/index.html b/orchard/architecture-and-security/index.html new file mode 100644 index 00000000..f0f9c683 --- /dev/null +++ b/orchard/architecture-and-security/index.html @@ -0,0 +1,1795 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Architecture and Security - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + +

Architecture and Security

+ +

Architecture

+

Orchard cluster consists of two components:

+
    +
  • Controller — responsible for managing the cluster and scheduling of resources
  • +
  • Worker — responsible for executing the VMs
  • +
  • Client — responsible for creating, modifying and removing the resources on the Controller, can either be an Orchard CLI or an API consumer
  • +
+

Normally you deploy a single Controller that needs to be accessible to both the Clients and Workers. Then you can deploy the Workers, which can reside anywhere and be inaccessible to Clients directly, e.g. behind a NAT.

+

Security

+

When an Orchard Client or a Worker connects to the Controller, they need to establish trust and verify that they're talking to the right Controller, so that no man-in-the-middle attack is possible.

+

Similarly to web-browsers (that rely on the public key infrastructure) and SSH (which relies on semi-automated fingerprint verification), Orchard combines these two traits in a hybrid approach by defaulting to automatic PKI verification (can be disabled by --no-pki) and falling-back to a manual verification for self-signed certificates.

+

This hybrid approach is needed because the Controller can be configured in two ways:

+
    +
  • Controller with a publicly valid certificate
      +
    • can be configured manually by passing --controller-cert and --controller-key command-line arguments to orchard controller run
    • +
    +
  • +
  • Controller with a self-signed certificate
      +
    • configured automatically on first Controller start-up when no --controller-cert and --controller-key command-line arguments are passed
    • +
    +
  • +
+

Below we'll explain how Orchard client and Worker secure the connection when accessing these two Controller types.

+

Client

+

Client is associated with the Controller using a orchard context create command, which works as follows:

+
    +
  • Client attempts to connect to the Controller and validate its certificate using host's root CA set (can be disabled with --no-pki)
  • +
  • if the Client encounters a Controller with a publicly valid certificate, that would be the last step and the association would succeed
  • +
  • if the Client is dealing with Controller with a self-signed certificate, the Client will do another connection attempt to probe the Controller's certificate
  • +
  • the probed Controller's certificate fingerprint is then presented to the user, and if the user agrees to trust it, the Client then considers that certificate to be trusted for a given context
  • +
  • Client finally connects to the Controller again with a trusted CA set containing only that certificate, executes the final API sanity checks, and if everything is OK then the association succeeds
  • +
+

Afterward, each interaction with the Controller (e.g. orchard create vm command) will stick to the chosen verification method and will re-verify the presented Controller's certificate against:

+
    +
  • Controller with a self-signed certificate: a trusted certificate stored in the Orchard's configuration file
  • +
  • Controller with a publicly valid certificate: host's root CA set
  • +
+

Worker

+

To make the Worker connect to the Controller, a Bootstrap Token needs to be obtained using the orchard get bootstrap-token command.

+

While this approach provides a less ad-hoc experience than that you'd have with orchard context create, it allows one to mass-deploy workers non-interactively, using tools such as Ansible.

+

This resulting Bootstrap Token will either include the Controller's certificate (when the current context is with a Controller with a self-signed certificate) or omit it (when the current context is with a Controller with a publicly valid certificate).

+

The way Worker connects to the Controller using the orchard worker run command is as follows:

+
    +
  • when the Bootstrap Token contains the Controller's certificate:
      +
    • the Orchard Worker will try to connect to the Controller with a trusted CA set containing only that certificate
    • +
    +
  • +
  • when the Bootstrap Token has no Controller's certificate:
      +
    • the Orchard Worker will try the PKI approach (can be disabled with --no-pki to effectively prevent the Worker from connecting) and fail if certificate verification using PKI is not possible
    • +
    +
  • +
+

--no-pki override

+

If you only intend to access the Controller with a self-signed certificate and want to additionally guard yourself against CA compromises and other PKI-specific attacks, pass a --no-pki command-line argument to the following commands:

+
    +
  • orchard context create --no-pki
      +
    • this will prevent the Client from using PKI and will let you interactively verify the Controller's certificate fingerprint before connecting, thus creating a non-PKI association
    • +
    +
  • +
  • orchard worker run --no-pki
      +
    • this will prevent the Worker from trying to use PKI when connecting to the Controller using a Bootstrap Token that has no certificate included in it, thus failing fast and letting you know that you need to create a proper Bootstrap Token
    • +
    +
  • +
+

We've deliberately chosen not to use environment variables (e.g. ORCHARD_NO_PKI) because they fail silently (e.g. due to a typo), compared to command-line arguments, which will result in an error that is much easier to detect.

+ + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/orchard/deploying-controller/index.html b/orchard/deploying-controller/index.html new file mode 100644 index 00000000..785c44e1 --- /dev/null +++ b/orchard/deploying-controller/index.html @@ -0,0 +1,1888 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deploying Controller - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + + + +

Deploying Controller

+ +

Introduction

+

Compared to Worker, which can only be deployed on a macOS machine, Controller can be also deployed on Linux.

+

In fact, we've made a container image to ease deploying the Controller in container-native environments such as Kubernetes.

+

Another thing to keep in mind that Orchard API is secured by default: all requests must be authenticated with the credentials of a service account. When you first run Orchard Controller, a bootstrap-admin service account will be created automatically and credentials will be printed to the standard output.

+

If you already have a token in mind that you want to use for the bootstrap-admin service account, or you've got locked out and want this service account with a well-known password back, you can set the ORCHARD_BOOTSTRAP_ADMIN_TOKEN when running the controller.

+

For example to use a secure, random value:

+
ORCHARD_BOOTSTRAP_ADMIN_TOKEN=$(openssl rand -hex 32) orchard controller run
+
+

Deployment Methods

+

While you can always start orchard controller run manually with the required arguments, this method is not recommended due to lack of persistence.

+

In the following sections you'll find several examples of how to run Orchard Controller in various environments in a more persistent way. Feel free to submit PRs with more examples.

+

Google Compute Engine

+

An example below will deploy a single instance of Orchard Controller in Google Cloud Compute Engine in us-central1 region.

+

First, let's create a static IP address for our instance:

+
gcloud compute addresses create orchard-ip --region=us-central1
+export ORCHARD_IP=$(gcloud compute addresses describe orchard-ip --format='value(address)' --region=us-central1)
+
+

Once we have the IP address, we can create a new instance with Orchard Controller running inside a container:

+
gcloud compute instances create-with-container orchard-controller \
+  --machine-type=e2-micro \
+  --zone=us-central1-a \
+  --image-family cos-stable \
+  --image-project cos-cloud \
+  --tags=https-server \
+  --address=$ORCHARD_IP \
+  --container-image=ghcr.io/cirruslabs/orchard:latest \
+  --container-env=PORT=443 \
+  --container-env=ORCHARD_BOOTSTRAP_ADMIN_TOKEN=$ORCHARD_BOOTSTRAP_ADMIN_TOKEN \
+  --container-mount-host-path=host-path=/home/orchard-data,mode=rw,mount-path=/data
+
+

Now you can create a new context for your local client:

+
orchard context create --name production \
+  --service-account-name bootstrap-admin \
+  --service-account-token $ORCHARD_BOOTSTRAP_ADMIN_TOKEN \
+  https://$ORCHARD_IP:443
+
+

And select it as the default context:

+
orchard context default production
+
+

Kubernetes (GKE, EKS, etc.)

+

The easiest way to run Orchard Controller on Kubernetes is to expose it through the LoadBalancer service.

+

This way no fiddling with the TLS certificates and HTTP proxying is needed, and most cloud providers will allocate a ready-to-use IP-address that can directly used in orchard context create and orchard worker run commands, or additionally assigned to a DNS domain name for a more memorable hostname.

+

Do deploy on Kubernetes, only three resources are needed:

+
apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: orchard-controller
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 1Gi
+  # Uncomment this when deploying on Amazon's EKS and
+  # change to the desired storage class name if needed
+  # storageClassName: gp2
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: orchard-controller
+spec:
+  serviceName: orchard-controller
+  replicas: 1
+  selector:
+    matchLabels:
+      app: orchard-controller
+  template:
+    metadata:
+      labels:
+        app: orchard-controller
+    spec:
+      containers:
+        - name: orchard-controller
+          image: ghcr.io/cirruslabs/orchard:latest
+          volumeMounts:
+            - mountPath: /data
+              name: orchard-controller
+      volumes:
+        - name: orchard-controller
+          persistentVolumeClaim:
+            claimName: orchard-controller
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: orchard-controller
+spec:
+  selector:
+    app: orchard-controller
+  ports:
+    - protocol: TCP
+      port: 6120
+      targetPort: 6120
+  type: LoadBalancer
+
+

Once deployed, the bootstrap credentials will be printed to the standard output. You can inspect them by running kubectl logs deployment/orchard-controller.

+

The resources above ensure that Controller's database is stored in a persistent storage and survives restats.

+

You can further allocate a static IP address and use it by adding annotations to the Service resource. Here's how to do that:

+ +

systemd service on Debian-based distributions

+

This should work for most Debian-based distributions like Debian, Ubuntu, etc.

+

Firstly, make sure that the APT transport for downloading packages via HTTPS and common X.509 certificates are installed:

+
sudo apt-get update && sudo apt-get -y install apt-transport-https ca-certificates
+
+

Then, add the Cirrus Labs repository:

+
echo "deb [trusted=yes] https://apt.fury.io/cirruslabs/ /" | sudo tee /etc/apt/sources.list.d/cirruslabs.list
+
+

Update the package index files and install the Orchard Controller:

+
sudo apt-get update && sudo apt-get -y install orchard-controller
+
+

Finally, enable and start the Orchard Controller systemd service:

+
sudo systemctl enable orchard-controller
+sudo systemctl start orchard-controller
+
+

The bootstrap credentials will be printed to the standard output. You can inspect them by running sudo systemctl status orhcard-controller or journalctl -u orchard-controller.

+

systemd service on RPM-based distributions

+

This should work for most RPM-based distributions like Fedora, CentOS, etc.

+

First, create a /etc/yum.repos.d/cirruslabs.repo file with the following contents:

+
[cirruslabs]
+name=Cirrus Labs Repo
+baseurl=https://yum.fury.io/cirruslabs/
+enabled=1
+gpgcheck=0
+
+

Then, install the Orchard Controller:

+
sudo yum -y install orchard-controller
+
+

Finally, enable and start the Orchard Controller systemd service:

+
systemctl enable orchard-controller
+systemctl start orchard-controller
+
+

The bootstrap credentials will be printed to the standard output. You can inspect them by running sudo systemctl status orhcard-controller or journalctl -u orchard-controller.

+ + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/orchard/deploying-workers/index.html b/orchard/deploying-workers/index.html new file mode 100644 index 00000000..d9e0793a --- /dev/null +++ b/orchard/deploying-workers/index.html @@ -0,0 +1,1794 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deploying Workers - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + +

Deploying Workers

+ +

Obtain a Boostrap Token

+

First, create a service account with a minimal set of roles (compute:read and compute:write) required for proper Worker functioning:

+
orchard create service-account worker-pool-m1 --roles "compute:read" --roles "compute:write"
+
+

Then, generate a Bootstrap Token for this service account:

+
orchard get bootstrap-token worker-pool-m1
+
+

We will reference the value of the Bootstrap Token generated here as ${BOOTSTRAP_TOKEN} below.

+

Further, we assume that Orchard controller is available on orchard.example.com

+

Deployment Methods

+

While you can always run orchard worker run manually with the required arguments, this method of deploying the Worker is not recommended.

+

Instead, we've listed a more persistent methods of a Worker deployment below.

+

launchd

+

launchd is an init system for macOS that manages daemons, agents and other background processes.

+

In this deployment method, we'll create a new job definition file for the launchd to manage on its behalf.

+

To begin, first install Orchard:

+
brew install cirruslabs/cli/orchard
+
+

Ensure that the following command:

+
which orchard
+
+

...yields /opt/homebrew/bin/orchard. If not, you'll need to replace all of the occurences of /opt/homebrew/bin/orchard in the job definition below.

+

Then, create a launchd job definition in /Library/LaunchDaemons/org.cirruslabs.orchard.worker.plist with the following contents:

+
<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+    <key>Label</key>
+    <string>org.cirruslabs.orchard.worker</string>
+    <key>UserName</key>
+    <string>admin</string>
+    <key>Program</key>
+    <string>/opt/homebrew/bin/orchard</string>
+    <key>ProgramArguments</key>
+    <array>
+      <string>/opt/homebrew/bin/orchard</string>
+      <string>worker</string>
+      <string>run</string>
+      <string>--bootstrap-token</string>
+      <string>${BOOTSTRAP_TOKEN}</string>
+      <string>orchard.example.com</string>
+    </array>
+    <key>EnvironmentVariables</key>
+    <dict>
+      <key>PATH</key>
+      <string>/bin:/usr/bin:/usr/local/bin:/opt/homebrew/bin</string>
+    </dict>
+    <key>WorkingDirectory</key>
+    <string>/var/empty</string>
+    <key>RunAtLoad</key>
+    <true/>
+    <key>KeepAlive</key>
+    <true/>
+    <key>StandardOutPath</key>
+    <string>/Users/admin/orchard-launchd.log</string>
+    <key>StandardErrorPath</key>
+    <string>/Users/admin/orchard-launchd.log</string>
+  </dict>
+</plist>
+
+

This assumes that your macOS user on the host is named admin. If not, change all occurrences of admin in the job definition above to $USER.

+

Finally, change the orchard.example.com to the FQDN or an IP-address of your Orchard Controller.

+

Now, you can start the job:

+
launchctl load -w /Library/LaunchDaemons/org.cirruslabs.orchard.worker.plist
+
+

Ansible

+

If you have a set of machines that you want to use as Orchard Workers, you can use Ansible to configure them.

+

We've created the cirruslabs/ansible-orchard repository with a basic Ansible playbook for convenient setup.

+

To use it, clone it locally:

+
git clone https://github.com/cirruslabs/ansible-orchard.git
+cd ansible-orchard/
+
+

Make sure that the Ansible Galaxy dependencies are installed:

+
ansible-galaxy install -r requirements.yml
+
+

Then, edit the production-pool file and populate the following fields:

+
    +
  • hosts — replace worker-1.hosts.internal with your worker FQDN or IP-address and add more hosts if needed
  • +
  • ansible_user — set it macOS user on the host for the SSH to work
  • +
  • orchard_worker_user — set it macOS user on the host under which the Worker will run, e.g. admin
  • +
  • orchard_worker_controller_url — set it to FQDN or an IP-address of your Orchard Controller, for example, orchard.example.com
  • +
  • orchard_worker_bootstrap_token — set it to ${BOOTSTRAP_TOKEN} we've generated above
  • +
+

Deploy the playbook:

+
ansible-playbook --inventory-file production-pool --ask-pass playbook-workers.yml
+
+ + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/orchard/integration-guide/index.html b/orchard/integration-guide/index.html new file mode 100644 index 00000000..ddd697a6 --- /dev/null +++ b/orchard/integration-guide/index.html @@ -0,0 +1,1985 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrating with the API - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + + + + +
+ +
+ + + + + + + + +

Integrating with the API

+ +

Orchard has a REST API that follows OpenAPI specification and is described in api/openapi.yaml.

+

You can run orchard dev locally and navigate to http://127.0.0.1:6120/v1/ for interactive documentation.

+

+

Using the API

+

Below you'll find examples of using Orchard API via vanilla Python's request library and Golang package that Orchard CLI build on top of.

+

Authentication

+

When running in non-development mode, Orchard API expects a basic access authentication to be provided for each API call.

+

Below you'll find two snippets that retrieve controller's information and output its version:

+

Authentication in Python

+
import requests
+from requests.auth import HTTPBasicAuth
+
+
+def main():
+  # Authentication
+  basic_auth = HTTPBasicAuth("service account name", "service account token")
+
+  response = requests.get("http://127.0.0.1:6120/v1/info", auth=basic_auth)
+
+  print(response.json()["version"])
+
+
+if __name__ == '__main__':
+  main()
+
+

Authentication in Golang

+
package main
+
+import (
+  "context"
+  "fmt"
+  "github.com/cirruslabs/orchard/pkg/client"
+  "log"
+)
+
+func main() {
+  client, err := client.New()
+  if err != nil {
+    log.Fatalf("failed to initialize Orchard API client: %v", err)
+  }
+
+  controllerInfo, err := client.Controller().Info(context.Background())
+  if err != nil {
+    log.Fatalf("failed to retrieve controller's information: %v", err)
+  }
+
+  fmt.Println(controllerInfo.Version)
+}
+
+

Note that we don't provide any credentials for Golang's version of the snippet: this is because Orchard's Golang API client (github.com/cirruslabs/orchard/pkg/client) has the ability to read the current's user Orchard context automatically.

+

Creating a VM

+

A more intricate example would be spinning off a VM with a startup script that outputs date, reading its logs and removing it from the controller:

+

Creating a VM in Python

+
import time
+import uuid
+
+import requests
+from requests.auth import HTTPBasicAuth
+
+
+def main():
+  vm_name = str(uuid.uuid4())
+
+  basic_auth = HTTPBasicAuth("service account name", "service account token")
+
+  # Create VM
+  response = requests.post("http://127.0.0.1:6120/v1/vms", auth=basic_auth, json={
+    "name": vm_name,
+    "image": "ghcr.io/cirruslabs/macos-sonoma-base:latest",
+    "cpu": 4,
+    "memory": 4096,
+    "startup_script": {
+      "script_content": "date",
+    }
+  })
+  response.raise_for_status()
+
+  # Retrieve VM's logs
+  while True:
+    response = requests.get(f"http://127.0.0.1:6120/v1/vms/{vm_name}/events", auth=basic_auth)
+    response.raise_for_status()
+
+    result = response.json()
+
+    if isinstance(result, list) and len(result) != 0:
+      print(result[0]["payload"])
+      break
+
+    time.sleep(1)
+
+  # Delete VM
+  response = requests.delete(f"http://127.0.0.1:6120/v1/vms/{vm_name}", auth=basic_auth)
+  response.raise_for_status()
+
+
+if __name__ == '__main__':
+  main()
+
+

Creating a VM in Golang

+
package main
+
+import (
+  "context"
+  "fmt"
+  "github.com/cirruslabs/orchard/pkg/client"
+  v1 "github.com/cirruslabs/orchard/pkg/resource/v1"
+  "github.com/google/uuid"
+  "log"
+  "time"
+)
+
+func main() {
+  vmName := uuid.New().String()
+
+  client, err := client.New()
+  if err != nil {
+    log.Fatalf("failed to initialize Orchard API client: %v", err)
+  }
+
+  // Create VM
+  err = client.VMs().Create(context.Background(), &v1.VM{
+    Meta: v1.Meta{
+      Name: vmName,
+    },
+    Image:  "ghcr.io/cirruslabs/macos-sonoma-base:latest",
+    CPU:    4,
+    Memory: 4096,
+    StartupScript: &v1.VMScript{
+      ScriptContent: "date",
+    },
+  })
+  if err != nil {
+    log.Fatalf("failed to create VM: %v")
+  }
+
+  // Retrieve VM's logs
+  for {
+    vmLogs, err := client.VMs().Logs(context.Background(), vmName)
+    if err != nil {
+      log.Fatalf("failed to retrieve VM logs")
+    }
+
+    if len(vmLogs) != 0 {
+      fmt.Println(vmLogs[0])
+      break
+    }
+
+    time.Sleep(time.Second)
+  }
+
+  // Delete VM
+  if err := client.VMs().Delete(context.Background(), vmName); err != nil {
+    log.Fatalf("failed to delete VM: %v", err)
+  }
+}
+
+

Resource management

+

Some resources, such as Worker and VM, have a resource field which is a dictionary that maps between resource names and their amounts (amount requested or amount provided, depending on the resource) and is useful for scheduling.

+

Well-known resources:

+
    +
  • org.cirruslabs.tart-vms — number of Tart VM slots available on the machine or requested by the VM
      +
    • this number is 2 for workers and 1 for VMs by default
    • +
    +
  • +
+ + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/orchard/managing-cluster/index.html b/orchard/managing-cluster/index.html new file mode 100644 index 00000000..85d1c6e5 --- /dev/null +++ b/orchard/managing-cluster/index.html @@ -0,0 +1,1726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Managing the Cluster - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + + + + + + +

Managing the Cluster

+ +

Backups

+

In order to backup the Orchard Controller, simply copy its ORCHARD_HOME (which defaults to ~/.orchard/) directory somewhere safe and restore it when needed.

+

This directory contains a BadgerDB database that Controller uses to store state and an X.509 certificate with key.

+

Upgrades

+

Since the Orchard's initial release, we've managed to maintain the backwards compatibility between versions up to this day, so generally, it doesn't matter whether you upgrade the Controller or Worker(s) first.

+

In case a new functionality is introduced, you might be required to finish the upgrade of both the Controller and the Worker(s) to be able to use it fully.

+

In case there will be backwards-incompatible changes introduced in the future, we will try to do our best and highlight this in the release notes accordingly.

+

Observability

+

Both the Controller and Worker produce some useful OpenTelemetry metrics. Metrics are scoped with org.cirruslabs.orchard prefix and include information about resource utilization, statuses or Workers, scheduling/pull time and many more.

+

By default, the telemetry is sent to https://localhost:4317 using the gRPC protocol and to http://localhost:4318 using the HTTP protocol.

+

You can override this by setting the standard OpenTelemetry environment variable OTEL_EXPORTER_OTLP_ENDPOINT.

+

Please refer to OTEL Collector documentation for instruction on how to setup a sidecar for the metrics collections or find out if your SaaS monitoring has an available OTEL endpoint (see Honeycomb as an example).

+

Sending metrics to Google Cloud Platform

+

There are two standard options of ingesting metrics procuded by Orchard Controller and Workers into the GCP:

+ + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/orchard/quick-start/index.html b/orchard/quick-start/index.html new file mode 100644 index 00000000..100154fe --- /dev/null +++ b/orchard/quick-start/index.html @@ -0,0 +1,1837 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quick Start - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+ +
+ + + +
+ +
+ + + + + + + + +

Quick Start

+ +

Tart is great for running workloads on a single machine, but what if you have more than one computer at your disposal +and +a couple of VMs is not enough anymore for your needs? This is where Orchard +comes in to play!

+

It allows you to orchestrate multiple Tart-capable hosts from either an Orchard CLI (which we demonstrate below) +or through the API.

+

The easiest way to start is to run Orchard in local development mode:

+
brew install cirruslabs/cli/orchard
+orchard dev
+
+

This will run an Orchard Controller and an Orchard Worker in a single process on your local machine, allowing you to +test both the CLI functionality and the API from a tool like cURL or programming language of choice, without the need to +authenticate requests.

+

Note that in production deployments, these two components are started separately and enable security by default. Please +refer to Deploying Controller and Deploying Workers for +more information.

+

Creating Virtual Machines

+

Now, let's create a Virtual Machine:

+
orchard create vm --image ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base
+
+

You can check a list of VM resources to see if the Virtual Machine we've created above is already running:

+
orchard list vms
+
+

Accessing Virtual Machines

+

Orchard has an ability to do port forwarding that ssh and vnc commands are built on top of. All port forwarding +connections are done via the Orchard Controller instance which "proxies" a secure connection to the Orchard Workers.

+

Therefore, your workers can be located under a stricter firewall that only allows connections to the Orchard Controller +instance. Orchard Controller instance is secured by default and all API calls are authenticated and authorized.

+

SSH

+

To SSH into a VM, use the orchard ssh command:

+
orchard ssh vm sonoma-base
+
+

You can specify the --username and --password flags to specify the username/password pair to use for the SSH +protocol. By default, admin/admin is used.

+

You can also execute remote commands instead of spawning a login shell, similarly to how OpenSSH's ssh command accepts +a command argument:

+
orchard ssh vm sonoma-base "uname -a"
+
+

You can execute scripts remotely this way, by telling the remote command-line interpreter to read from the standard +input and using the redirection operator as follows:

+
orchard ssh vm sonoma-base "bash -s" < script.sh
+
+

VNC

+

Similarly to ssh command, you can use vnc command to open Screen Sharing into a remote VM:

+
orchard vnc vm sonoma-base
+
+

You can specify the --username and --password flags to specify the username/password pair to use for the VNC +protocol. By default, admin/admin is used.

+

Deleting Virtual Machines

+

The following command will delete the VM we've created above and clean-up the resources associated with it:

+
orchard delete vm sonoma-base
+
+

Environment variables

+

In addition to controlling the Orchard via the CLI arguments, there are environment variables that may be beneficial +both when automating Orchard and in daily use:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Variable nameDescription
ORCHARD_HOMEOverride Orchard's home directory. Useful when running multiple Orchard instances on the same host and when testing.
ORCHARD_LICENSE_TIERThe default license limit only allows connecting 4 Orchard Workers to the Orchard Controller. If you've purchased a Gold Tier License, set this variable to gold to increase the limit to 20 Orchard Workers. And if you've purchased a Platinum Tier License, set this variable to platinum to increase the limit to 200 Orchard Workers.
ORCHARD_URLOverride controller URL on per-command basis.
ORCHARD_SERVICE_ACCOUNT_NAMEOverride service account name (used for controller API auth) on per-command basis.
ORCHARD_SERVICE_ACCOUNT_TOKENOverride service account token (used for controller API auth) on per-command basis.
+ + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/quick-start/index.html b/quick-start/index.html new file mode 100644 index 00000000..6de8fe1a --- /dev/null +++ b/quick-start/index.html @@ -0,0 +1,1855 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quick Start - Tart Virtualization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + +

Quick Start

+ +

Try running a Tart VM on your Apple Silicon device running macOS 13.0 (Ventura) or later (will download a 25 GB image):

+
brew install cirruslabs/cli/tart
+tart clone ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base
+tart run sonoma-base
+
+
+Manual installation from a release archive +

It's also possible to manually install tart binary from the latest released archive:

+
curl -LO https://github.com/cirruslabs/tart/releases/latest/download/tart-arm64.tar.gz
+tar -xzvf tart-arm64.tar.gz
+./tart.app/Contents/MacOS/tart clone ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base
+./tart.app/Contents/MacOS/tart run sonoma-base
+
+

Please note that ./tart.app/Contents/MacOS/tart binary is required to be used in order to trick macOS +to pick tart.app/Contents/embedded.provisionprofile for elevated privileges that Tart needs.

+
+

+ +

+ +

VM images

+

The following macOS images are currently available:

+
    +
  • macOS 14 (Sonoma)
      +
    • ghcr.io/cirruslabs/macos-sonoma-vanilla:latest
    • +
    • ghcr.io/cirruslabs/macos-sonoma-base:latest
    • +
    • ghcr.io/cirruslabs/macos-sonoma-xcode:latest
    • +
    +
  • +
  • macOS 13 (Ventura)
      +
    • ghcr.io/cirruslabs/macos-ventura-vanilla:latest
    • +
    • ghcr.io/cirruslabs/macos-ventura-base:latest
    • +
    • ghcr.io/cirruslabs/macos-ventura-xcode:latest
    • +
    +
  • +
  • macOS 12 (Monterey)
      +
    • ghcr.io/cirruslabs/macos-monterey-vanilla:latest
    • +
    • ghcr.io/cirruslabs/macos-monterey-base:latest
    • +
    • ghcr.io/cirruslabs/macos-monterey-xcode:latest
    • +
    +
  • +
+

There's also a full list of images in which you can discovery specific tags (e.g. ghcr.io/cirruslabs/macos-monterey-xcode:15) and macOS-specific Packer templates that were used to generate these images.

+

For, Linux the options are as follows:

+
    +
  • Ubuntu
      +
    • ghcr.io/cirruslabs/ubuntu:latest
    • +
    +
  • +
  • Debian
      +
    • ghcr.io/cirruslabs/debian:latest
    • +
    +
  • +
  • Fedora
      +
    • ghcr.io/cirruslabs/fedora:latest
    • +
    +
  • +
+

Note that these Linux images have a minimal disk size of 20 GB, and you might want to resize them right after cloning:

+
tart clone ghcr.io/cirruslabs/ubuntu:latest ubuntu
+tart set ubuntu --disk-size 50
+tart run ubuntu
+
+

These Linux images can be ran natively on Vetu, our virtualization solution for Linux, assuming that Vetu itself is running on an arm64 machine.

+

Similarly to macOS, there's also a full list of images in which you can discovery specific tags (e.g. ghcr.io/cirruslabs/ubuntu:22.04) and Linux-specific Packer templates that were used to generate these images.

+

All images above use the following credentials:

+
    +
  • Username: admin
  • +
  • Password: admin
  • +
+

These credentials work both for logging in via GUI, console (Linux) and SSH.

+

SSH access

+

If the guest VM is running and configured to accept incoming SSH connections you can conveniently connect to it like so:

+
ssh admin@$(tart ip sonoma-base)
+
+
+

Running scripts inside Tart virtual machines

+

We recommend using Cirrus CLI to run scripts and/or retrieve artifacts +from within Tart virtual machines. Alternatively, you can use plain ssh connection and tart ip command:

+
brew install cirruslabs/cli/sshpass
+sshpass -p admin ssh -o "StrictHostKeyChecking no" admin@$(tart ip sonoma-base) "uname -a"
+sshpass -p admin ssh -o "StrictHostKeyChecking no" admin@$(tart ip sonoma-base) < script.sh
+
+
+

Mounting directories

+

To mount a directory, run the VM with the --dir argument:

+
tart run --dir=project:~/src/project vm
+
+

Here, the project specifies a mount name, whereas the ~/src/project is a path to the host's directory to expose to the VM.

+

It is also possible to mount directories in read-only mode by adding a third parameter, ro:

+
tart run --dir=project:~/src/project:ro vm
+
+

To mount multiple directories, repeat the --dir argument for each directory:

+
tart run --dir=www1:~/project1/www --dir=www2:~/project2/www
+
+

Note that the first parameter in each --dir argument must be unique, otherwise only the last --dir argument using that name will be used.

+

Note: to use the directory mounting feature, the host needs to run macOS 13.0 (Ventura) or newer.

+

Accessing mounted directories in macOS guests

+

All shared directories are automatically mounted to /Volumes/My Shared Files directory.

+

The directory we've mounted above will be accessible from the /Volumes/My Shared Files/project path inside a guest VM.

+

Note: to use the directory mounting feature, the guest VM needs to run macOS 13.0 (Ventura) or newer.

+
+Changing mount location +

It is possible to remount the directories after a virtual machine is started by running the following commands:

+
sudo umount "/Volumes/My Shared Files"
+mkdir ~/workspace
+mount_virtiofs com.apple.virtio-fs.automount ~/workspace
+
+

After running the above commands the direcory will be available at ~/workspace/project

+
+

Accessing mounted directories in Linux guests

+

To be able to access the shared directories from the Linux guest, you need to manually mount the virtual filesystem first:

+
sudo mkdir /mnt/shared
+sudo mount -t virtiofs com.apple.virtio-fs.automount /mnt/shared
+
+

The directory we've mounted above will be accessible from the /mnt/shared/project path inside a guest VM.

+
+Auto-mount at boot time +

To automatically mount this directory at boot time, add the following line to the /etc/fstab file:

+
com.apple.virtio-fs.automount /mnt/shared virtiofs rw,relatime 0 0
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 00000000..5eaa492a --- /dev/null +++ b/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: * +Disallow: +Sitemap: https://tart.run/sitemap.xml diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 00000000..59195b55 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"faq/","title":"Frequently Asked Questions","text":""},{"location":"faq/#vm-location-on-disk","title":"VM location on disk","text":"

Tart stores all its files in ~/.tart/ directory. Local images that you can run are stored in ~/.tart/vms/. Remote images are pulled into ~/.tart/cache/OCIs/.

"},{"location":"faq/#nested-virtualization-support","title":"Nested virtualization support?","text":"

Tart is limited by functionality of Apple's Virtualization.Framework. At the moment Virtualization.Framework doesn't support nested virtualization.

"},{"location":"faq/#connecting-to-a-service-running-on-host","title":"Connecting to a service running on host","text":"

To connect from within a virtual machine to a service running on the host machine please first make sure that the service is binded to 0.0.0.0.

Then from within a virtual machine you can access the service using the router's IP address that you can get either from Preferences -> Network or by running the following command in the Terminal:

netstat -nr | grep default | head -n 1 | awk '{print $2}'\n

Note: that accessing host is only possible with the default NAT network. If you are running your virtual machines with Softnet (via tart run --net-softnet <VM NAME>), then the network isolation is stricter and it's not only possible to access the host.

"},{"location":"faq/#changing-the-default-nat-subnet","title":"Changing the default NAT subnet","text":"

To change the default network to 192.168.77.1:

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist Shared_Net_Address -string 192.168.77.1\n

Note that even through a network would normally be specified as 192.168.77.0, the vmnet framework seems to treat this as a starting address too and refuses to pick up such network-like values.

The default subnet mask 255.255.255.0 should suffice for most use-cases, however, you can also change it to 255.255.0.0, for example:

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist Shared_Net_Mask -string 255.255.0.0\n
"},{"location":"faq/#changing-the-default-dhcp-lease-time","title":"Changing the default DHCP lease time","text":"

By default, the built-in macOS DHCP server allocates IP-addresses to the VMs for the duration of 86,400 seconds (one day), which may easily cause DHCP exhaustion if you run more than ~253 VMs per day, or in other words, more than one VM every ~6 minutes.

This issue is worked around automatically when using Softnet, however, if you don't use or can't use it, the following command will reduce the lease time from the default 86,400 seconds (one day) to 600 seconds (10 minutes):

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.InternetSharing.default.plist bootpd -dict DHCPLeaseTimeSecs -int 600\n

Note that this tweak persists across reboots, so normally you'll only need to do it once per new host.

"},{"location":"faq/#running-loginclonepullpush-commands-over-ssh","title":"Running login/clone/pull/push commands over SSH","text":"

When invoking the Tart in an SSH session, you might get error like this:

Keychain returned unsuccessful status -25308

...or this:

Keychain failed to update item: User interaction is not allowed.

This is because Tart uses Keychain to store and retrieve OCI registry credentials by default, but Keychain is only automatically/semi-automatically unlocked in GUI sessions.

To unlock the Keychain in an SSH session, run the following command, which will ask for your user's password:

security unlock-keychain\n

This command also supports the -p command-line argument that allows you to supply the password and unlock non-interactively, which is great for scripts.

If that doesn't work for you for some reason, you can pass the credentials via the environment variables, see Registry Authorization for more details on how to do that.

"},{"location":"faq/#how-tart-is-different-from-anka","title":"How Tart is different from Anka?","text":"

Under the hood Tart is using the same technology as Anka 3.0 so there should be no real difference in performance or features supported. If there is some feature missing please don't hesitate to create a feature request.

Instead of Anka Registry, Tart can work with any OCI-compatible container registry. This provides a much more consistent and scalable experience for distributing virtual machines.

Tart doesn't yet have an analogue of Anka Controller for managing long living VMs but soon will be.

"},{"location":"faq/#automatic-pruning","title":"Automatic pruning","text":"

tart pull and tart clone commands check the remaining space available on the volume associated with TART_HOME directory (defaults to ~/.tart) before pulling or cloning anything.

In case there's not enough space to fit the newly pulled or cloned VM image, Tart will remove the least recently accessed VMs from OCI cache and .ipsw files from IPSW cache until enough free space is available.

To disable this functionality, set the TART_NO_AUTO_PRUNE environment variable either globally:

export TART_NO_AUTO_PRUNE=\n

...or per tart pull and tart clone invocation as follows:

TART_NO_AUTO_PRUNE= tart pull ...\n
"},{"location":"licensing/","title":"Licensing and Support","text":"

Both Tart Virtualization and Orchard Orchestration are licensed under Fair Source License. Usage on personal computers including personal workstations is royalty-free, but organizations that exceed a certain number of server installations (100 CPU cores for Tart and/or 4 hosts for Orchard) will be required to obtain a paid license.

Host CPU Core usage

The virtual CPU cores of Tart VMs are not tied to specific physical cores of the host CPU. Instead, for optimal performance Tart VMs will automatically try to balance compute between all available cores of the host CPU. As a result, all performance and energy-efficient cores of the host CPU are always counted towards the license usage.

"},{"location":"licensing/#license-tiers","title":"License Tiers","text":"

By default, when no license is purchased, it is assumed that an organization is using a Free Tier license. You can find the Free Tier license text in Tart and Orchard repositories.

Free Tier license has a 100 CPU core limit for Tart and 4 Orchard Workers limit for Orchard.

Usage Scenarios Examples

Here are a few examples that fit into the free tier:

  • Using Tart on 12 Mac Minis with 8 CPUs each running up to 24 VMs in parallel.
  • Creating an Orchard cluster of 4 Mac Studio workers with 24 CPUs each.

Here are a few examples that do not fit into the free tier:

  • Using Tart on 13 Mac Minis with 8 CPUs each.
  • Creating an Orchard cluster of 5 Mac Minis workers with 8 CPUs each.
"},{"location":"licensing/#gold-tier","title":"Gold Tier","text":"

If an organization wishes to exceed the limits of the Free Tier license, a purchase of the Gold Tier License is required, which costs $1000 per month.

Gold Tier license has a 500 CPU core limit for Tart and 20 Orchard Workers limit for Orchard.

"},{"location":"licensing/#platinum-tier","title":"Platinum Tier","text":"

If an organization wishes to exceed the limits of the Gold Tier license, a purchase of the Platinum Tier License is required, which costs $3000 per month.

Platinum Tier license has a 3,000 CPU core limit for Tart and 200 Orchard Workers limit for Orchard.

"},{"location":"licensing/#diamond-tier","title":"Diamond Tier","text":"

For organizations that wish to exceed the limits of the Platinum Tier license, a purchase of a custom Diamond Tier License is required, which costs $1 per CPU core per month and gives the ability to run unlimited Orchard Workers.

"},{"location":"licensing/#get-the-license","title":"Get the license","text":"

If your organization is interested in purchasing one of the license tiers, please email licensing@cirruslabs.org.

You can see a template of a license subscription agreement here.

Running on AWS?

There are official AMIs for EC2 Mac Instances with preconfigured Tart installation that is optimized to work within AWS infrastructure.

Additionally, there is a ECR Pulic Gallery mirror of all the Tart VM images managed by us.

"},{"location":"licensing/#general-support","title":"General Support","text":"

The best way to ask general questions about particular use cases is to email our support team at support@cirruslabs.org. Our support team is trying our best to respond ASAP, but there is no guarantee on a response time unless your organization has a paid license subscription which includes Priority Support.

If you have a feature request or noticed lack of some documentation please feel free to create a GitHub issue. Our support team will answer it by replying to the issue or by updating the documentation.

"},{"location":"licensing/#priority-support","title":"Priority Support","text":"

In addition to the general support we provide a Priority Support with guaranteed response times included in all the paid license tiers.

Severity Support Impact First Response Time SLA Hours How to Submit 1 Emergency (service is unavailable or completely unusable). 30 minutes 24x7 Please use urgent email address. 2 Highly Degraded (Important features unavailable or extremely slow; No acceptable workaround). 4 hours 24x5 Please use priority email address. 3 Medium Impact. 8 hours 24x5 Please use priority email address. 4 Low Impact. 24 hours 24x5 Please use regular support email address. Make sure to send the email from your corporate email.

24x5 means period of time from 9AM on Monday till 5PM on Friday in EST timezone.

Support Impact Definitions
  • Severity 1 - Your installation of Orchard is unavailable or completely unusable. An urgent issue can be filed and our On-Call Support Engineer will respond within 30 minutes. Example: Orchard Controller is showing 502 errors for all users.
  • Severity 2 - Orchard installation is Highly Degraded. Significant Business Impact. Important features are unavailable or extremely slowed, with no acceptable workaround.
  • Severity 3 - Something is preventing normal service operation. Some Business Impact. Important features of Tart or Orchard are unavailable or somewhat slowed, but a workaround is available.
  • Severity 4 - Questions or Clarifications around features or documentation. Minimal or no Business Impact. Information, an enhancement, or documentation clarification is requested, but there is no impact on the operation of Tart and/or Orchard.

How to submit a priority or an urgent issue

Once your organization obtains a license, members of your organization will get access to separate support emails specified in your subscription contract.

"},{"location":"quick-start/","title":"Quick Start","text":"

Try running a Tart VM on your Apple Silicon device running macOS 13.0 (Ventura) or later (will download a 25 GB image):

brew install cirruslabs/cli/tart\ntart clone ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base\ntart run sonoma-base\n
Manual installation from a release archive

It's also possible to manually install tart binary from the latest released archive:

curl -LO https://github.com/cirruslabs/tart/releases/latest/download/tart-arm64.tar.gz\ntar -xzvf tart-arm64.tar.gz\n./tart.app/Contents/MacOS/tart clone ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base\n./tart.app/Contents/MacOS/tart run sonoma-base\n

Please note that ./tart.app/Contents/MacOS/tart binary is required to be used in order to trick macOS to pick tart.app/Contents/embedded.provisionprofile for elevated privileges that Tart needs.

"},{"location":"quick-start/#vm-images","title":"VM images","text":"

The following macOS images are currently available:

  • macOS 14 (Sonoma)
    • ghcr.io/cirruslabs/macos-sonoma-vanilla:latest
    • ghcr.io/cirruslabs/macos-sonoma-base:latest
    • ghcr.io/cirruslabs/macos-sonoma-xcode:latest
  • macOS 13 (Ventura)
    • ghcr.io/cirruslabs/macos-ventura-vanilla:latest
    • ghcr.io/cirruslabs/macos-ventura-base:latest
    • ghcr.io/cirruslabs/macos-ventura-xcode:latest
  • macOS 12 (Monterey)
    • ghcr.io/cirruslabs/macos-monterey-vanilla:latest
    • ghcr.io/cirruslabs/macos-monterey-base:latest
    • ghcr.io/cirruslabs/macos-monterey-xcode:latest

There's also a full list of images in which you can discovery specific tags (e.g. ghcr.io/cirruslabs/macos-monterey-xcode:15) and macOS-specific Packer templates that were used to generate these images.

For, Linux the options are as follows:

  • Ubuntu
    • ghcr.io/cirruslabs/ubuntu:latest
  • Debian
    • ghcr.io/cirruslabs/debian:latest
  • Fedora
    • ghcr.io/cirruslabs/fedora:latest

Note that these Linux images have a minimal disk size of 20 GB, and you might want to resize them right after cloning:

tart clone ghcr.io/cirruslabs/ubuntu:latest ubuntu\ntart set ubuntu --disk-size 50\ntart run ubuntu\n

These Linux images can be ran natively on Vetu, our virtualization solution for Linux, assuming that Vetu itself is running on an arm64 machine.

Similarly to macOS, there's also a full list of images in which you can discovery specific tags (e.g. ghcr.io/cirruslabs/ubuntu:22.04) and Linux-specific Packer templates that were used to generate these images.

All images above use the following credentials:

  • Username: admin
  • Password: admin

These credentials work both for logging in via GUI, console (Linux) and SSH.

"},{"location":"quick-start/#ssh-access","title":"SSH access","text":"

If the guest VM is running and configured to accept incoming SSH connections you can conveniently connect to it like so:

ssh admin@$(tart ip sonoma-base)\n

Running scripts inside Tart virtual machines

We recommend using Cirrus CLI to run scripts and/or retrieve artifacts from within Tart virtual machines. Alternatively, you can use plain ssh connection and tart ip command:

brew install cirruslabs/cli/sshpass\nsshpass -p admin ssh -o \"StrictHostKeyChecking no\" admin@$(tart ip sonoma-base) \"uname -a\"\nsshpass -p admin ssh -o \"StrictHostKeyChecking no\" admin@$(tart ip sonoma-base) < script.sh\n
"},{"location":"quick-start/#mounting-directories","title":"Mounting directories","text":"

To mount a directory, run the VM with the --dir argument:

tart run --dir=project:~/src/project vm\n

Here, the project specifies a mount name, whereas the ~/src/project is a path to the host's directory to expose to the VM.

It is also possible to mount directories in read-only mode by adding a third parameter, ro:

tart run --dir=project:~/src/project:ro vm\n

To mount multiple directories, repeat the --dir argument for each directory:

tart run --dir=www1:~/project1/www --dir=www2:~/project2/www\n

Note that the first parameter in each --dir argument must be unique, otherwise only the last --dir argument using that name will be used.

Note: to use the directory mounting feature, the host needs to run macOS 13.0 (Ventura) or newer.

"},{"location":"quick-start/#accessing-mounted-directories-in-macos-guests","title":"Accessing mounted directories in macOS guests","text":"

All shared directories are automatically mounted to /Volumes/My Shared Files directory.

The directory we've mounted above will be accessible from the /Volumes/My Shared Files/project path inside a guest VM.

Note: to use the directory mounting feature, the guest VM needs to run macOS 13.0 (Ventura) or newer.

Changing mount location

It is possible to remount the directories after a virtual machine is started by running the following commands:

sudo umount \"/Volumes/My Shared Files\"\nmkdir ~/workspace\nmount_virtiofs com.apple.virtio-fs.automount ~/workspace\n

After running the above commands the direcory will be available at ~/workspace/project

"},{"location":"quick-start/#accessing-mounted-directories-in-linux-guests","title":"Accessing mounted directories in Linux guests","text":"

To be able to access the shared directories from the Linux guest, you need to manually mount the virtual filesystem first:

sudo mkdir /mnt/shared\nsudo mount -t virtiofs com.apple.virtio-fs.automount /mnt/shared\n

The directory we've mounted above will be accessible from the /mnt/shared/project path inside a guest VM.

Auto-mount at boot time

To automatically mount this directory at boot time, add the following line to the /etc/fstab file:

com.apple.virtio-fs.automount /mnt/shared virtiofs rw,relatime 0 0\n
"},{"location":"blog/","title":"Blog","text":""},{"location":"integrations/buildkite/","title":"Buildkite","text":"

It is possible to run Buildkite pipeline steps in isolated ephemeral Tart Virtual Machines with the help of Tart Buildkite Plugin:

"},{"location":"integrations/buildkite/#configuration","title":"Configuration","text":"

The most basic configuration looks like this:

steps:\n- command: uname -a\n  plugins:\n  - cirruslabs/tart#main:\n    image: ghcr.io/cirruslabs/macos-sonoma-base:latest\n

This will run uname -r in a macOS Tart VM cloned from ghcr.io/cirruslabs/macos-sonoma-base:latest.

See plugin's Configuration section for the full list of available options.

"},{"location":"integrations/cirrus-cli/","title":"Cirrus CLI","text":"

Tart itself is only responsible for managing virtual machines, but we've built Tart support into a tool called Cirrus CLI also developed by Cirrus Labs. Cirrus CLI is a command line tool with one configuration format to execute common CI steps (run a script, cache a folder, etc.) locally or in any CI system. We built Cirrus CLI to solve \"But it works on my machine!\" problem.

Here is an example of a .cirrus.yml configuration file which will start a Tart VM, will copy over working directory and will run scripts and other instructions inside the virtual machine:

task:\n  name: hello\n  macos_instance:\n    # can be a remote or a local virtual machine\n    image: ghcr.io/cirruslabs/macos-sonoma-base:latest\n  hello_script:\n    - echo \"Hello from within a Tart VM!\"\n    - echo \"Here is my CPU info:\"\n    - sysctl -n machdep.cpu.brand_string\n    - sleep 15\n

Put the above .cirrus.yml file in the root of your repository and run it with the following command:

brew install cirruslabs/cli/cirrus\ncirrus run\n

Cirrus CI already leverages Tart to power its macOS cloud infrastructure. The .cirrus.yml config from above will just work in Cirrus CI and your tasks will be executed inside Tart VMs in our cloud.

Note: Cirrus CI only allows images managed and regularly updated by us.

"},{"location":"integrations/cirrus-cli/#retrieving-artifacts-from-within-tart-vms","title":"Retrieving artifacts from within Tart VMs","text":"

In many cases there is a need to retrieve particular files or a folder from within a Tart virtual machine. For example, the below .cirrus.yml configuration defines a single task that builds a tart binary and exposes it via artifacts instruction:

task:\n  name: Build\n  macos_instance:\n    image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest\n  build_script: swift build --product tart\n  binary_artifacts:\n    path: .build/debug/tart\n

Running Cirrus CLI with --artifacts-dir will write defined artifacts to the provided local directory on the host:

cirrus run --artifacts-dir artifacts\n

Note that all retrieved artifacts will be prefixed with the associated task name and artifacts instruction name. For the example above, tart binary will be saved to $PWD/artifacts/Build/binary/.build/debug/tart.

"},{"location":"integrations/gitlab-runner/","title":"GitLab Runner Executor","text":"

It is possible to run GitLab jobs in isolated ephemeral Tart Virtual Machines via Tart Executor. Tart Executor utilizes custom executor feature of GitLab Runner.

"},{"location":"integrations/gitlab-runner/#basic-configuration","title":"Basic Configuration","text":"

Configuring Tart Executor for GitLab Runner is as simple as installing gitlab-tart-executor binary from Homebrew:

brew install cirruslabs/cli/gitlab-tart-executor\n

And updating configuration of your self-hosted GitLab Runner to use gitlab-tart-executor binary:

concurrent = 2\n\n[[runners]]\n  # ...\n  executor = \"custom\"\n  builds_dir = \"/Users/admin/builds\" # directory inside the VM\n  cache_dir = \"/Users/admin/cache\"\n  [runners.feature_flags]\n    FF_RESOLVE_FULL_TLS_CHAIN = false\n  [runners.custom]\n    prepare_exec = \"gitlab-tart-executor\"\n    prepare_args = [\"prepare\"]\n    run_exec = \"gitlab-tart-executor\"\n    run_args = [\"run\"]\n    cleanup_exec = \"gitlab-tart-executor\"\n    cleanup_args = [\"cleanup\"]\n

Now you can use Tart Images in your .gitlab-ci.yml:

# You can use any remote Tart Image.\n# Tart Executor will pull it from the registry and use it for creating ephemeral VMs.\nimage: ghcr.io/cirruslabs/macos-sonoma-base:latest\n\ntest:\n  tags:\n    - tart-installed # in case you tagged runners with Tart Executor installed\n  script:\n    - uname -a\n

For more advanced configuration please refer to GitLab Tart Executor repository.

"},{"location":"integrations/vm-management/","title":"Managing Virtual Machine","text":""},{"location":"integrations/vm-management/#creating-from-scratch","title":"Creating from scratch","text":"

Tart supports macOS and Linux virtual machines. All commands like run and pull work the same way regarding of the underlying OS a particular VM image has. The only difference is how such VM images are created. Please check sections below for macOS and Linux instructions.

"},{"location":"integrations/vm-management/#creating-a-macos-vm-image-from-scratch","title":"Creating a macOS VM image from scratch","text":"

Tart can create VMs from *.ipsw files. You can download a specific *.ipsw file here or you can use latest instead of a path to *.ipsw to download the latest available version:

tart create --from-ipsw=latest sonoma-vanilla\ntart run sonoma-vanilla\n

After the initial booting of the VM, you'll need to manually go through the macOS installation process. As a convention we recommend creating an admin user with an admin password. After the regular installation please do some additional modifications in the VM:

  1. Enable Auto-Login. Users & Groups -> Login Options -> Automatic login -> admin.
  2. Allow SSH. Sharing -> Remote Login
  3. Disable Lock Screen. Preferences -> Lock Screen -> disable \"Require Password\" after 5.
  4. Disable Screen Saver.
  5. Run sudo visudo in Terminal, find %admin ALL=(ALL) ALL add admin ALL=(ALL) NOPASSWD: ALL to allow sudo without a password.
"},{"location":"integrations/vm-management/#creating-a-linux-vm-image-from-scratch","title":"Creating a Linux VM image from scratch","text":"

Linux VMs are supported on hosts running macOS 13.0 (Ventura) or newer.

# Create a bare VM\ntart create --linux ubuntu\n\n# Install Ubuntu\ntart run --disk focal-desktop-arm64.iso ubuntu\n\n# Run VM\ntart run ubuntu\n

After the initial setup please make sure your VM can be SSH-ed into by running the following commands inside your VM:

sudo apt update\nsudo apt install -y openssh-server\nsudo ufw allow ssh\n
"},{"location":"integrations/vm-management/#configuring-a-vm","title":"Configuring a VM","text":"

By default, a Tart VM uses 2 CPUs and 4 GB of memory with a 1024x768 display. This can be changed after VM creation with tart set command. Please refer to tart set --help for additional details.

"},{"location":"integrations/vm-management/#building-with-packer","title":"Building with Packer","text":"

Please refer to Tart Packer Plugin repository for setup instructions. Here is an example of a template to build a local image based of a remote image:

packer {\n  required_plugins {\n    tart = {\n      version = \">= 0.5.3\"\n      source  = \"github.com/cirruslabs/tart\"\n    }\n  }\n}\n\nsource \"tart-cli\" \"tart\" {\n  vm_base_name = \"ghcr.io/cirruslabs/macos-sonoma-base:latest\"\n  vm_name      = \"my-custom-sonoma\"\n  cpu_count    = 4\n  memory_gb    = 8\n  disk_size_gb = 70\n  ssh_password = \"admin\"\n  ssh_timeout  = \"120s\"\n  ssh_username = \"admin\"\n}\n\nbuild {\n  sources = [\"source.tart-cli.tart\"]\n\n  provisioner \"shell\" {\n    inline = [\"echo 'Disabling spotlight indexing...'\", \"sudo mdutil -a -i off\"]\n  }\n\n  # more provisioners\n}\n

Here is a repository with Packer templates used to build all the images managed by us.

"},{"location":"integrations/vm-management/#working-with-a-remote-oci-container-registry","title":"Working with a Remote OCI Container Registry","text":"

Tart supports interacting with Open Container Initiative (OCI) registries, but only runs images created and pushed by Tart. This means images created for container engines, like Docker, can't be pulled. Instead, create a custom image as documented above.

For example, let's say you want to push/pull images to an OCI registry hosted at https://acme.io/.

"},{"location":"integrations/vm-management/#registry-authorization","title":"Registry Authorization","text":"

First, you need to login to acme.io with the tart login command:

tart login acme.io\n

If you login to your registry with OAuth, you may need to create an access token to use as the password. Credentials are securely stored in Keychain.

In addition, Tart supports Docker credential helpers if defined in ~/.docker/config.json.

Finally, TART_REGISTRY_USERNAME and TART_REGISTRY_PASSWORD environment variables allow to override authorization for all registries which might useful for integrating with your CI's secret management.

"},{"location":"integrations/vm-management/#pushing-a-local-image","title":"Pushing a Local Image","text":"

Once credentials are saved for acme.io, run the following command to push a local images remotely with two tags:

tart push my-local-vm-name acme.io/remoteorg/name:latest acme.io/remoteorg/name:v1.0.0\n
"},{"location":"integrations/vm-management/#pulling-a-remote-image","title":"Pulling a Remote Image","text":"

You can either pull an image:

tart pull acme.io/remoteorg/name:latest\n

or create a VM from a remote image:

tart clone acme.io/remoteorg/name:latest my-local-vm-name\n

If the specified image is not already present, this invocation calls the tart pull implicitly before cloning.

"},{"location":"orchard/architecture-and-security/","title":"Architecture and Security","text":""},{"location":"orchard/architecture-and-security/#architecture","title":"Architecture","text":"

Orchard cluster consists of two components:

  • Controller \u2014 responsible for managing the cluster and scheduling of resources
  • Worker \u2014 responsible for executing the VMs
  • Client \u2014 responsible for creating, modifying and removing the resources on the Controller, can either be an Orchard CLI or an API consumer

Normally you deploy a single Controller that needs to be accessible to both the Clients and Workers. Then you can deploy the Workers, which can reside anywhere and be inaccessible to Clients directly, e.g. behind a NAT.

"},{"location":"orchard/architecture-and-security/#security","title":"Security","text":"

When an Orchard Client or a Worker connects to the Controller, they need to establish trust and verify that they're talking to the right Controller, so that no man-in-the-middle attack is possible.

Similarly to web-browsers (that rely on the public key infrastructure) and SSH (which relies on semi-automated fingerprint verification), Orchard combines these two traits in a hybrid approach by defaulting to automatic PKI verification (can be disabled by --no-pki) and falling-back to a manual verification for self-signed certificates.

This hybrid approach is needed because the Controller can be configured in two ways:

  • Controller with a publicly valid certificate
    • can be configured manually by passing --controller-cert and --controller-key command-line arguments to orchard controller run
  • Controller with a self-signed certificate
    • configured automatically on first Controller start-up when no --controller-cert and --controller-key command-line arguments are passed

Below we'll explain how Orchard client and Worker secure the connection when accessing these two Controller types.

"},{"location":"orchard/architecture-and-security/#client","title":"Client","text":"

Client is associated with the Controller using a orchard context create command, which works as follows:

  • Client attempts to connect to the Controller and validate its certificate using host's root CA set (can be disabled with --no-pki)
  • if the Client encounters a Controller with a publicly valid certificate, that would be the last step and the association would succeed
  • if the Client is dealing with Controller with a self-signed certificate, the Client will do another connection attempt to probe the Controller's certificate
  • the probed Controller's certificate fingerprint is then presented to the user, and if the user agrees to trust it, the Client then considers that certificate to be trusted for a given context
  • Client finally connects to the Controller again with a trusted CA set containing only that certificate, executes the final API sanity checks, and if everything is OK then the association succeeds

Afterward, each interaction with the Controller (e.g. orchard create vm command) will stick to the chosen verification method and will re-verify the presented Controller's certificate against:

  • Controller with a self-signed certificate: a trusted certificate stored in the Orchard's configuration file
  • Controller with a publicly valid certificate: host's root CA set
"},{"location":"orchard/architecture-and-security/#worker","title":"Worker","text":"

To make the Worker connect to the Controller, a Bootstrap Token needs to be obtained using the orchard get bootstrap-token command.

While this approach provides a less ad-hoc experience than that you'd have with orchard context create, it allows one to mass-deploy workers non-interactively, using tools such as Ansible.

This resulting Bootstrap Token will either include the Controller's certificate (when the current context is with a Controller with a self-signed certificate) or omit it (when the current context is with a Controller with a publicly valid certificate).

The way Worker connects to the Controller using the orchard worker run command is as follows:

  • when the Bootstrap Token contains the Controller's certificate:
    • the Orchard Worker will try to connect to the Controller with a trusted CA set containing only that certificate
  • when the Bootstrap Token has no Controller's certificate:
    • the Orchard Worker will try the PKI approach (can be disabled with --no-pki to effectively prevent the Worker from connecting) and fail if certificate verification using PKI is not possible
"},{"location":"orchard/architecture-and-security/#-no-pki-override","title":"--no-pki override","text":"

If you only intend to access the Controller with a self-signed certificate and want to additionally guard yourself against CA compromises and other PKI-specific attacks, pass a --no-pki command-line argument to the following commands:

  • orchard context create --no-pki
    • this will prevent the Client from using PKI and will let you interactively verify the Controller's certificate fingerprint before connecting, thus creating a non-PKI association
  • orchard worker run --no-pki
    • this will prevent the Worker from trying to use PKI when connecting to the Controller using a Bootstrap Token that has no certificate included in it, thus failing fast and letting you know that you need to create a proper Bootstrap Token

We've deliberately chosen not to use environment variables (e.g. ORCHARD_NO_PKI) because they fail silently (e.g. due to a typo), compared to command-line arguments, which will result in an error that is much easier to detect.

"},{"location":"orchard/deploying-controller/","title":"Deploying Controller","text":""},{"location":"orchard/deploying-controller/#introduction","title":"Introduction","text":"

Compared to Worker, which can only be deployed on a macOS machine, Controller can be also deployed on Linux.

In fact, we've made a container image to ease deploying the Controller in container-native environments such as Kubernetes.

Another thing to keep in mind that Orchard API is secured by default: all requests must be authenticated with the credentials of a service account. When you first run Orchard Controller, a bootstrap-admin service account will be created automatically and credentials will be printed to the standard output.

If you already have a token in mind that you want to use for the bootstrap-admin service account, or you've got locked out and want this service account with a well-known password back, you can set the ORCHARD_BOOTSTRAP_ADMIN_TOKEN when running the controller.

For example to use a secure, random value:

ORCHARD_BOOTSTRAP_ADMIN_TOKEN=$(openssl rand -hex 32) orchard controller run\n
"},{"location":"orchard/deploying-controller/#deployment-methods","title":"Deployment Methods","text":"

While you can always start orchard controller run manually with the required arguments, this method is not recommended due to lack of persistence.

In the following sections you'll find several examples of how to run Orchard Controller in various environments in a more persistent way. Feel free to submit PRs with more examples.

"},{"location":"orchard/deploying-controller/#google-compute-engine","title":"Google Compute Engine","text":"

An example below will deploy a single instance of Orchard Controller in Google Cloud Compute Engine in us-central1 region.

First, let's create a static IP address for our instance:

gcloud compute addresses create orchard-ip --region=us-central1\nexport ORCHARD_IP=$(gcloud compute addresses describe orchard-ip --format='value(address)' --region=us-central1)\n

Once we have the IP address, we can create a new instance with Orchard Controller running inside a container:

gcloud compute instances create-with-container orchard-controller \\\n  --machine-type=e2-micro \\\n  --zone=us-central1-a \\\n  --image-family cos-stable \\\n  --image-project cos-cloud \\\n  --tags=https-server \\\n  --address=$ORCHARD_IP \\\n  --container-image=ghcr.io/cirruslabs/orchard:latest \\\n  --container-env=PORT=443 \\\n  --container-env=ORCHARD_BOOTSTRAP_ADMIN_TOKEN=$ORCHARD_BOOTSTRAP_ADMIN_TOKEN \\\n  --container-mount-host-path=host-path=/home/orchard-data,mode=rw,mount-path=/data\n

Now you can create a new context for your local client:

orchard context create --name production \\\n  --service-account-name bootstrap-admin \\\n  --service-account-token $ORCHARD_BOOTSTRAP_ADMIN_TOKEN \\\n  https://$ORCHARD_IP:443\n

And select it as the default context:

orchard context default production\n
"},{"location":"orchard/deploying-controller/#kubernetes-gke-eks-etc","title":"Kubernetes (GKE, EKS, etc.)","text":"

The easiest way to run Orchard Controller on Kubernetes is to expose it through the LoadBalancer service.

This way no fiddling with the TLS certificates and HTTP proxying is needed, and most cloud providers will allocate a ready-to-use IP-address that can directly used in orchard context create and orchard worker run commands, or additionally assigned to a DNS domain name for a more memorable hostname.

Do deploy on Kubernetes, only three resources are needed:

apiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  name: orchard-controller\nspec:\n  accessModes:\n    - ReadWriteOnce\n  resources:\n    requests:\n      storage: 1Gi\n  # Uncomment this when deploying on Amazon's EKS and\n  # change to the desired storage class name if needed\n  # storageClassName: gp2\n---\napiVersion: apps/v1\nkind: StatefulSet\nmetadata:\n  name: orchard-controller\nspec:\n  serviceName: orchard-controller\n  replicas: 1\n  selector:\n    matchLabels:\n      app: orchard-controller\n  template:\n    metadata:\n      labels:\n        app: orchard-controller\n    spec:\n      containers:\n        - name: orchard-controller\n          image: ghcr.io/cirruslabs/orchard:latest\n          volumeMounts:\n            - mountPath: /data\n              name: orchard-controller\n      volumes:\n        - name: orchard-controller\n          persistentVolumeClaim:\n            claimName: orchard-controller\n---\napiVersion: v1\nkind: Service\nmetadata:\n  name: orchard-controller\nspec:\n  selector:\n    app: orchard-controller\n  ports:\n    - protocol: TCP\n      port: 6120\n      targetPort: 6120\n  type: LoadBalancer\n

Once deployed, the bootstrap credentials will be printed to the standard output. You can inspect them by running kubectl logs deployment/orchard-controller.

The resources above ensure that Controller's database is stored in a persistent storage and survives restats.

You can further allocate a static IP address and use it by adding annotations to the Service resource. Here's how to do that:

  • on Google's GKE: https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer-parameters#spd-static-ip
  • on Amazon's EKS: https://kubernetes.io/docs/reference/labels-annotations-taints/#service-beta-kubernetes-io-aws-load-balancer-eip-allocations
"},{"location":"orchard/deploying-controller/#systemd-service-on-debian-based-distributions","title":"systemd service on Debian-based distributions","text":"

This should work for most Debian-based distributions like Debian, Ubuntu, etc.

Firstly, make sure that the APT transport for downloading packages via HTTPS and common X.509 certificates are installed:

sudo apt-get update && sudo apt-get -y install apt-transport-https ca-certificates\n

Then, add the Cirrus Labs repository:

echo \"deb [trusted=yes] https://apt.fury.io/cirruslabs/ /\" | sudo tee /etc/apt/sources.list.d/cirruslabs.list\n

Update the package index files and install the Orchard Controller:

sudo apt-get update && sudo apt-get -y install orchard-controller\n

Finally, enable and start the Orchard Controller systemd service:

sudo systemctl enable orchard-controller\nsudo systemctl start orchard-controller\n

The bootstrap credentials will be printed to the standard output. You can inspect them by running sudo systemctl status orhcard-controller or journalctl -u orchard-controller.

"},{"location":"orchard/deploying-controller/#systemd-service-on-rpm-based-distributions","title":"systemd service on RPM-based distributions","text":"

This should work for most RPM-based distributions like Fedora, CentOS, etc.

First, create a /etc/yum.repos.d/cirruslabs.repo file with the following contents:

[cirruslabs]\nname=Cirrus Labs Repo\nbaseurl=https://yum.fury.io/cirruslabs/\nenabled=1\ngpgcheck=0\n

Then, install the Orchard Controller:

sudo yum -y install orchard-controller\n

Finally, enable and start the Orchard Controller systemd service:

systemctl enable orchard-controller\nsystemctl start orchard-controller\n

The bootstrap credentials will be printed to the standard output. You can inspect them by running sudo systemctl status orhcard-controller or journalctl -u orchard-controller.

"},{"location":"orchard/deploying-workers/","title":"Deploying Workers","text":""},{"location":"orchard/deploying-workers/#obtain-a-boostrap-token","title":"Obtain a Boostrap Token","text":"

First, create a service account with a minimal set of roles (compute:read and compute:write) required for proper Worker functioning:

orchard create service-account worker-pool-m1 --roles \"compute:read\" --roles \"compute:write\"\n

Then, generate a Bootstrap Token for this service account:

orchard get bootstrap-token worker-pool-m1\n

We will reference the value of the Bootstrap Token generated here as ${BOOTSTRAP_TOKEN} below.

Further, we assume that Orchard controller is available on orchard.example.com

"},{"location":"orchard/deploying-workers/#deployment-methods","title":"Deployment Methods","text":"

While you can always run orchard worker run manually with the required arguments, this method of deploying the Worker is not recommended.

Instead, we've listed a more persistent methods of a Worker deployment below.

"},{"location":"orchard/deploying-workers/#launchd","title":"launchd","text":"

launchd is an init system for macOS that manages daemons, agents and other background processes.

In this deployment method, we'll create a new job definition file for the launchd to manage on its behalf.

To begin, first install Orchard:

brew install cirruslabs/cli/orchard\n

Ensure that the following command:

which orchard\n

...yields /opt/homebrew/bin/orchard. If not, you'll need to replace all of the occurences of /opt/homebrew/bin/orchard in the job definition below.

Then, create a launchd job definition in /Library/LaunchDaemons/org.cirruslabs.orchard.worker.plist with the following contents:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n  <dict>\n    <key>Label</key>\n    <string>org.cirruslabs.orchard.worker</string>\n    <key>UserName</key>\n    <string>admin</string>\n    <key>Program</key>\n    <string>/opt/homebrew/bin/orchard</string>\n    <key>ProgramArguments</key>\n    <array>\n      <string>/opt/homebrew/bin/orchard</string>\n      <string>worker</string>\n      <string>run</string>\n      <string>--bootstrap-token</string>\n      <string>${BOOTSTRAP_TOKEN}</string>\n      <string>orchard.example.com</string>\n    </array>\n    <key>EnvironmentVariables</key>\n    <dict>\n      <key>PATH</key>\n      <string>/bin:/usr/bin:/usr/local/bin:/opt/homebrew/bin</string>\n    </dict>\n    <key>WorkingDirectory</key>\n    <string>/var/empty</string>\n    <key>RunAtLoad</key>\n    <true/>\n    <key>KeepAlive</key>\n    <true/>\n    <key>StandardOutPath</key>\n    <string>/Users/admin/orchard-launchd.log</string>\n    <key>StandardErrorPath</key>\n    <string>/Users/admin/orchard-launchd.log</string>\n  </dict>\n</plist>\n

This assumes that your macOS user on the host is named admin. If not, change all occurrences of admin in the job definition above to $USER.

Finally, change the orchard.example.com to the FQDN or an IP-address of your Orchard Controller.

Now, you can start the job:

launchctl load -w /Library/LaunchDaemons/org.cirruslabs.orchard.worker.plist\n
"},{"location":"orchard/deploying-workers/#ansible","title":"Ansible","text":"

If you have a set of machines that you want to use as Orchard Workers, you can use Ansible to configure them.

We've created the cirruslabs/ansible-orchard repository with a basic Ansible playbook for convenient setup.

To use it, clone it locally:

git clone https://github.com/cirruslabs/ansible-orchard.git\ncd ansible-orchard/\n

Make sure that the Ansible Galaxy dependencies are installed:

ansible-galaxy install -r requirements.yml\n

Then, edit the production-pool file and populate the following fields:

  • hosts \u2014 replace worker-1.hosts.internal with your worker FQDN or IP-address and add more hosts if needed
  • ansible_user \u2014 set it macOS user on the host for the SSH to work
  • orchard_worker_user \u2014 set it macOS user on the host under which the Worker will run, e.g. admin
  • orchard_worker_controller_url \u2014 set it to FQDN or an IP-address of your Orchard Controller, for example, orchard.example.com
  • orchard_worker_bootstrap_token \u2014 set it to ${BOOTSTRAP_TOKEN} we've generated above

Deploy the playbook:

ansible-playbook --inventory-file production-pool --ask-pass playbook-workers.yml\n
"},{"location":"orchard/integration-guide/","title":"Integrating with the API","text":"

Orchard has a REST API that follows OpenAPI specification and is described in api/openapi.yaml.

You can run orchard dev locally and navigate to http://127.0.0.1:6120/v1/ for interactive documentation.

"},{"location":"orchard/integration-guide/#using-the-api","title":"Using the API","text":"

Below you'll find examples of using Orchard API via vanilla Python's request library and Golang package that Orchard CLI build on top of.

"},{"location":"orchard/integration-guide/#authentication","title":"Authentication","text":"

When running in non-development mode, Orchard API expects a basic access authentication to be provided for each API call.

Below you'll find two snippets that retrieve controller's information and output its version:

"},{"location":"orchard/integration-guide/#authentication-in-python","title":"Authentication in Python","text":"
import requests\nfrom requests.auth import HTTPBasicAuth\n\n\ndef main():\n  # Authentication\n  basic_auth = HTTPBasicAuth(\"service account name\", \"service account token\")\n\n  response = requests.get(\"http://127.0.0.1:6120/v1/info\", auth=basic_auth)\n\n  print(response.json()[\"version\"])\n\n\nif __name__ == '__main__':\n  main()\n
"},{"location":"orchard/integration-guide/#authentication-in-golang","title":"Authentication in Golang","text":"
package main\n\nimport (\n  \"context\"\n  \"fmt\"\n  \"github.com/cirruslabs/orchard/pkg/client\"\n  \"log\"\n)\n\nfunc main() {\n  client, err := client.New()\n  if err != nil {\n    log.Fatalf(\"failed to initialize Orchard API client: %v\", err)\n  }\n\n  controllerInfo, err := client.Controller().Info(context.Background())\n  if err != nil {\n    log.Fatalf(\"failed to retrieve controller's information: %v\", err)\n  }\n\n  fmt.Println(controllerInfo.Version)\n}\n

Note that we don't provide any credentials for Golang's version of the snippet: this is because Orchard's Golang API client (github.com/cirruslabs/orchard/pkg/client) has the ability to read the current's user Orchard context automatically.

"},{"location":"orchard/integration-guide/#creating-a-vm","title":"Creating a VM","text":"

A more intricate example would be spinning off a VM with a startup script that outputs date, reading its logs and removing it from the controller:

"},{"location":"orchard/integration-guide/#creating-a-vm-in-python","title":"Creating a VM in Python","text":"
import time\nimport uuid\n\nimport requests\nfrom requests.auth import HTTPBasicAuth\n\n\ndef main():\n  vm_name = str(uuid.uuid4())\n\n  basic_auth = HTTPBasicAuth(\"service account name\", \"service account token\")\n\n  # Create VM\n  response = requests.post(\"http://127.0.0.1:6120/v1/vms\", auth=basic_auth, json={\n    \"name\": vm_name,\n    \"image\": \"ghcr.io/cirruslabs/macos-sonoma-base:latest\",\n    \"cpu\": 4,\n    \"memory\": 4096,\n    \"startup_script\": {\n      \"script_content\": \"date\",\n    }\n  })\n  response.raise_for_status()\n\n  # Retrieve VM's logs\n  while True:\n    response = requests.get(f\"http://127.0.0.1:6120/v1/vms/{vm_name}/events\", auth=basic_auth)\n    response.raise_for_status()\n\n    result = response.json()\n\n    if isinstance(result, list) and len(result) != 0:\n      print(result[0][\"payload\"])\n      break\n\n    time.sleep(1)\n\n  # Delete VM\n  response = requests.delete(f\"http://127.0.0.1:6120/v1/vms/{vm_name}\", auth=basic_auth)\n  response.raise_for_status()\n\n\nif __name__ == '__main__':\n  main()\n
"},{"location":"orchard/integration-guide/#creating-a-vm-in-golang","title":"Creating a VM in Golang","text":"
package main\n\nimport (\n  \"context\"\n  \"fmt\"\n  \"github.com/cirruslabs/orchard/pkg/client\"\n  v1 \"github.com/cirruslabs/orchard/pkg/resource/v1\"\n  \"github.com/google/uuid\"\n  \"log\"\n  \"time\"\n)\n\nfunc main() {\n  vmName := uuid.New().String()\n\n  client, err := client.New()\n  if err != nil {\n    log.Fatalf(\"failed to initialize Orchard API client: %v\", err)\n  }\n\n  // Create VM\n  err = client.VMs().Create(context.Background(), &v1.VM{\n    Meta: v1.Meta{\n      Name: vmName,\n    },\n    Image:  \"ghcr.io/cirruslabs/macos-sonoma-base:latest\",\n    CPU:    4,\n    Memory: 4096,\n    StartupScript: &v1.VMScript{\n      ScriptContent: \"date\",\n    },\n  })\n  if err != nil {\n    log.Fatalf(\"failed to create VM: %v\")\n  }\n\n  // Retrieve VM's logs\n  for {\n    vmLogs, err := client.VMs().Logs(context.Background(), vmName)\n    if err != nil {\n      log.Fatalf(\"failed to retrieve VM logs\")\n    }\n\n    if len(vmLogs) != 0 {\n      fmt.Println(vmLogs[0])\n      break\n    }\n\n    time.Sleep(time.Second)\n  }\n\n  // Delete VM\n  if err := client.VMs().Delete(context.Background(), vmName); err != nil {\n    log.Fatalf(\"failed to delete VM: %v\", err)\n  }\n}\n
"},{"location":"orchard/integration-guide/#resource-management","title":"Resource management","text":"

Some resources, such as Worker and VM, have a resource field which is a dictionary that maps between resource names and their amounts (amount requested or amount provided, depending on the resource) and is useful for scheduling.

Well-known resources:

  • org.cirruslabs.tart-vms \u2014 number of Tart VM slots available on the machine or requested by the VM
    • this number is 2 for workers and 1 for VMs by default
"},{"location":"orchard/managing-cluster/","title":"Managing the Cluster","text":""},{"location":"orchard/managing-cluster/#backups","title":"Backups","text":"

In order to backup the Orchard Controller, simply copy its ORCHARD_HOME (which defaults to ~/.orchard/) directory somewhere safe and restore it when needed.

This directory contains a BadgerDB database that Controller uses to store state and an X.509 certificate with key.

"},{"location":"orchard/managing-cluster/#upgrades","title":"Upgrades","text":"

Since the Orchard's initial release, we've managed to maintain the backwards compatibility between versions up to this day, so generally, it doesn't matter whether you upgrade the Controller or Worker(s) first.

In case a new functionality is introduced, you might be required to finish the upgrade of both the Controller and the Worker(s) to be able to use it fully.

In case there will be backwards-incompatible changes introduced in the future, we will try to do our best and highlight this in the release notes accordingly.

"},{"location":"orchard/managing-cluster/#observability","title":"Observability","text":"

Both the Controller and Worker produce some useful OpenTelemetry metrics. Metrics are scoped with org.cirruslabs.orchard prefix and include information about resource utilization, statuses or Workers, scheduling/pull time and many more.

By default, the telemetry is sent to https://localhost:4317 using the gRPC protocol and to http://localhost:4318 using the HTTP protocol.

You can override this by setting the standard OpenTelemetry environment variable OTEL_EXPORTER_OTLP_ENDPOINT.

Please refer to OTEL Collector documentation for instruction on how to setup a sidecar for the metrics collections or find out if your SaaS monitoring has an available OTEL endpoint (see Honeycomb as an example).

"},{"location":"orchard/managing-cluster/#sending-metrics-to-google-cloud-platform","title":"Sending metrics to Google Cloud Platform","text":"

There are two standard options of ingesting metrics procuded by Orchard Controller and Workers into the GCP:

  • OpenTelemetry Collector + Google Cloud Exporter \u2014 open-source solution that can be later re-purposed to send metrics to any OTLP-compatible endpoint by swapping a single exporter
  • Ops Agent \u2014 Google-backed solution with a syntax similar to OpenTelemetry Collector, but tied to GCP-only
"},{"location":"orchard/quick-start/","title":"Quick Start","text":"

Tart is great for running workloads on a single machine, but what if you have more than one computer at your disposal and a couple of VMs is not enough anymore for your needs? This is where Orchard comes in to play!

It allows you to orchestrate multiple Tart-capable hosts from either an Orchard CLI (which we demonstrate below) or through the API.

The easiest way to start is to run Orchard in local development mode:

brew install cirruslabs/cli/orchard\norchard dev\n

This will run an Orchard Controller and an Orchard Worker in a single process on your local machine, allowing you to test both the CLI functionality and the API from a tool like cURL or programming language of choice, without the need to authenticate requests.

Note that in production deployments, these two components are started separately and enable security by default. Please refer to Deploying Controller and Deploying Workers for more information.

"},{"location":"orchard/quick-start/#creating-virtual-machines","title":"Creating Virtual Machines","text":"

Now, let's create a Virtual Machine:

orchard create vm --image ghcr.io/cirruslabs/macos-sonoma-base:latest sonoma-base\n

You can check a list of VM resources to see if the Virtual Machine we've created above is already running:

orchard list vms\n
"},{"location":"orchard/quick-start/#accessing-virtual-machines","title":"Accessing Virtual Machines","text":"

Orchard has an ability to do port forwarding that ssh and vnc commands are built on top of. All port forwarding connections are done via the Orchard Controller instance which \"proxies\" a secure connection to the Orchard Workers.

Therefore, your workers can be located under a stricter firewall that only allows connections to the Orchard Controller instance. Orchard Controller instance is secured by default and all API calls are authenticated and authorized.

"},{"location":"orchard/quick-start/#ssh","title":"SSH","text":"

To SSH into a VM, use the orchard ssh command:

orchard ssh vm sonoma-base\n

You can specify the --username and --password flags to specify the username/password pair to use for the SSH protocol. By default, admin/admin is used.

You can also execute remote commands instead of spawning a login shell, similarly to how OpenSSH's ssh command accepts a command argument:

orchard ssh vm sonoma-base \"uname -a\"\n

You can execute scripts remotely this way, by telling the remote command-line interpreter to read from the standard input and using the redirection operator as follows:

orchard ssh vm sonoma-base \"bash -s\" < script.sh\n
"},{"location":"orchard/quick-start/#vnc","title":"VNC","text":"

Similarly to ssh command, you can use vnc command to open Screen Sharing into a remote VM:

orchard vnc vm sonoma-base\n

You can specify the --username and --password flags to specify the username/password pair to use for the VNC protocol. By default, admin/admin is used.

"},{"location":"orchard/quick-start/#deleting-virtual-machines","title":"Deleting Virtual Machines","text":"

The following command will delete the VM we've created above and clean-up the resources associated with it:

orchard delete vm sonoma-base\n
"},{"location":"orchard/quick-start/#environment-variables","title":"Environment variables","text":"

In addition to controlling the Orchard via the CLI arguments, there are environment variables that may be beneficial both when automating Orchard and in daily use:

Variable name Description ORCHARD_HOME Override Orchard's home directory. Useful when running multiple Orchard instances on the same host and when testing. ORCHARD_LICENSE_TIER The default license limit only allows connecting 4 Orchard Workers to the Orchard Controller. If you've purchased a Gold Tier License, set this variable to gold to increase the limit to 20 Orchard Workers. And if you've purchased a Platinum Tier License, set this variable to platinum to increase the limit to 200 Orchard Workers. ORCHARD_URL Override controller URL on per-command basis. ORCHARD_SERVICE_ACCOUNT_NAME Override service account name (used for controller API auth) on per-command basis. ORCHARD_SERVICE_ACCOUNT_TOKEN Override service account token (used for controller API auth) on per-command basis."},{"location":"blog/archive/2024/","title":"2024","text":""},{"location":"blog/archive/2023/","title":"2023","text":""},{"location":"blog/category/orchard/","title":"orchard","text":""},{"location":"blog/category/announcement/","title":"announcement","text":""}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..f3078f84 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,143 @@ + + + + https://tart.run/ + 2024-10-23 + daily + + + https://tart.run/faq/ + 2024-10-23 + daily + + + https://tart.run/licensing/ + 2024-10-23 + daily + + + https://tart.run/quick-start/ + 2024-10-23 + daily + + + https://tart.run/blog/ + 2024-10-23 + daily + + + https://tart.run/blog/2023/02/11/changing-tart-license/ + 2024-10-23 + daily + + + https://tart.run/blog/2023/04/25/announcing-orchard-orchestration-for-managing-macos-virtual-machines-at-scale/ + 2024-10-23 + daily + + + https://tart.run/blog/2023/04/28/ssh-over-grpc-or-how-orchard-simplifies-accessing-vms-in-private-networks/ + 2024-10-23 + daily + + + https://tart.run/blog/2023/09/20/tart-200-and-community-updates/ + 2024-10-23 + daily + + + https://tart.run/blog/2023/10/06/tart-is-now-available-on-aws-marketplace/ + 2024-10-23 + daily + + + https://tart.run/blog/2023/11/03/new-dashboard-with-insights-into-performance-of-cirrus-runners/ + 2024-10-23 + daily + + + https://tart.run/blog/2024/06/20/jumping-through-the-hoops-ssh-jump-host-functionality-in-orchard/ + 2024-10-23 + daily + + + https://tart.run/integrations/buildkite/ + 2024-10-23 + daily + + + https://tart.run/integrations/cirrus-cli/ + 2024-10-23 + daily + + + https://tart.run/integrations/gitlab-runner/ + 2024-10-23 + daily + + + https://tart.run/integrations/vm-management/ + 2024-10-23 + daily + + + https://tart.run/legal/privacy/ + 2024-10-23 + daily + + + https://tart.run/legal/terms/ + 2024-10-23 + daily + + + https://tart.run/orchard/architecture-and-security/ + 2024-10-23 + daily + + + https://tart.run/orchard/deploying-controller/ + 2024-10-23 + daily + + + https://tart.run/orchard/deploying-workers/ + 2024-10-23 + daily + + + https://tart.run/orchard/integration-guide/ + 2024-10-23 + daily + + + https://tart.run/orchard/managing-cluster/ + 2024-10-23 + daily + + + https://tart.run/orchard/quick-start/ + 2024-10-23 + daily + + + https://tart.run/blog/archive/2024/ + 2024-10-23 + daily + + + https://tart.run/blog/archive/2023/ + 2024-10-23 + daily + + + https://tart.run/blog/category/orchard/ + 2024-10-23 + daily + + + https://tart.run/blog/category/announcement/ + 2024-10-23 + daily + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 00000000..31728dd5 Binary files /dev/null and b/sitemap.xml.gz differ diff --git a/stylesheets/extra.css b/stylesheets/extra.css new file mode 100644 index 00000000..ede6e613 --- /dev/null +++ b/stylesheets/extra.css @@ -0,0 +1,34 @@ +/* Remove default title on the page */ +.md-content__inner h1:first-child { + display: none; +} + +/* Adjust to 2px to align with the title */ +.md-logo { + padding-top: 6px; +} + +.btn { + border: none; + padding: 14px 28px; + cursor: pointer; + display: inline-block; + + background: #009688; + color: white; +} + +.btn:hover { + background: #00bfa5; + color: white; +} + +.center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.text-center { + text-align: center; +} diff --git a/stylesheets/landing.css b/stylesheets/landing.css new file mode 100644 index 00000000..7e2b531a --- /dev/null +++ b/stylesheets/landing.css @@ -0,0 +1,305 @@ +.tx-container { + background: linear-gradient( + to bottom, + var(--md-primary-fg-color), + var(--md-default-bg-color) 100% + ); +} +[data-md-color-scheme="slate"] .tx-container { + background: linear-gradient( + to bottom, + var(--md-primary-fg-color), + var(--md-default-bg-color) 100% + ); +} + +.tx-landing { + margin: 0 0.8rem; + color: var(--md-primary-bg-color); +} + +.tx-landing__logos { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; +} + +.tx-landing__quote { + display: flex; + border-radius: 1em; + padding: 1em 1em 5em 1em; + text-align: center; + background: var(--md-primary-fg-color); +} + +.tx-landing__quote blockquote { + border: 0; + color: #fff; +} + +.tx-landing__quotes figure { + margin: 2em auto 2em auto; +} + +.tx-landing__logos img { + height: 8vh; + max-height: 81px; /* max height of images */ + width: auto; + margin: 2vh; + vertical-align: middle; +} + +.tx-landing__quote a img { + height: 6vh; + max-height: 81px; /* max height of images */ + display: block; + margin-left: auto; + margin-right: auto; +} + +.tx-landing__content p a { + color: inherit; + text-decoration: underline; +} +.tx-landing__content p a:hover { + color: darkblue; + text-decoration: underline; +} + +.tx-landing .md-button { + margin-top: 0.5rem; + margin-right: 0.5rem; + color: var(--md-primary-bg-color); +} +.tx-landing .md-button:hover, +.tx-landing .md-button:focus { + color: var(--md-default-bg-color); + background-color: var(--md-default-fg-color); + border-color: var(--md-default-fg-color); +} + +.tx-landing__testimonials { + width: 100%; + text-align: center; +} + +.tx-landing h1 { + margin-bottom: 1rem; + color: currentColor; + font-weight: 700; +} + +.md-typeset h2 + h3 { + font-size: 1em; + margin-top: -0.8em; +} + +.md-typeset figure { + display: flex; +} + +.md-content header { + display: block; +} + +.mdx-spotlight { + margin: 2em 0; +} + +.mdx-spotlight__feature { + display: flex; + flex: 1 0 48%; + flex-flow: row nowrap; + gap: 3.2rem; + margin: 0 0 3.2rem; +} +.mdx-spotlight__feature:last-child { + margin-bottom: 1em; +} + +.mdx-spotlight__feature > img { + display: block; + flex-shrink: 0; + border-radius: 0.2rem; + box-shadow: var(--md-shadow-z2); + width: 25rem; + max-width: 100%; +} + +.mdx-spotlight__feature > #lottie-player { + display: block; + flex-shrink: 0; + border-radius: 0.2rem; + box-shadow: var(--md-shadow-z2); + width: 25rem; + max-width: 100%; + background-color: rgb(5 62 94); +} + +.mdx-spotlight__feature figcaption { + margin-top: 0.8rem; +} + +.mdx-parallax__group { + background-color: var(--md-default-bg-color); + color: var(--md-typeset-color); + display: block; + position: relative; + transform-style: preserve-3d; +} +.mdx-parallax__group:first-child { + background-color: initial; + contain: strict; + height: 140vh; +} +.mdx-parallax__group:last-child { + background-color: var(--md-default-bg-color); +} + +.mdx-installations { + display: block; +} + +.mdx-users { + display: flex; + gap: 3.2rem; + margin: 2.4rem 0; +} + +.mdx-users__testimonial { + display: flex; + flex: 1; + flex-direction: column; + gap: 1.2rem; + margin: 0; + text-align: center; +} + +.mdx-users__testimonial img { + border-radius: 5rem; + height: auto; + margin-left: auto; + margin-right: auto; + width: 10rem; +} + +.mdx-users__testimonial figcaption { + display: block; +} + +.mdx-users__testimonial hr { + margin-left: auto; + margin-right: auto; + width: 5rem; +} + +.mdx-users__testimonial cite { + display: block; + -webkit-hyphens: auto; + hyphens: auto; + text-align: justify; +} + +/* General media */ +@media screen and (max-width: 30em) { + .tx-landing h1 { + font-size: 1.4rem; + } +} + +@media screen and (max-width: 59.9375em) { + .mdx-spotlight__feature { + flex-direction: column; + gap: 0; + } + + .mdx-spotlight__feature > img { + margin-left: auto; + margin-right: auto; + height: auto; + } + + .mdx-users { + flex-direction: column; + } + + /* Reset one padding between sections */ + .md-content__inner-testimonials { + padding: 0px 0px 2.2rem !important; + } +} + +@media screen and (min-width: 60em) { + .tx-container { + padding-bottom: 7vw; + } + + .tx-landing { + display: flex; + align-items: stretch; + height: 85%; + } + + .tx-landing__content { + align-self: center; + max-width: 19rem; + margin-top: 3.5rem; + } + + .tx-landing__image { + order: 1; + width: 38rem; + } + + .tx-landing__quotes { + margin: 1em 5em; + } + + .mdx-spotlight__feature:nth-child(odd) { + flex-direction: row-reverse; + } +} + +/* Extra media for .mdx-parallax__group:first-child */ +@media (min-width: 125vh) { + .mdx-parallax__group:first-child { + height: 120vw; + } +} + +@media (min-width: 137.5vh) { + .mdx-parallax__group:first-child { + height: 125vw; + } +} + +@media (min-width: 150vh) { + .mdx-parallax__group:first-child { + height: 130vw; + } +} + +@media (min-width: 162.5vh) { + .mdx-parallax__group:first-child { + height: 135vw; + } +} + +@media (min-width: 175vh) { + .mdx-parallax__group:first-child { + height: 140vw; + } +} + +@media (min-width: 187.5vh) { + .mdx-parallax__group:first-child { + height: 145vw; + } +} + +@media (min-width: 200vh) { + .mdx-parallax__group:first-child { + height: 150vw; + } +} diff --git a/theme/overrides/home.html b/theme/overrides/home.html new file mode 100644 index 00000000..09d0d0cc --- /dev/null +++ b/theme/overrides/home.html @@ -0,0 +1,325 @@ +{% extends "base.html" %} + + +{% block tabs %} {{ super() }} + + + + + + + + +
+
+
+ +
+ +
+ + +
+

+ Tart is a virtualization toolset to build, run and + manage macOS and Linux virtual machines on + Apple Silicon. +

+ + Learn More + +
+
+
+
+ + +
+
+
+
+

+ Virtualization and beyond + + ¶ + +

+
+
+
+ Apple’s native Virtualization.Framework +
+

Native performance

+

+ Tart is using Apple’s native + Virtualization.Framework that was developed along with + architecting the first M1 chip. This seamless integration + between hardware and software ensures smooth performance without + any drawbacks. +

+
+
+
+ OCI-compatible container registries +
+

Remote storage for Virtual Machines

+

+ For storing virtual machine images Tart integrates with + OCI-compatible container registries. Work with virtual machines as + you used to with Docker containers. +

+
+
+
+ GitHub Actions Runners +
+

Seamless integration with your existing automations

+

+ Tart integrates with many continuous integration systems, including a dedicated + service of on-demand GitHub Actions Runners. With a single line change, you can cut your + CI/CD costs by up to 30 times by using Cirrus + Runners + to run your workflows. +

+
+
+
+
+ +
+
+

Run at scale with Orchard

+

+ Tart toolset includes Orchard Orchestration — tool to run and manage Tart virtual + machines at scale on a cluster of Apple Silicon hosts. An Orchard Cluster exposes a simple REST API to + manage thousands virtual machines. Orchard CLI allows accessing remote virtual machines like they run + locally. +

+
+
+
+
+
+
+ +
+
+
+
+

+ Automation Powerhouse + + ¶ + +

+
+ +

+ With more than 25,000 installations to date, Tart has been + adopted for various scenarios. + Its applications range from powering CI/CD pipelines and reproducible local development environments, + to helping in the testing of device management systems without actual physical devices. +

+
+
+
+ + +
+
+
+
+

+ What our users say + + ¶ + +

+
+
+
+ Mikhail Tokarev +
+

+ Mikhail Tokarev, CTO at Codemagic +

+
+ + Thanks to the minimal overhead of using the Apple Virtualization + API, we’ve seen some performance improvements in booting new + virtual machines compared with Anka. + +
+
+
+ Expo +
+

+ Infrastructure Team at Expo +

+
+ + Tart was the practical way for us to use the Virtualization framework. Cirrus Labs’ + continued maintenance and support gives us confidence, and it is also important for us + to be able to read the source code when we need to understand an abstraction layer below. + +
+
+
+ Snowflake +
+

+ Red Team at Snowflake +

+
+ + The Snowflake Red Team had a need for macOS CI/CD and a segmented macOS development + environment. We solved this problem and shared our implementation with macOS EC2 and Tart. + We also automated this process with Terraform/Packer to simplify the deployment of our + infrastructure and machine images. + +
+
+
+
+
+
+{% endblock %}